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-pc-linux-gnu" %"struct.std::piecewise_construct_t" = type { i8 } %"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string::_Alloc_hider", i64, %union.anon } %"struct.std::__cxx11::basic_string::_Alloc_hider" = type { ptr } %union.anon = type { i64, [8 x i8] } %"class.std::allocator.24" = type { i8 } %class.ezSAT = type <{ ptr, i8, i8, i8, [5 x i8], %"class.std::map", %"class.std::vector", %"class.std::map.3", %"class.std::vector.9", i8, [3 x i8], i32, i32, [4 x i8], %"class.std::vector.14", %"class.std::vector.14", %"class.std::vector.19", %"class.std::vector.19", i32, i8, [3 x i8], i32, [4 x i8] }> %"class.std::map" = type { %"class.std::_Rb_tree" } %"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Rb_tree_impl" } %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" } %"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 } %"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr } %"class.std::vector" = type { %"struct.std::_Vector_base" } %"struct.std::_Vector_base" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" = type { ptr, ptr, ptr } %"class.std::map.3" = type { %"class.std::_Rb_tree.4" } %"class.std::_Rb_tree.4" = type { %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Rb_tree_impl" } %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" } %"class.std::vector.9" = type { %"struct.std::_Vector_base.10" } %"struct.std::_Vector_base.10" = type { %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl" } %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl" = type { %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data" } %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data" = type { ptr, ptr, ptr } %"class.std::vector.14" = type { %"struct.std::_Vector_base.15" } %"struct.std::_Vector_base.15" = type { %"struct.std::_Vector_base>::_Vector_impl" } %"struct.std::_Vector_base>::_Vector_impl" = type { %"struct.std::_Vector_base>::_Vector_impl_data" } %"struct.std::_Vector_base>::_Vector_impl_data" = type { ptr, ptr, ptr } %"class.std::vector.19" = type { %"struct.std::_Vector_base.20" } %"struct.std::_Vector_base.20" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" = type { ptr, ptr, ptr } %"struct.std::_Rb_tree_const_iterator" = type { ptr } %"class.__gnu_cxx::__normal_iterator.58" = type { ptr } %"struct.std::_Rb_tree_iterator" = type { ptr } %"struct.std::less" = type { i8 } %"class.std::tuple" = type { %"struct.std::_Tuple_impl" } %"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base" } %"struct.std::_Head_base" = type { ptr } %"class.std::tuple.59" = type { i8 } %"struct.std::pair.40" = type <{ %"class.std::__cxx11::basic_string", i32, [4 x i8] }> %"class.std::allocator.16" = type { i8 } %"class.__gnu_cxx::__normal_iterator" = type { ptr } %"class.__gnu_cxx::__normal_iterator.27" = type { ptr } %"struct.ezSAT::_V" = type { i32, %"class.std::__cxx11::basic_string" } %"struct.std::pair" = type { i32, %"class.std::vector.14" } %"struct.std::_Rb_tree_const_iterator.42" = type { ptr } %"struct.std::_Rb_tree_iterator.65" = type { ptr } %"struct.std::less.46" = type { i8 } %"struct.std::pair.43" = type <{ %"struct.std::pair", i32, [4 x i8] }> %"class.std::tuple.66" = type { %"struct.std::_Tuple_impl.67" } %"struct.std::_Tuple_impl.67" = type { %"struct.std::_Head_base.68" } %"struct.std::_Head_base.68" = type { ptr } %"class.__gnu_cxx::__normal_iterator.69" = type { ptr } %"class.__gnu_cxx::__normal_iterator.28" = type { ptr } %"class.__gnu_cxx::__normal_iterator.29" = type { ptr } %"struct.std::_Bit_const_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] } %"struct.std::_Bit_iterator_base.base" = type <{ ptr, i32 }> %"struct.std::_Bvector_base" = type { %"struct.std::_Bvector_base>::_Bvector_impl" } %"struct.std::_Bvector_base>::_Bvector_impl" = type { %"struct.std::_Bvector_base>::_Bvector_impl_data" } %"struct.std::_Bvector_base>::_Bvector_impl_data" = type { %"struct.std::_Bit_iterator", %"struct.std::_Bit_iterator", ptr } %"struct.std::_Bit_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] } %"struct.std::_Bit_iterator_base" = type <{ ptr, i32, [4 x i8] }> %"struct.std::_Bit_reference" = type { ptr, i64 } %"class.std::map.34" = type { %"class.std::_Rb_tree.35" } %"class.std::_Rb_tree.35" = type { %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Rb_tree_impl" } %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" } %"struct.std::_Rb_tree_iterator.70" = type { ptr } %"struct.std::less.50" = type { i8 } %"struct.std::_Rb_tree_const_iterator.71" = type { ptr } %"class.std::tuple.72" = type { %"struct.std::_Tuple_impl.73" } %"struct.std::_Tuple_impl.73" = type { %"struct.std::_Head_base.74" } %"struct.std::_Head_base.74" = type { ptr } %"struct.std::pair.54" = type <{ i32, i8, [3 x i8] }> %struct.ezSATbit = type <{ ptr, i32, [4 x i8] }> %struct.ezSATvec = type { ptr, %"class.std::vector.14" } %"struct.std::_Rb_tree_node" = type { %"struct.std::_Rb_tree_node_base", %"struct.__gnu_cxx::__aligned_membuf" } %"struct.__gnu_cxx::__aligned_membuf" = type { [40 x i8] } %"struct.std::_Rb_tree_node.48" = type { %"struct.std::_Rb_tree_node_base", %"struct.__gnu_cxx::__aligned_membuf.49" } %"struct.__gnu_cxx::__aligned_membuf.49" = type { [40 x i8] } %struct._Guard = type { ptr } %"struct.std::_Rb_tree_node.52" = type { %"struct.std::_Rb_tree_node_base", %"struct.__gnu_cxx::__aligned_membuf.53" } %"struct.__gnu_cxx::__aligned_membuf.53" = type { [8 x i8] } %struct._Guard.57 = type { ptr } %"struct.std::_Select1st" = type { i8 } %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node" = type { ptr, ptr } %"struct.std::pair.60" = type { ptr, ptr } %"struct.__gnu_cxx::__ops::_Iter_less_iter" = type { i8 } %"struct.__gnu_cxx::__ops::_Iter_less_val" = type { i8 } %"struct.__gnu_cxx::__ops::_Val_less_iter" = type { i8 } %"struct.std::_Select1st.63" = type { i8 } %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node" = type { ptr, ptr } %"class.std::move_iterator" = type { ptr } %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node" = type { ptr, ptr } %"struct.std::_Select1st.75" = type { i8 } $_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEC2Ev = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev = comdat any $_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEEC2Ev = comdat any $_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEC2Ev = comdat any $_ZNSt6vectorIiSaIiEEC2Ev = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2Ev = comdat any $_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_ = comdat any $_ZNSt15__new_allocatorIcED2Ev = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev = comdat any $_ZNSt6vectorIiSaIiEED2Ev = comdat any $_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EED2Ev = comdat any $_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEED2Ev = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev = comdat any $_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEED2Ev = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_ = comdat any $_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv = comdat any $_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE5countERS9_ = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_ = comdat any $_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEixERS9_ = comdat any $_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE2atERS9_ = comdat any $_ZNSaIiEC2Ev = comdat any $_ZNSt6vectorIiSaIiEEC2EmRKS0_ = comdat any $_ZNSt6vectorIiSaIiEEixEm = comdat any $_ZNSt6vectorIiSaIiEE7reserveEm = comdat any $_ZNKSt6vectorIiSaIiEE4sizeEv = comdat any $_ZNKSt6vectorIiSaIiEE5beginEv = comdat any $_ZNKSt6vectorIiSaIiEE3endEv = comdat any $_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv = comdat any $_ZNSt6vectorIiSaIiEE9push_backERKi = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv = comdat any $_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_ = comdat any $_ZNSt6vectorIiSaIiEE5beginEv = comdat any $_ZNSt6vectorIiSaIiEE3endEv = comdat any $_ZNSt6vectorIiSaIiEE6resizeEm = comdat any $_ZN5ezSAT3NOTENS_2_VE = comdat any $_ZN5ezSAT2_VC2Ei = comdat any $_ZN5ezSAT2_VD2Ev = comdat any $_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2IRS1_RS4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISA_SB_EEEbE4typeELb1EEEOSA_OSB_ = comdat any $_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE5countERS9_ = comdat any $_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE2atERS9_ = comdat any $_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv = comdat any $_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEEixERS9_ = comdat any $_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE9push_backERKS5_ = comdat any $_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEED2Ev = comdat any $_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm = comdat any $_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEixEm = comdat any $_ZNSt6vectorIiSaIiEEaSERKS1_ = comdat any $_ZNKSt6vectorIiSaIiEEixEm = comdat any $_ZNSt6vectorIiSaIiEE5clearEv = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE5clearEv = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backEOS1_ = comdat any $_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_ = comdat any $_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv = comdat any $_ZNSt6vectorIiSaIiEE9push_backEOi = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backERKS1_ = comdat any $_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_ = comdat any $_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_ = comdat any $_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_ = comdat any $_ZNSt6vectorIiSaIiEE4swapERS1_ = comdat any $_ZNSt6vectorIiSaIiEE2atEm = comdat any $_ZNK5ezSAT13mode_keep_cnfEv = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEES8_NS6_IPKS1_S3_EET_SC_ = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2IPS3_vEERKNS0_IT_S7_EE = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE4swapERS3_ = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEvEENS6_IPS1_S3_EES9_T_SC_ = comdat any $_ZNKSt6vectorIS_IiSaIiEESaIS1_EE5beginEv = comdat any $_ZNKSt6vectorIS_IiSaIiEESaIS1_EE3endEv = comdat any $_ZNK5ezSAT20mode_non_incrementalEv = comdat any $_ZNKSt6vectorIbSaIbEE5beginEv = comdat any $_ZNKSt6vectorIbSaIbEE3endEv = comdat any $_ZStneRKSt18_Bit_iterator_baseS1_ = comdat any $_ZNKSt19_Bit_const_iteratordeEv = comdat any $_ZNSt19_Bit_const_iteratorppEv = comdat any $_ZN5ezSAT3VARENS_2_VE = comdat any $_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_ = comdat any $_ZN5ezSAT2_VC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE = comdat any $_ZNKSt6vectorIiSaIiEE4backEv = comdat any $_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_ = comdat any $_ZN5ezSAT3IFFENS_2_VES0_S0_S0_S0_S0_ = comdat any $_ZN5ezSAT3ITEENS_2_VES0_S0_ = comdat any $_ZNSt6vectorIiSaIiEEaSEOS1_ = comdat any $_ZSt3minIiERKT_S2_S2_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEplEl = comdat any $_ZNSt6vectorIiSaIiEEC2IN9__gnu_cxx17__normal_iteratorIPKiS1_EEvEET_S8_RKS0_ = comdat any $_ZNSt6vectorIiSaIiEEC2ERKS1_ = comdat any $_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEEC2Ev = comdat any $_ZNKSt6vectorIbSaIbEEixEm = comdat any $_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEEixERS3_ = comdat any $_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE2atERS3_ = comdat any $_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEED2Ev = comdat any $_ZN5ezSAT3SETENS_2_VES0_ = comdat any $_ZN5ezSAT2_VC2ERKS0_ = comdat any $_ZN8ezSATbitC2ER5ezSATNS0_2_VE = comdat any $_ZN8ezSATvecC2ER5ezSATRKSt6vectorIiSaIiEE = comdat any $_ZNKSt6vectorIS_IiSaIiEESaIS1_EE4sizeEv = comdat any $_ZN9__gnu_cxxneIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv = comdat any $_ZSt3maxIiERKT_S2_S2_ = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv = comdat any $_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE5beginEv = comdat any $_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv = comdat any $_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_ = comdat any $_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv = comdat any $_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEppEv = comdat any $_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE5beginEv = comdat any $_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE3endEv = comdat any $_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_ = comdat any $_ZNKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv = comdat any $_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEppEv = comdat any $_ZN9__gnu_cxxneIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv = comdat any $_ZNKSt6vectorIiSaIiEE5emptyEv = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2Ev = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev = comdat any $_ZNSaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEC2Ev = comdat any $_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2Ev = comdat any $_ZNSt15_Rb_tree_headerC2Ev = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEC2Ev = comdat any $_ZNSt15_Rb_tree_header8_M_resetEv = comdat any $__clang_call_terminate = comdat any $_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev = comdat any $_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC2Ev = comdat any $_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev = comdat any $_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC2Ev = comdat any $_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EEC2Ev = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev = comdat any $_ZNSaISt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEC2Ev = comdat any $_ZNSt20_Rb_tree_key_compareISt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2Ev = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEC2Ev = comdat any $_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EEC2Ev = comdat any $_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE12_Vector_implC2Ev = comdat any $_ZNSaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEC2Ev = comdat any $_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE17_Vector_impl_dataC2Ev = comdat any $_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEC2Ev = comdat any $_ZNSt12_Vector_baseIiSaIiEEC2Ev = comdat any $_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2Ev = comdat any $_ZNSt15__new_allocatorIiEC2Ev = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EEC2Ev = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implC2Ev = comdat any $_ZNSaISt6vectorIiSaIiEEEC2Ev = comdat any $_ZNSt15__new_allocatorISt6vectorIiSaIiEEEC2Ev = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EED2Ev = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_beginEv = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEED2Ev = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE7destroyIS9_EEvRSB_PT_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE21_M_get_Node_allocatorEv = comdat any $_ZNSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE7destroyIS9_EEvPT_ = comdat any $_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiED2Ev = comdat any $_ZN9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE6_M_ptrEv = comdat any $_ZN9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE7_M_addrEv = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE10deallocateERSB_PSA_m = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE10deallocateEPSA_m = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE9_M_mbeginEv = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED2Ev = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEED2Ev = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE7destroyIS9_EEvRSB_PT_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv = comdat any $_ZNSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE7destroyIS9_EEvPT_ = comdat any $_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiED2Ev = comdat any $_ZN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE6_M_ptrEv = comdat any $_ZN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE7_M_addrEv = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE10deallocateERSB_PSA_m = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE10deallocateEPSA_m = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE9_M_mbeginEv = comdat any $_ZN5ezSAT2_V3getEPS_ = comdat any $_ZSteqRKSt18_Bit_iterator_baseS1_ = comdat any $_ZNSt14_Bit_referenceC2EPmm = comdat any $_ZNKSt14_Bit_referencecvbEv = comdat any $_ZNSt18_Bit_iterator_base10_M_bump_upEv = comdat any $_ZNSt7__cxx119to_stringEi = comdat any $_ZNSt8__detail14__to_chars_lenIjEEjT_i = comdat any $_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_ = comdat any $_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_ = comdat any $_ZNSt19__ptr_traits_ptr_toIPccLb0EE10pointer_toERc = comdat any $_ZNSt15__new_allocatorIcEC2ERKS0_ = comdat any $_ZN9__gnu_cxx14__alloc_traitsISaIcEcE17_S_select_on_copyERKS1_ = comdat any $_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag = comdat any $_ZNSt16allocator_traitsISaIcEE37select_on_container_copy_constructionERKS0_ = comdat any $_ZSt8distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_ = comdat any $_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagEN6_GuardC2EPS4_ = comdat any $_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagEN6_GuardD2Ev = comdat any $_ZSt10__distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag = comdat any $_ZSt19__iterator_categoryIPcENSt15iterator_traitsIT_E17iterator_categoryERKS2_ = comdat any $_ZNSt11char_traitsIcE6assignERcRKc = comdat any $_ZNSt11char_traitsIcE4copyEPcPKcm = comdat any $_ZNSt19__ptr_traits_ptr_toIPKcS0_Lb0EE10pointer_toERS0_ = comdat any $_ZNSt16allocator_traitsISaIcEE10deallocateERS0_Pcm = comdat any $_ZNSt15__new_allocatorIcE10deallocateEPcm = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EEC2Ev = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev = comdat any $_ZNSaISt13_Rb_tree_nodeISt4pairIKibEEEC2Ev = comdat any $_ZNSt20_Rb_tree_key_compareISt4lessIiEEC2Ev = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEEC2Ev = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EED2Ev = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_beginEv = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEED2Ev = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE7_S_leftEPSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS2_E = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS2_E = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS2_E = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE7destroyIS3_EEvRS5_PT_ = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE21_M_get_Node_allocatorEv = comdat any $_ZNSt13_Rb_tree_nodeISt4pairIKibEE9_M_valptrEv = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE7destroyIS3_EEvPT_ = comdat any $_ZN9__gnu_cxx16__aligned_membufISt4pairIKibEE6_M_ptrEv = comdat any $_ZN9__gnu_cxx16__aligned_membufISt4pairIKibEE7_M_addrEv = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE10deallocateERS5_PS4_m = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE10deallocateEPS4_m = comdat any $_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE9_M_mbeginEv = comdat any $_ZNKSt6vectorIiSaIiEE2atEm = comdat any $_ZNKSt6vectorIiSaIiEE14_M_range_checkEm = comdat any $_ZNSt15__new_allocatorIcEC2Ev = comdat any $_ZSt8_DestroyIPiiEvT_S1_RSaIT0_E = comdat any $_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv = comdat any $_ZNSt12_Vector_baseIiSaIiEED2Ev = comdat any $_ZSt8_DestroyIPiEvT_S1_ = comdat any $_ZNSt12_Destroy_auxILb1EE9__destroyIPiEEvT_S3_ = comdat any $_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim = comdat any $_ZNSt15__new_allocatorIiED2Ev = comdat any $_ZNSt16allocator_traitsISaIiEE10deallocateERS0_Pim = comdat any $_ZNSt15__new_allocatorIiE10deallocateEPim = comdat any $_ZNSt16allocator_traitsISaIiEE9constructIiJRKiEEEvRS0_PT_DpOT0_ = comdat any $_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_ = comdat any $_ZNSt15__new_allocatorIiE9constructIiJRKiEEEvPT_DpOT0_ = comdat any $_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc = comdat any $_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_ = comdat any $_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm = comdat any $_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv = comdat any $_ZNKSt6vectorIiSaIiEE8max_sizeEv = comdat any $_ZSt3maxImERKT_S2_S2_ = comdat any $_ZNSt6vectorIiSaIiEE11_S_max_sizeERKS0_ = comdat any $_ZNKSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv = comdat any $_ZNSt16allocator_traitsISaIiEE8max_sizeERKS0_ = comdat any $_ZSt3minImERKT_S2_S2_ = comdat any $_ZNKSt15__new_allocatorIiE8max_sizeEv = comdat any $_ZNKSt15__new_allocatorIiE11_M_max_sizeEv = comdat any $_ZNSt16allocator_traitsISaIiEE8allocateERS0_m = comdat any $_ZNSt15__new_allocatorIiE8allocateEmPKv = comdat any $_ZSt12__relocate_aIPiS0_SaIiEET0_T_S3_S2_RT1_ = comdat any $_ZSt14__relocate_a_1IiiENSt9enable_ifIXsr3std24__is_bitwise_relocatableIT_EE5valueEPS1_E4typeES2_S2_S2_RSaIT0_E = comdat any $_ZSt12__niter_baseIPiET_S1_ = comdat any $_ZNSt11char_traitsIcE6lengthEPKc = comdat any $_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag = comdat any $_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_ = comdat any $_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC2EPS4_ = comdat any $_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev = comdat any $_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag = comdat any $_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_ = comdat any $_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_ = comdat any $_ZNSt12_Vector_baseIiSaIiEEC2EmRKS0_ = comdat any $_ZNSt6vectorIiSaIiEE18_M_fill_initializeEmRKi = comdat any $_ZNSaIiEC2ERKS_ = comdat any $_ZNSt15__new_allocatorIiEC2ERKS0_ = comdat any $_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2ERKS0_ = comdat any $_ZNSt12_Vector_baseIiSaIiEE17_M_create_storageEm = comdat any $_ZSt24__uninitialized_fill_n_aIPimiiET_S1_T0_RKT1_RSaIT2_E = comdat any $_ZSt20uninitialized_fill_nIPimiET_S1_T0_RKT1_ = comdat any $_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPimiEET_S3_T0_RKT1_ = comdat any $_ZSt6fill_nIPimiET_S1_T0_RKT1_ = comdat any $_ZSt10__fill_n_aIPimiET_S1_T0_RKT1_St26random_access_iterator_tag = comdat any $_ZSt17__size_to_integerm = comdat any $_ZSt19__iterator_categoryIPiENSt15iterator_traitsIT_E17iterator_categoryERKS2_ = comdat any $_ZSt8__fill_aIPiiEvT_S1_RKT0_ = comdat any $_ZSt9__fill_a1IPiiEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT0_EE7__valueEvE6__typeET_S6_RKS3_ = comdat any $_ZN9__gnu_cxx14__alloc_traitsISaIiEiE17_S_select_on_copyERKS1_ = comdat any $_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E = comdat any $_ZNSt16allocator_traitsISaIiEE37select_on_container_copy_constructionERKS0_ = comdat any $_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_ = comdat any $_ZNSt20__uninitialized_copyILb1EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiEET0_T_SC_SB_ = comdat any $_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_ = comdat any $_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET1_T0_SA_S9_ = comdat any $_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEET_S8_ = comdat any $_ZSt12__niter_wrapIPiET_RKS1_S1_ = comdat any $_ZSt14__copy_move_a1ILb0EPKiPiET1_T0_S4_S3_ = comdat any $_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE = comdat any $_ZSt14__copy_move_a2ILb0EPKiPiET1_T0_S4_S3_ = comdat any $_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIiEEPT_PKS3_S6_S4_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv = comdat any $_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E = comdat any $_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv = comdat any $_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev = comdat any $_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvT_S7_ = comdat any $_ZNSt12_Destroy_auxILb0EE9__destroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvT_S9_ = comdat any $_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_ = comdat any $_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m = comdat any $_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev = comdat any $_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE10deallocateERS6_PS5_m = comdat any $_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE10deallocateEPS5_m = comdat any $_ZSt8_DestroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES6_EvT_S8_RSaIT0_E = comdat any $_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv = comdat any $_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EED2Ev = comdat any $_ZSt8_DestroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEvT_S8_ = comdat any $_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEvT_SA_ = comdat any $_ZSt8_DestroyISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEvPT_ = comdat any $_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE13_M_deallocateEPS6_m = comdat any $_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEED2Ev = comdat any $_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE10deallocateERS7_PS6_m = comdat any $_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE10deallocateEPS6_m = comdat any $_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EED2Ev = comdat any $_ZSt8_DestroyIPSt6vectorIiSaIiEEEvT_S4_ = comdat any $_ZNSt12_Destroy_auxILb0EE9__destroyIPSt6vectorIiSaIiEEEEvT_S6_ = comdat any $_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_ = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m = comdat any $_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev = comdat any $_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE10deallocateERS3_PS2_m = comdat any $_ZNSt15__new_allocatorISt6vectorIiSaIiEEE10deallocateEPS2_m = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEERS5_DpOT_ = comdat any $_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_ = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_ = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv = comdat any $_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS5_JS5_EEEvPT_DpOT0_ = comdat any $_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc = comdat any $_ZN9__gnu_cxxmiIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSE_SH_ = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv = comdat any $_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv = comdat any $_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8max_sizeEv = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_max_sizeERKS6_ = comdat any $_ZNKSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv = comdat any $_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8max_sizeERKS6_ = comdat any $_ZNKSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8max_sizeEv = comdat any $_ZNKSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE11_M_max_sizeEv = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS7_ = comdat any $_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m = comdat any $_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv = comdat any $_ZSt12__relocate_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_ = comdat any $_ZSt14__relocate_a_1IPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_ = comdat any $_ZSt12__niter_baseIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_S7_ = comdat any $_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_ = comdat any $_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7destroyIS5_EEvRS6_PT_ = comdat any $_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE7destroyIS5_EEvPT_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEmiEl = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv = comdat any $_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_ = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_ = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_ = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv = comdat any $_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base = comdat any $_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPKSt18_Rb_tree_node_base = comdat any $_ZNKSt10_Select1stISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEclERKS8_ = comdat any $_ZNKSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv = comdat any $_ZNK9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE6_M_ptrEv = comdat any $_ZNK9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE7_M_addrEv = comdat any $_ZStltIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_ = comdat any $_ZNSt11char_traitsIcE7compareEPKcS2_m = comdat any $_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JRKS5_EEEvRS6_PT_DpOT0_ = comdat any $_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_ = comdat any $_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS5_JRKS5_EEEvPT_DpOT0_ = comdat any $_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE11lower_boundERS9_ = comdat any $_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_ = comdat any $_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv = comdat any $_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE8key_compEv = comdat any $_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_ = comdat any $_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2ERKSt17_Rb_tree_iteratorIS8_E = comdat any $_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS7_EEEbE4typeELb1EEES7_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11lower_boundERS7_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8key_compEv = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_ = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node6_M_keyEv = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node9_M_insertES6_IPSt18_Rb_tree_node_baseSH_E = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD2Ev = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_get_nodeEv = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_ = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE8allocateERSB_m = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE8allocateEmPKv = comdat any $_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE11_M_max_sizeEv = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESH_IJEEEEEvRSB_PT_DpOT0_ = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESG_IJEEEEEvPT_DpOT0_ = comdat any $_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_ = comdat any $_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEC2IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE = comdat any $_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_ = comdat any $_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEC2IJRS6_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE = comdat any $_ZSt3getILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSC_ = comdat any $_ZSt12__get_helperILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJEERT0_RSt11_Tuple_implIXT_EJS8_DpT1_EE = comdat any $_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7_M_headERS8_ = comdat any $_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EE7_M_headERS8_ = comdat any $_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE13_M_const_castEv = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4sizeEv = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv = comdat any $_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv = comdat any $_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_ = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEmmEv = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEppEv = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv = comdat any $_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISI_SJ_EEEbE4typeELb1EEEOSI_OSJ_ = comdat any $_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ES7_ = comdat any $_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC2ES7_ = comdat any $_ZNSt6vectorIiSaIiEE21_M_default_initializeEm = comdat any $_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E = comdat any $_ZSt25__uninitialized_default_nIPimET_S1_T0_ = comdat any $_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPimEET_S3_T0_ = comdat any $_ZSt10_ConstructIiJEEvPT_DpOT0_ = comdat any $_ZNKSt6vectorIiSaIiEE8capacityEv = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2ERKS2_ = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC2ERKS1_ = comdat any $_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_ = comdat any $_ZN9__gnu_cxx5__ops16__iter_less_iterEv = comdat any $_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElNS0_5__ops15_Iter_less_iterEEvT_S9_T0_T1_ = comdat any $_ZSt4__lgl = comdat any $_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_ = comdat any $_ZSt14__partial_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_ = comdat any $_ZSt27__unguarded_partition_pivotIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEET_S9_S9_T0_ = comdat any $_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_ = comdat any $_ZSt11__sort_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_RT0_ = comdat any $_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_RT0_ = comdat any $_ZN9__gnu_cxxltIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_ = comdat any $_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_ = comdat any $_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl = comdat any $_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEliNS0_5__ops15_Iter_less_iterEEvT_T0_SA_T1_T2_ = comdat any $_ZN9__gnu_cxx5__ops14_Iter_less_valC2ENS0_15_Iter_less_iterE = comdat any $_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEliNS0_5__ops14_Iter_less_valEEvT_T0_SA_T1_RT2_ = comdat any $_ZNK9__gnu_cxx5__ops14_Iter_less_valclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEEbT_RT0_ = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEv = comdat any $_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_S9_T0_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmiEl = comdat any $_ZSt21__unguarded_partitionIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEET_S9_S9_S9_T0_ = comdat any $_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_ = comdat any $_ZSt4swapIiENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_ = comdat any $_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_ = comdat any $_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_ = comdat any $_ZN9__gnu_cxxeqIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_ = comdat any $_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_ = comdat any $_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops14_Val_less_iterEEvT_T0_ = comdat any $_ZN9__gnu_cxx5__ops15__val_comp_iterENS0_15_Iter_less_iterE = comdat any $_ZSt22__copy_move_backward_aILb1EN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET1_T0_S8_S7_ = comdat any $_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET_S7_ = comdat any $_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET_S7_T0_ = comdat any $_ZSt23__copy_move_backward_a1ILb1EPiS0_ET1_T0_S2_S1_ = comdat any $_ZSt12__niter_baseIPiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS4_T0_EE = comdat any $_ZSt23__copy_move_backward_a2ILb1EPiS0_ET1_T0_S2_S1_ = comdat any $_ZNSt20__copy_move_backwardILb1ELb1ESt26random_access_iterator_tagE13__copy_move_bIiEEPT_PKS3_S6_S4_ = comdat any $_ZNK9__gnu_cxx5__ops14_Val_less_iterclIiNS_17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEbRT_T0_ = comdat any $_ZNSt6vectorIiSaIiEE17_M_default_appendEm = comdat any $_ZNSt6vectorIiSaIiEE15_M_erase_at_endEPi = comdat any $_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_ = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE4findERS7_ = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_ = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_beginEv = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv = comdat any $_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base = comdat any $_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPKSt18_Rb_tree_node_base = comdat any $_ZNKSt10_Select1stISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEclERKS8_ = comdat any $_ZNKSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv = comdat any $_ZNK9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE6_M_ptrEv = comdat any $_ZNK9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE7_M_addrEv = comdat any $_ZStltIN5ezSAT4OpIdESt6vectorIiSaIiEEEbRKSt4pairIT_T0_ESA_ = comdat any $_ZStltIiSaIiEEbRKSt6vectorIT_T0_ES6_ = comdat any $_ZSt23lexicographical_compareIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_EbT_S8_T0_S9_ = comdat any $_ZSt29__lexicographical_compare_auxIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_EbT_S8_T0_S9_ = comdat any $_ZSt30__lexicographical_compare_aux1IPKiS1_EbT_S2_T0_S3_ = comdat any $_ZNSt25__lexicographical_compareILb0EE4__lcIPKiS3_EEbT_S4_T0_S5_ = comdat any $_ZSt30__lexicographical_compare_implIPKiS1_N9__gnu_cxx5__ops15_Iter_less_iterEEbT_S5_T0_S6_T1_ = comdat any $_ZNSt8__lc_raiISt26random_access_iterator_tagS0_E10__newlast1IPKiS4_EET_S5_S5_T0_S6_ = comdat any $_ZNSt8__lc_raiISt26random_access_iterator_tagS0_E6__cnd2IPKiEEbT_S5_ = comdat any $_ZNK9__gnu_cxx5__ops15_Iter_less_iterclIPKiS4_EEbT_T0_ = comdat any $_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE11lower_boundERS9_ = comdat any $_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_ = comdat any $_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE3endEv = comdat any $_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE8key_compEv = comdat any $_ZNKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11lower_boundERS7_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8key_compEv = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_ = comdat any $_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2ERKSt17_Rb_tree_iteratorIS8_E = comdat any $_ZNSt5tupleIJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS8_EEEbE4typeELb1EEES8_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_ = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_node6_M_keyEv = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_node9_M_insertES0_IPSt18_Rb_tree_node_baseSH_E = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeD2Ev = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_get_nodeEv = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_ = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE8allocateERSB_m = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE8allocateEmPKv = comdat any $_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE11_M_max_sizeEv = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESH_IJEEEEEvRSB_PT_DpOT0_ = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESG_IJEEEEEvPT_DpOT0_ = comdat any $_ZNSt5tupleIJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2EOS9_ = comdat any $_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEC2IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE = comdat any $_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2EOS9_ = comdat any $_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEC2IJRS6_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE = comdat any $_ZSt3getILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSD_ = comdat any $_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2ERKS5_ = comdat any $_ZSt12__get_helperILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEJEERT0_RSt11_Tuple_implIXT_EJS9_DpT1_EE = comdat any $_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE7_M_headERS9_ = comdat any $_ZNSt10_Head_baseILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEELb0EE7_M_headERS9_ = comdat any $_ZNKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE13_M_const_castEv = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE4sizeEv = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_rightmostEv = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE24_M_get_insert_unique_posERS7_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_leftmostEv = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEmmEv = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEppEv = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE5beginEv = comdat any $_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISI_SJ_EEEbE4typeELb1EEEOSI_OSJ_ = comdat any $_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E = comdat any $_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2ES8_ = comdat any $_ZNSt10_Head_baseILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEELb0EEC2ES8_ = comdat any $_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE9constructIS6_JRKS6_EEEvRS7_PT_DpOT0_ = comdat any $_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_ = comdat any $_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE3endEv = comdat any $_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE9constructIS6_JRKS6_EEEvPT_DpOT0_ = comdat any $_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE12_M_check_lenEmPKc = comdat any $_ZN9__gnu_cxxmiIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSE_SH_ = comdat any $_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE5beginEv = comdat any $_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE11_M_allocateEm = comdat any $_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEE4baseEv = comdat any $_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE7destroyIS6_EEvRS7_PT_ = comdat any $_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE8max_sizeEv = comdat any $_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE11_S_max_sizeERKS6_ = comdat any $_ZNKSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv = comdat any $_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE8max_sizeERKS7_ = comdat any $_ZNKSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE8max_sizeEv = comdat any $_ZNKSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE11_M_max_sizeEv = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEC2ERKS8_ = comdat any $_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE8allocateERS7_m = comdat any $_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE8allocateEmPKv = comdat any $_ZSt12__relocate_aIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES7_SaIS6_EET0_T_SA_S9_RT1_ = comdat any $_ZSt14__relocate_a_1IPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES7_SaIS6_EET0_T_SA_S9_RT1_ = comdat any $_ZSt12__niter_baseIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEET_S8_ = comdat any $_ZSt19__relocate_object_aISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES6_SaIS6_EEvPT_PT0_RT1_ = comdat any $_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE9constructIS6_JS6_EEEvRS7_PT_DpOT0_ = comdat any $_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE9constructIS6_JS6_EEEvPT_DpOT0_ = comdat any $_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2EOS5_ = comdat any $_ZNSt6vectorIiSaIiEEC2EOS1_ = comdat any $_ZNSt12_Vector_baseIiSaIiEEC2EOS1_ = comdat any $_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2EOS2_ = comdat any $_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataC2EOS2_ = comdat any $_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE7destroyIS6_EEvPT_ = comdat any $_ZNSt6vectorIiSaIiEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKiS1_EEEEPimT_S9_ = comdat any $_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RSaIT0_E = comdat any $_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EEET0_T_SB_SA_ = comdat any $_ZSt4copyIPiS0_ET0_T_S2_S1_ = comdat any $_ZSt22__uninitialized_copy_aIPiS0_iET0_T_S2_S1_RSaIT1_E = comdat any $_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_ = comdat any $_ZNSt12_Destroy_auxILb1EE9__destroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEvT_S9_ = comdat any $_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EEET1_T0_SB_SA_ = comdat any $_ZSt13__copy_move_aILb0EPiS0_ET1_T0_S2_S1_ = comdat any $_ZSt12__miter_baseIPiET_S1_ = comdat any $_ZSt14__copy_move_a1ILb0EPiS0_ET1_T0_S2_S1_ = comdat any $_ZSt14__copy_move_a2ILb0EPiS0_ET1_T0_S2_S1_ = comdat any $_ZSt18uninitialized_copyIPiS0_ET0_T_S2_S1_ = comdat any $_ZNSt20__uninitialized_copyILb1EE13__uninit_copyIPiS2_EET0_T_S4_S3_ = comdat any $_ZNSt16allocator_traitsISaIcEE8max_sizeERKS0_ = comdat any $_ZNKSt15__new_allocatorIcE8max_sizeEv = comdat any $_ZNKSt15__new_allocatorIcE11_M_max_sizeEv = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_erase_at_endEPS1_ = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_ = comdat any $_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_ = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE4backEv = comdat any $_ZNSt15__new_allocatorISt6vectorIiSaIiEEE9constructIS2_JS2_EEEvPT_DpOT0_ = comdat any $_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc = comdat any $_ZN9__gnu_cxxmiIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_ = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv = comdat any $_ZNKSt6vectorIS_IiSaIiEESaIS1_EE8max_sizeEv = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_max_sizeERKS2_ = comdat any $_ZNKSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv = comdat any $_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE8max_sizeERKS3_ = comdat any $_ZNKSt15__new_allocatorISt6vectorIiSaIiEEE8max_sizeEv = comdat any $_ZNKSt15__new_allocatorISt6vectorIiSaIiEEE11_M_max_sizeEv = comdat any $_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE8allocateERS3_m = comdat any $_ZNSt15__new_allocatorISt6vectorIiSaIiEEE8allocateEmPKv = comdat any $_ZSt12__relocate_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_ = comdat any $_ZSt14__relocate_a_1IPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_ = comdat any $_ZSt12__niter_baseIPSt6vectorIiSaIiEEET_S4_ = comdat any $_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_ = comdat any $_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE7destroyIS2_EEvRS3_PT_ = comdat any $_ZNSt15__new_allocatorISt6vectorIiSaIiEEE7destroyIS2_EEvPT_ = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmiEl = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS4_ = comdat any $_ZNSt6vectorIiSaIiEE12emplace_backIJiEEERiDpOT_ = comdat any $_ZNSt16allocator_traitsISaIiEE9constructIiJiEEEvRS0_PT_DpOT0_ = comdat any $_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_ = comdat any $_ZNSt6vectorIiSaIiEE4backEv = comdat any $_ZNSt15__new_allocatorIiE9constructIiJiEEEvPT_DpOT0_ = comdat any $_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_ = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_ = comdat any $_ZNSt15__new_allocatorISt6vectorIiSaIiEEE9constructIS2_JRKS2_EEEvPT_DpOT0_ = comdat any $_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_swap_dataERS2_ = comdat any $_ZN9__gnu_cxx14__alloc_traitsISaIiEiE10_S_on_swapERS1_S3_ = comdat any $_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataC2Ev = comdat any $_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_copy_dataERKS2_ = comdat any $_ZSt15__alloc_on_swapISaIiEEvRT_S2_ = comdat any $_ZN9__gnu_cxxmiIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSB_SE_ = comdat any $_ZNKSt6vectorIS_IiSaIiEESaIS1_EE6cbeginEv = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE18_M_insert_dispatchIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEEEvS8_T_S9_St12__false_type = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEplEl = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS5_ = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEEEvS8_T_S9_St20forward_iterator_tag = comdat any $_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSA_ = comdat any $_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESA_SA_ = comdat any $_ZSt22__uninitialized_move_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_ = comdat any $_ZSt13move_backwardIPSt6vectorIiSaIiEES3_ET0_T_S5_S4_ = comdat any $_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES8_ET0_T_SA_S9_ = comdat any $_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEmEvRT_T0_ = comdat any $_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_S4_ET0_T_SA_S9_RSaIT1_E = comdat any $_ZSt34__uninitialized_move_if_noexcept_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_ = comdat any $_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESA_SA_St26random_access_iterator_tag = comdat any $_ZSt22__uninitialized_copy_aISt13move_iteratorIPSt6vectorIiSaIiEEES4_S3_ET0_T_S7_S6_RSaIT1_E = comdat any $_ZSt18make_move_iteratorIPSt6vectorIiSaIiEEESt13move_iteratorIT_ES5_ = comdat any $_ZSt18uninitialized_copyISt13move_iteratorIPSt6vectorIiSaIiEEES4_ET0_T_S7_S6_ = comdat any $_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPSt6vectorIiSaIiEEES6_EET0_T_S9_S8_ = comdat any $_ZSt16__do_uninit_copyISt13move_iteratorIPSt6vectorIiSaIiEEES4_ET0_T_S7_S6_ = comdat any $_ZStneIPSt6vectorIiSaIiEEEbRKSt13move_iteratorIT_ES8_ = comdat any $_ZSt10_ConstructISt6vectorIiSaIiEEJS2_EEvPT_DpOT0_ = comdat any $_ZNKSt13move_iteratorIPSt6vectorIiSaIiEEEdeEv = comdat any $_ZNSt13move_iteratorIPSt6vectorIiSaIiEEEppEv = comdat any $_ZSteqIPSt6vectorIiSaIiEEEbRKSt13move_iteratorIT_ES8_ = comdat any $_ZNKSt13move_iteratorIPSt6vectorIiSaIiEEE4baseEv = comdat any $_ZNSt13move_iteratorIPSt6vectorIiSaIiEEEC2ES3_ = comdat any $_ZSt22__copy_move_backward_aILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_ = comdat any $_ZSt12__miter_baseIPSt6vectorIiSaIiEEET_S4_ = comdat any $_ZSt12__niter_wrapIPSt6vectorIiSaIiEEET_RKS4_S4_ = comdat any $_ZSt23__copy_move_backward_a1ILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_ = comdat any $_ZSt23__copy_move_backward_a2ILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_ = comdat any $_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt6vectorIiSaIiEES6_EET0_T_S8_S7_ = comdat any $_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES8_ET1_T0_SA_S9_ = comdat any $_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEET_S9_ = comdat any $_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET_S9_T0_ = comdat any $_ZSt14__copy_move_a1ILb0EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_ = comdat any $_ZSt12__niter_baseIPSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE = comdat any $_ZSt14__copy_move_a2ILb0EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_ = comdat any $_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPSt6vectorIiSaIiEES6_EET0_T_S8_S7_ = comdat any $_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEElEvRT_T0_St26random_access_iterator_tag = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmmEv = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEpLEl = comdat any $_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET0_T_SA_S9_ = comdat any $_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES4_IS6_SaIS6_EEEES7_EET0_T_SC_SB_ = comdat any $_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET0_T_SA_S9_ = comdat any $_ZSt10_ConstructISt6vectorIiSaIiEEJRS2_EEvPT_DpOT0_ = comdat any $_ZSt32__make_move_if_noexcept_iteratorISt6vectorIiSaIiEESt13move_iteratorIPS2_EET0_PT_ = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_data12_M_swap_dataERS5_ = comdat any $_ZN9__gnu_cxx14__alloc_traitsISaISt6vectorIiSaIiEEES3_E10_S_on_swapERS4_S6_ = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataC2Ev = comdat any $_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_data12_M_copy_dataERKS5_ = comdat any $_ZSt15__alloc_on_swapISaISt6vectorIiSaIiEEEEvRT_S5_ = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE18_M_insert_dispatchIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEvNS6_IPS1_S3_EET_SC_St12__false_type = comdat any $_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEvNS6_IPS1_S3_EET_SC_St20forward_iterator_tag = comdat any $_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSB_ = comdat any $_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_ = comdat any $_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS1_IPS4_S8_EEET0_T_SD_SC_ = comdat any $_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEmEvRT_T0_ = comdat any $_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_S4_ET0_T_SC_SB_RSaIT1_E = comdat any $_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_St26random_access_iterator_tag = comdat any $_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS1_IPS4_S8_EEET1_T0_SD_SC_ = comdat any $_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEET_SA_ = comdat any $_ZSt14__copy_move_a1ILb0EPKSt6vectorIiSaIiEEPS2_ET1_T0_S7_S6_ = comdat any $_ZSt12__niter_baseIPKSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS7_T0_EE = comdat any $_ZSt14__copy_move_a2ILb0EPKSt6vectorIiSaIiEEPS2_ET1_T0_S7_S6_ = comdat any $_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKSt6vectorIiSaIiEEPS5_EET0_T_SA_S9_ = comdat any $_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEElEvRT_T0_St26random_access_iterator_tag = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmmEv = comdat any $_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEpLEl = comdat any $_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_ET0_T_SC_SB_ = comdat any $_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES4_IS6_SaIS6_EEEEPS6_EET0_T_SE_SD_ = comdat any $_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_ET0_T_SC_SB_ = comdat any $_ZSt10_ConstructISt6vectorIiSaIiEEJRKS2_EEvPT_DpOT0_ = comdat any $_ZNSt19_Bit_const_iteratorC2EPmj = comdat any $_ZNSt18_Bit_iterator_baseC2EPmj = comdat any $_ZNSt19_Bit_const_iteratorC2ERKSt13_Bit_iterator = comdat any $_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEmiEl = comdat any $_ZNSt6vectorIiSaIiEE14_M_move_assignEOS1_St17integral_constantIbLb1EE = comdat any $_ZNKSt12_Vector_baseIiSaIiEE13get_allocatorEv = comdat any $_ZNSt6vectorIiSaIiEEC2ERKS0_ = comdat any $_ZSt15__alloc_on_moveISaIiEEvRT_S2_ = comdat any $_ZNSt12_Vector_baseIiSaIiEEC2ERKS0_ = comdat any $_ZNSt6vectorIiSaIiEE19_M_range_initializeIN9__gnu_cxx17__normal_iteratorIPKiS1_EEEEvT_S8_St20forward_iterator_tag = comdat any $_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E17iterator_categoryERKS9_ = comdat any $_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E15difference_typeES9_S9_ = comdat any $_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E15difference_typeES9_S9_St26random_access_iterator_tag = comdat any $_ZN9__gnu_cxxmiIPKiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS9_SC_ = comdat any $_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE11lower_boundERS3_ = comdat any $_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKibEES5_ = comdat any $_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE3endEv = comdat any $_ZNKSt3mapIibSt4lessIiESaISt4pairIKibEEE8key_compEv = comdat any $_ZNKSt4lessIiEclERKiS2_ = comdat any $_ZNKSt17_Rb_tree_iteratorISt4pairIKibEEdeEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEESt17_Rb_tree_iteratorIS2_ESt23_Rb_tree_const_iteratorIS2_EDpOT_ = comdat any $_ZNSt23_Rb_tree_const_iteratorISt4pairIKibEEC2ERKSt17_Rb_tree_iteratorIS2_E = comdat any $_ZNSt5tupleIJRKiEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS1_EEEbE4typeELb1EEES1_ = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11lower_boundERS1_ = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS2_EPSt18_Rb_tree_node_baseRS1_ = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_M_endEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base = comdat any $_ZNKSt10_Select1stISt4pairIKibEEclERKS2_ = comdat any $_ZNKSt13_Rb_tree_nodeISt4pairIKibEE9_M_valptrEv = comdat any $_ZNK9__gnu_cxx16__aligned_membufISt4pairIKibEE6_M_ptrEv = comdat any $_ZNK9__gnu_cxx16__aligned_membufISt4pairIKibEE7_M_addrEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE3endEv = comdat any $_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8key_compEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESE_IJEEEEERS8_DpOT_ = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_ = comdat any $_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_node6_M_keyEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_node9_M_insertES0_IPSt18_Rb_tree_node_baseSB_E = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeD2Ev = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEEPSt13_Rb_tree_nodeIS2_EDpOT_ = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_get_nodeEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEEvPSt13_Rb_tree_nodeIS2_EDpOT_ = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE8allocateERS5_m = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE8allocateEmPKv = comdat any $_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE11_M_max_sizeEv = comdat any $_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE9constructIS3_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESB_IJEEEEEvRS5_PT_DpOT0_ = comdat any $_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE9constructIS3_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESA_IJEEEEEvPT_DpOT0_ = comdat any $_ZNSt5tupleIJRKiEEC2EOS2_ = comdat any $_ZNSt4pairIKibEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES5_IJDpT0_EE = comdat any $_ZNSt11_Tuple_implILm0EJRKiEEC2EOS2_ = comdat any $_ZNSt4pairIKibEC2IJRS0_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS4_IJDpT1_EESt12_Index_tupleIJXspT0_EEESD_IJXspT2_EEE = comdat any $_ZSt3getILm0EJRKiEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_ = comdat any $_ZSt12__get_helperILm0ERKiJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE = comdat any $_ZNSt11_Tuple_implILm0EJRKiEE7_M_headERS2_ = comdat any $_ZNSt10_Head_baseILm0ERKiLb0EE7_M_headERS2_ = comdat any $_ZNKSt23_Rb_tree_const_iteratorISt4pairIKibEE13_M_const_castEv = comdat any $_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE4sizeEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_rightmostEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE24_M_get_insert_unique_posERS1_ = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_leftmostEv = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKibEEmmEv = comdat any $_ZNSt17_Rb_tree_iteratorISt4pairIKibEEppEv = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE5beginEv = comdat any $_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKibEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISC_SD_EEEbE4typeELb1EEEOSC_OSD_ = comdat any $_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E = comdat any $_ZNSt11_Tuple_implILm0EJRKiEEC2ES1_ = comdat any $_ZNSt10_Head_baseILm0ERKiLb0EEC2ES1_ = comdat any $_ZNKSt19_Bit_const_iteratorixEl = comdat any $_ZStplRKSt19_Bit_const_iteratorl = comdat any $_ZNSt19_Bit_const_iteratorpLEl = comdat any $_ZNSt18_Bit_iterator_base7_M_incrEl = comdat any $_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv = comdat any $_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE5beginEv = comdat any $_ZN9__gnu_cxxeqIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_ = comdat any $_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits = comdat any $_ZSt19piecewise_construct = comdat any @_ZN5ezSAT10CONST_TRUEE = constant i32 1, align 4 @_ZN5ezSAT11CONST_FALSEE = constant i32 2, align 4 @_ZTV5ezSAT = unnamed_addr constant { [8 x ptr] } { [8 x ptr] [ptr null, ptr @_ZTI5ezSAT, ptr @_ZN5ezSATD1Ev, ptr @_ZN5ezSATD0Ev, ptr @_ZN5ezSAT6solverERKSt6vectorIiSaIiEERS0_IbSaIbEES4_, ptr @_ZN5ezSAT5clearEv, ptr @_ZN5ezSAT6freezeEi, ptr @_ZN5ezSAT10eliminatedEi] }, align 8 @.str = private unnamed_addr constant [11 x i8] c"CONST_TRUE\00", align 1 @.str.1 = private unnamed_addr constant [12 x i8] c"CONST_FALSE\00", align 1 @.str.2 = private unnamed_addr constant [5 x i8] c"not(\00", align 1 @.str.3 = private unnamed_addr constant [5 x i8] c"and(\00", align 1 @.str.4 = private unnamed_addr constant [4 x i8] c"or(\00", align 1 @.str.5 = private unnamed_addr constant [5 x i8] c"xor(\00", align 1 @.str.6 = private unnamed_addr constant [5 x i8] c"iff(\00", align 1 @.str.7 = private unnamed_addr constant [5 x i8] c"ite(\00", align 1 @.str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1 @.str.9 = private unnamed_addr constant [2 x i8] c")\00", align 1 @.str.10 = private unnamed_addr constant [5 x i8] c"NOT \00", align 1 @.str.11 = private unnamed_addr constant [10 x i8] c"\00", align 1 @stderr = external global ptr, align 8 @.str.12 = private unnamed_addr constant [40 x i8] c"ezSAT: Missing freeze on literal `%s'.\0A\00", align 1 @.str.13 = private unnamed_addr constant [74 x i8] c"************************************************************************\0A\00", align 1 @.str.14 = private unnamed_addr constant [74 x i8] c"ERROR: You are trying to use the solve() method of the ezSAT base class!\0A\00", align 1 @.str.15 = private unnamed_addr constant [45 x i8] c"Use a dervied class like ezMiniSAT instead.\0A\00", align 1 @.str.16 = private unnamed_addr constant [67 x i8] c"Usage error: printDIMACS() must not be called after cnfConsumed()!\00", align 1 @.str.17 = private unnamed_addr constant [22 x i8] c"c generated by ezSAT\0A\00", align 1 @.str.18 = private unnamed_addr constant [3 x i8] c"c\0A\00", align 1 @.str.19 = private unnamed_addr constant [37 x i8] c"c mapping of variables to literals:\0A\00", align 1 @.str.20 = private unnamed_addr constant [11 x i8] c"c %*d: %s\0A\00", align 1 @.str.21 = private unnamed_addr constant [40 x i8] c"c mapping of variables to expressions:\0A\00", align 1 @.str.22 = private unnamed_addr constant [11 x i8] c"c %*d: %d\0A\00", align 1 @.str.23 = private unnamed_addr constant [50 x i8] c"c %d clauses from backup, %d from current buffer\0A\00", align 1 @.str.24 = private unnamed_addr constant [13 x i8] c"p cnf %d %d\0A\00", align 1 @.str.25 = private unnamed_addr constant [5 x i8] c" %*d\00", align 1 @.str.26 = private unnamed_addr constant [6 x i8] c" %*d\0A\00", align 1 @.str.27 = private unnamed_addr constant [20 x i8] c"--8<-- snip --8<--\0A\00", align 1 @.str.28 = private unnamed_addr constant [16 x i8] c"literalsCache:\0A\00", align 1 @.str.29 = private unnamed_addr constant [16 x i8] c" `%s' -> %d\0A\00", align 1 @.str.30 = private unnamed_addr constant [11 x i8] c"literals:\0A\00", align 1 @.str.31 = private unnamed_addr constant [14 x i8] c" %d: `%s'\0A\00", align 1 @.str.32 = private unnamed_addr constant [19 x i8] c"expressionsCache:\0A\00", align 1 @.str.33 = private unnamed_addr constant [14 x i8] c"expressions:\0A\00", align 1 @.str.34 = private unnamed_addr constant [26 x i8] c"cnfVariables (count=%d):\0A\00", align 1 @.str.35 = private unnamed_addr constant [27 x i8] c" literal %d -> %d (%s)\0A\00", align 1 @.str.36 = private unnamed_addr constant [30 x i8] c" expression %d -> %d (%s)\0A\00", align 1 @.str.37 = private unnamed_addr constant [13 x i8] c"cnfClauses:\0A\00", align 1 @.str.38 = private unnamed_addr constant [5 x i8] c" %4d\00", align 1 @.str.39 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 @.str.40 = private unnamed_addr constant [49 x i8] c" *** more clauses consumed via cnfConsume() ***\0A\00", align 1 @.str.41 = private unnamed_addr constant [20 x i8] c"--8<-- snap --8<--\0A\00", align 1 @_ZTI5ezSAT = constant { ptr, ptr } { ptr getelementptr inbounds (ptr, ptr @_ZTVN10__cxxabiv117__class_type_infoE, i64 2), ptr @_ZTS5ezSAT }, align 8 @_ZTVN10__cxxabiv117__class_type_infoE = external global [0 x ptr] @_ZTS5ezSAT = constant [7 x i8] c"5ezSAT\00", align 1 @_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits = linkonce_odr constant [201 x i8] c"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\00", comdat, align 16 @.str.42 = private unnamed_addr constant [6 x i8] c"OpNot\00", align 1 @.str.43 = private unnamed_addr constant [6 x i8] c"OpAnd\00", align 1 @.str.44 = private unnamed_addr constant [5 x i8] c"OpOr\00", align 1 @.str.45 = private unnamed_addr constant [6 x i8] c"OpXor\00", align 1 @.str.46 = private unnamed_addr constant [6 x i8] c"OpIFF\00", align 1 @.str.47 = private unnamed_addr constant [6 x i8] c"OpITE\00", align 1 @.str.48 = private unnamed_addr constant [2 x i8] c":\00", align 1 @.str.49 = private unnamed_addr constant [2 x i8] c" \00", align 1 @.str.50 = private unnamed_addr constant [74 x i8] c"vector::_M_range_check: __n (which is %zu) >= this->size() (which is %zu)\00", align 1 @.str.51 = private unnamed_addr constant [26 x i8] c"vector::_M_realloc_insert\00", align 1 @.str.52 = private unnamed_addr constant [50 x i8] c"basic_string: construction from null is not valid\00", align 1 @.str.53 = private unnamed_addr constant [49 x i8] c"cannot create std::vector larger than max_size()\00", align 1 @_ZSt19piecewise_construct = linkonce_odr constant %"struct.std::piecewise_construct_t" zeroinitializer, comdat, align 1 @.str.54 = private unnamed_addr constant [8 x i8] c"map::at\00", align 1 @.str.55 = private unnamed_addr constant [16 x i8] c"vector::reserve\00", align 1 @.str.56 = private unnamed_addr constant [26 x i8] c"vector::_M_default_append\00", align 1 @.str.57 = private unnamed_addr constant [21 x i8] c"basic_string::append\00", align 1 @.str.58 = private unnamed_addr constant [22 x i8] c"basic_string::replace\00", align 1 @.str.59 = private unnamed_addr constant [55 x i8] c"%s: __pos (which is %zu) > this->size() (which is %zu)\00", align 1 @.str.60 = private unnamed_addr constant [24 x i8] c"vector::_M_range_insert\00", align 1 @_ZN5ezSATC1Ev = unnamed_addr alias void (ptr), ptr @_ZN5ezSATC2Ev @_ZN5ezSATD1Ev = unnamed_addr alias void (ptr), ptr @_ZN5ezSATD2Ev ; Function Attrs: mustprogress uwtable define void @_ZN5ezSATC2Ev(ptr noundef nonnull align 8 dereferenceable(284) %0) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 %3 = alloca %"class.std::__cxx11::basic_string", align 8 %4 = alloca %"class.std::allocator.24", align 1 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca %"class.std::__cxx11::basic_string", align 8 %8 = alloca %"class.std::allocator.24", align 1 store ptr %0, ptr %2, align 8, !tbaa !6 %9 = load ptr, ptr %2, align 8 store ptr getelementptr inbounds inrange(-16, 48) ({ [8 x ptr] }, ptr @_ZTV5ezSAT, i32 0, i32 0, i32 2), ptr %9, align 8, !tbaa !11 %10 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 5 call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #18 %11 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 6 call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 %12 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 7 call void @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #18 %13 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 8 call void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 %14 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 14 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %15 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 15 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %16 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 16 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #18 %17 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 17 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %18 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 21 store i32 5381, ptr %18, align 8, !tbaa !13 %19 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 1 store i8 0, ptr %19, align 8, !tbaa !52 %20 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 2 store i8 0, ptr %20, align 1, !tbaa !53 %21 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 3 store i8 0, ptr %21, align 2, !tbaa !54 %22 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 9 store i8 0, ptr %22, align 8, !tbaa !55 %23 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 11 store i32 0, ptr %23, align 4, !tbaa !56 %24 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 12 store i32 0, ptr %24, align 8, !tbaa !57 %25 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 18 store i32 0, ptr %25, align 8, !tbaa !58 %26 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 19 store i8 0, ptr %26, align 4, !tbaa !59 call void @llvm.lifetime.start.p0(i64 32, ptr %3) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %4) #18 call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #18 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef @.str, ptr noundef nonnull align 1 dereferenceable(1) %4) to label %27 unwind label %33 27: ; preds = %1 %28 = invoke noundef i32 @_ZN5ezSAT7literalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %9, ptr noundef nonnull align 8 dereferenceable(32) %3) to label %29 unwind label %37 29: ; preds = %27 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #18 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %3) #18 call void @llvm.lifetime.start.p0(i64 32, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #18 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %8) to label %30 unwind label %42 30: ; preds = %29 %31 = invoke noundef i32 @_ZN5ezSAT7literalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %9, ptr noundef nonnull align 8 dereferenceable(32) %7) to label %32 unwind label %46 32: ; preds = %30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #18 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %7) #18 ret void 33: ; preds = %1 %34 = landingpad { ptr, i32 } cleanup %35 = extractvalue { ptr, i32 } %34, 0 store ptr %35, ptr %5, align 8 %36 = extractvalue { ptr, i32 } %34, 1 store i32 %36, ptr %6, align 4 br label %41 37: ; preds = %27 %38 = landingpad { ptr, i32 } cleanup %39 = extractvalue { ptr, i32 } %38, 0 store ptr %39, ptr %5, align 8 %40 = extractvalue { ptr, i32 } %38, 1 store i32 %40, ptr %6, align 4 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #18 br label %41 41: ; preds = %37, %33 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %3) #18 br label %51 42: ; preds = %29 %43 = landingpad { ptr, i32 } cleanup %44 = extractvalue { ptr, i32 } %43, 0 store ptr %44, ptr %5, align 8 %45 = extractvalue { ptr, i32 } %43, 1 store i32 %45, ptr %6, align 4 br label %50 46: ; preds = %30 %47 = landingpad { ptr, i32 } cleanup %48 = extractvalue { ptr, i32 } %47, 0 store ptr %48, ptr %5, align 8 %49 = extractvalue { ptr, i32 } %47, 1 store i32 %49, ptr %6, align 4 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #18 br label %50 50: ; preds = %46, %42 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %7) #18 br label %51 51: ; preds = %50, %41 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 call void @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #18 call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #18 br label %52 52: ; preds = %51 %53 = load ptr, ptr %5, align 8 %54 = load i32, ptr %6, align 4 %55 = insertvalue { ptr, i32 } poison, ptr %53, 0 %56 = insertvalue { ptr, i32 } %55, i32 %54, 1 resume { ptr, i32 } %56 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !60 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !62 %3 = load ptr, ptr %2, align 8 call void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !64 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map.3", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !66 %3 = load ptr, ptr %2, align 8 call void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8 call void @_ZNSt12_Vector_baseIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !69 %3 = load ptr, ptr %2, align 8 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT7literalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 5 %7 = load ptr, ptr %4, align 8, !tbaa !71 %8 = call noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE5countERS9_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef nonnull align 8 dereferenceable(32) %7) %9 = icmp eq i64 %8, 0 br i1 %9, label %10, label %19 10: ; preds = %2 %11 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 6 %12 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(32) %12) %13 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 6 %14 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 %15 = trunc i64 %14 to i32 %16 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 5 %17 = load ptr, ptr %4, align 8, !tbaa !71 %18 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(32) %17) store i32 %15, ptr %18, align 4, !tbaa !72 br label %19 19: ; preds = %10, %2 %20 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 5 %21 = load ptr, ptr %4, align 8, !tbaa !71 %22 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE2atERS9_(ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef nonnull align 8 dereferenceable(32) %21) %23 = load i32, ptr %22, align 4, !tbaa !72 ret i32 %23 } ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #2 ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !73 %3 = load ptr, ptr %2, align 8 call void @_ZNSt15__new_allocatorIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 %9 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !71 store ptr %1, ptr %5, align 8, !tbaa !75 store ptr %2, ptr %6, align 8, !tbaa !73 %10 = load ptr, ptr %4, align 8 %11 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %10, i32 0, i32 0 %12 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %10) %13 = load ptr, ptr %6, align 8, !tbaa !73 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13) %14 = load ptr, ptr %5, align 8, !tbaa !75 %15 = icmp eq ptr %14, null br i1 %15, label %16, label %22 16: ; preds = %3 invoke void @_ZSt19__throw_logic_errorPKc(ptr noundef @.str.52) #19 to label %17 unwind label %18 17: ; preds = %16 unreachable 18: ; preds = %16 %19 = landingpad { ptr, i32 } cleanup %20 = extractvalue { ptr, i32 } %19, 0 store ptr %20, ptr %7, align 8 %21 = extractvalue { ptr, i32 } %19, 1 store i32 %21, ptr %8, align 4 br label %35 22: ; preds = %3 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %23 = load ptr, ptr %5, align 8, !tbaa !75 %24 = load ptr, ptr %5, align 8, !tbaa !75 %25 = invoke noundef i64 @_ZNSt11char_traitsIcE6lengthEPKc(ptr noundef %24) to label %26 unwind label %31 26: ; preds = %22 %27 = getelementptr inbounds nuw i8, ptr %23, i64 %25 store ptr %27, ptr %9, align 8, !tbaa !75 %28 = load ptr, ptr %5, align 8, !tbaa !75 %29 = load ptr, ptr %9, align 8, !tbaa !75 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef %28, ptr noundef %29) to label %30 unwind label %31 30: ; preds = %26 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret void 31: ; preds = %26, %22 %32 = landingpad { ptr, i32 } cleanup %33 = extractvalue { ptr, i32 } %32, 0 store ptr %33, ptr %7, align 8 %34 = extractvalue { ptr, i32 } %32, 1 store i32 %34, ptr %8, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 br label %35 35: ; preds = %31, %18 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #18 br label %36 36: ; preds = %35 %37 = load ptr, ptr %7, align 8 %38 = load i32, ptr %8, align 4 %39 = insertvalue { ptr, i32 } poison, ptr %37, 0 %40 = insertvalue { ptr, i32 } %39, i32 %38, 1 resume { ptr, i32 } %40 } declare i32 @__gxx_personality_v0(...) ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv(ptr noundef nonnull align 8 dereferenceable(32) %3) to label %4 unwind label %6 4: ; preds = %1 %5 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 0 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 ret void 6: ; preds = %1 %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 call void @__clang_call_terminate(ptr %8) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !77 ret void } ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #2 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !69 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !79 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !80 %10 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 invoke void @_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E(ptr noundef %6, ptr noundef %9, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %11 unwind label %12 11: ; preds = %1 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void 12: ; preds = %1 %13 = landingpad { ptr, i32 } catch ptr null %14 = extractvalue { ptr, i32 } %13, 0 call void @__clang_call_terminate(ptr %14) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !81 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !82 %10 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 invoke void @_ZSt8_DestroyIPiiEvT_S1_RSaIT0_E(ptr noundef %6, ptr noundef %9, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %11 unwind label %12 11: ; preds = %1 call void @_ZNSt12_Vector_baseIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void 12: ; preds = %1 %13 = landingpad { ptr, i32 } catch ptr null %14 = extractvalue { ptr, i32 } %13, 0 call void @__clang_call_terminate(ptr %14) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !66 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !83 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !84 %10 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 invoke void @_ZSt8_DestroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES6_EvT_S8_RSaIT0_E(ptr noundef %6, ptr noundef %9, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %11 unwind label %12 11: ; preds = %1 call void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void 12: ; preds = %1 %13 = landingpad { ptr, i32 } catch ptr null %14 = extractvalue { ptr, i32 } %13, 0 call void @__clang_call_terminate(ptr %14) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !64 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map.3", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !62 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !85 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !86 %10 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 invoke void @_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E(ptr noundef %6, ptr noundef %9, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %11 unwind label %12 11: ; preds = %1 call void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void 12: ; preds = %1 %13 = landingpad { ptr, i32 } catch ptr null %14 = extractvalue { ptr, i32 } %13, 0 call void @__clang_call_terminate(ptr %14) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !60 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define void @_ZN5ezSATD2Ev(ptr noundef nonnull align 8 dereferenceable(284) %0) unnamed_addr #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !6 %3 = load ptr, ptr %2, align 8 store ptr getelementptr inbounds inrange(-16, 48) ({ [8 x ptr] }, ptr @_ZTV5ezSAT, i32 0, i32 0, i32 2), ptr %3, align 8, !tbaa !11 %4 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 17 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #18 %5 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 16 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %6 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 15 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %7 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 14 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %8 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 8 call void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %9 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 7 call void @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #18 %10 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 6 call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 %11 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 5 call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %11) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define void @_ZN5ezSATD0Ev(ptr noundef nonnull align 8 dereferenceable(284) %0) unnamed_addr #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !6 %3 = load ptr, ptr %2, align 8 call void @_ZN5ezSATD1Ev(ptr noundef nonnull align 8 dereferenceable(284) %3) #18 call void @_ZdlPvm(ptr noundef %3, i64 noundef 288) #21 ret void } ; Function Attrs: nobuiltin nounwind declare void @_ZdlPvm(ptr noundef, i64 noundef) #3 ; Function Attrs: mustprogress nounwind uwtable define void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1) #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !6 store i32 %1, ptr %4, align 4, !tbaa !72 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 21 %7 = load i32, ptr %6, align 8, !tbaa !13 %8 = shl i32 %7, 5 %9 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 21 %10 = load i32, ptr %9, align 8, !tbaa !13 %11 = add i32 %8, %10 %12 = load i32, ptr %4, align 4, !tbaa !72 %13 = xor i32 %11, %12 %14 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 21 store i32 %13, ptr %14, align 8, !tbaa !13 ret void } ; Function Attrs: mustprogress nounwind uwtable define noundef i32 @_ZN5ezSAT5valueEb(ptr noundef nonnull align 8 dereferenceable(284) %0, i1 noundef zeroext %1) #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca i8, align 1 store ptr %0, ptr %3, align 8, !tbaa !6 %5 = zext i1 %1 to i8 store i8 %5, ptr %4, align 1, !tbaa !87 %6 = load i8, ptr %4, align 1, !tbaa !87, !range !88, !noundef !89 %7 = trunc i8 %6 to i1 %8 = select i1 %7, i32 1, i32 2 ret i32 %8 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT7literalEv(ptr noundef nonnull align 8 dereferenceable(284) %0) #0 align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 %3 = alloca %"class.std::__cxx11::basic_string", align 8 %4 = alloca ptr, align 8 %5 = alloca i32, align 4 store ptr %0, ptr %2, align 8, !tbaa !6 %6 = load ptr, ptr %2, align 8 %7 = getelementptr inbounds nuw %class.ezSAT, ptr %6, i32 0, i32 6 call void @llvm.lifetime.start.p0(i64 32, ptr %3) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #18 invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(32) %3) to label %8 unwind label %12 8: ; preds = %1 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %3) #18 %9 = getelementptr inbounds nuw %class.ezSAT, ptr %6, i32 0, i32 6 %10 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %11 = trunc i64 %10 to i32 ret i32 %11 12: ; preds = %1 %13 = landingpad { ptr, i32 } cleanup %14 = extractvalue { ptr, i32 } %13, 0 store ptr %14, ptr %4, align 8 %15 = extractvalue { ptr, i32 } %13, 1 store i32 %15, ptr %5, align 4 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %3) #18 br label %16 16: ; preds = %12 %17 = load ptr, ptr %4, align 8 %18 = load i32, ptr %5, align 4 %19 = insertvalue { ptr, i32 } poison, ptr %17, 0 %20 = insertvalue { ptr, i32 } %19, i32 %18, 1 resume { ptr, i32 } %20 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !62 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !71 %7 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEERS5_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 %3 = alloca %"class.std::allocator.24", align 1 store ptr %0, ptr %2, align 8, !tbaa !71 %4 = load ptr, ptr %2, align 8 %5 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %4, i32 0, i32 0 %6 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %4) call void @llvm.lifetime.start.p0(i64 1, ptr %3) #18 call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %6, ptr noundef nonnull align 1 dereferenceable(1) %3) to label %7 unwind label %10 7: ; preds = %1 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %3) #18 %8 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_M_use_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #18 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 0) to label %9 unwind label %10 9: ; preds = %7 ret void 10: ; preds = %7, %1 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 call void @__clang_call_terminate(ptr %12) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !62 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %4, i32 0, i32 1 %6 = load ptr, ptr %5, align 8, !tbaa !86 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !85 %10 = ptrtoint ptr %6 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 32 ret i64 %13 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i64 @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE5countERS9_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %6 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 store ptr %0, ptr %3, align 8, !tbaa !60 store ptr %1, ptr %4, align 8, !tbaa !71 %7 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %8 = getelementptr inbounds nuw %"class.std::map", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %4, align 8, !tbaa !71 %10 = call ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef nonnull align 8 dereferenceable(32) %9) %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %5, i32 0, i32 0 store ptr %10, ptr %11, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %12 = getelementptr inbounds nuw %"class.std::map", ptr %7, i32 0, i32 0 %13 = call ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #18 %14 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %6, i32 0, i32 0 store ptr %13, ptr %14, align 8 %15 = call noundef zeroext i1 @_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %16 = select i1 %15, i32 0, i32 1 %17 = sext i32 %16 to i64 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret i64 %17 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 store ptr %0, ptr %3, align 8, !tbaa !62 store ptr %1, ptr %4, align 8, !tbaa !71 %6 = load ptr, ptr %3, align 8 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !86 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %10, i32 0, i32 2 %12 = load ptr, ptr %11, align 8, !tbaa !90 %13 = icmp ne ptr %9, %12 br i1 %13, label %14, label %24 14: ; preds = %2 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %16, i32 0, i32 1 %18 = load ptr, ptr %17, align 8, !tbaa !86 %19 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JRKS5_EEEvRS6_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef %18, ptr noundef nonnull align 8 dereferenceable(32) %19) %20 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !86 %23 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %22, i32 1 store ptr %23, ptr %21, align 8, !tbaa !86 br label %30 24: ; preds = %2 %25 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %5, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = load ptr, ptr %4, align 8, !tbaa !71 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %5, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr %29, ptr noundef nonnull align 8 dereferenceable(32) %27) br label %30 30: ; preds = %24, %14 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Rb_tree_iterator", align 8 %6 = alloca %"struct.std::_Rb_tree_iterator", align 8 %7 = alloca %"struct.std::less", align 1 %8 = alloca %"struct.std::_Rb_tree_iterator", align 8 %9 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %10 = alloca %"class.std::tuple", align 8 %11 = alloca %"class.std::tuple.59", align 1 store ptr %0, ptr %3, align 8, !tbaa !60 store ptr %1, ptr %4, align 8, !tbaa !71 %12 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !71 %14 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE11lower_boundERS9_(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(32) %13) %15 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %5, i32 0, i32 0 store ptr %14, ptr %15, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %16 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #18 %17 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %6, i32 0, i32 0 store ptr %16, ptr %17, align 8 %18 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 br i1 %18, label %24, label %19 19: ; preds = %2 call void @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %12) %20 = load ptr, ptr %4, align 8, !tbaa !71 %21 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %22 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %21, i32 0, i32 0 %23 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %22) br label %24 24: ; preds = %19, %2 %25 = phi i1 [ true, %2 ], [ %23, %19 ] call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br i1 %25, label %26, label %33 26: ; preds = %24 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %27 = getelementptr inbounds nuw %"class.std::map", ptr %12, i32 0, i32 0 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2ERKSt17_Rb_tree_iteratorIS8_E(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %5) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %28 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS7_EEEbE4typeELb1EEES7_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(32) %28) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %11) #18 %29 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %9, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = call ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %27, ptr %30, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 1 dereferenceable(1) %11) %32 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 store ptr %31, ptr %32, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 call void @llvm.lifetime.end.p0(i64 1, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 br label %33 33: ; preds = %26, %24 %34 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %35 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %34, i32 0, i32 1 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret ptr %35 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE2atERS9_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Rb_tree_iterator", align 8 %6 = alloca %"struct.std::_Rb_tree_iterator", align 8 %7 = alloca %"struct.std::less", align 1 store ptr %0, ptr %3, align 8, !tbaa !60 store ptr %1, ptr %4, align 8, !tbaa !71 %8 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %9 = load ptr, ptr %4, align 8, !tbaa !71 %10 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE11lower_boundERS9_(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef nonnull align 8 dereferenceable(32) %9) %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %5, i32 0, i32 0 store ptr %10, ptr %11, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %12 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %13 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %6, i32 0, i32 0 store ptr %12, ptr %13, align 8 %14 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 br i1 %14, label %20, label %15 15: ; preds = %2 call void @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %8) %16 = load ptr, ptr %4, align 8, !tbaa !71 %17 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %18 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %17, i32 0, i32 0 %19 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %18) br label %20 20: ; preds = %15, %2 %21 = phi i1 [ true, %2 ], [ %19, %15 ] call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br i1 %21, label %22, label %23 22: ; preds = %20 call void @_ZSt20__throw_out_of_rangePKc(ptr noundef @.str.54) #19 unreachable 23: ; preds = %20 %24 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %25 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %24, i32 0, i32 1 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret ptr %25 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT14frozen_literalEv(ptr noundef nonnull align 8 dereferenceable(284) %0) #0 align 2 { %2 = alloca ptr, align 8 %3 = alloca i32, align 4 store ptr %0, ptr %2, align 8, !tbaa !6 %4 = load ptr, ptr %2, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %3) #18 %5 = call noundef i32 @_ZN5ezSAT7literalEv(ptr noundef nonnull align 8 dereferenceable(284) %4) store i32 %5, ptr %3, align 4, !tbaa !72 %6 = load i32, ptr %3, align 4, !tbaa !72 %7 = load ptr, ptr %4, align 8, !tbaa !11 %8 = getelementptr inbounds ptr, ptr %7, i64 4 %9 = load ptr, ptr %8, align 8 call void %9(ptr noundef nonnull align 8 dereferenceable(284) %4, i32 noundef %6) %10 = load i32, ptr %3, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %3) #18 ret i32 %10 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT14frozen_literalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !71 %6 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !71 %8 = call noundef i32 @_ZN5ezSAT7literalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %6, ptr noundef nonnull align 8 dereferenceable(32) %7) store i32 %8, ptr %5, align 4, !tbaa !72 %9 = load i32, ptr %5, align 4, !tbaa !72 %10 = load ptr, ptr %6, align 8, !tbaa !11 %11 = getelementptr inbounds ptr, ptr %10, i64 4 %12 = load ptr, ptr %11, align 8 call void %12(ptr noundef nonnull align 8 dereferenceable(284) %6, i32 noundef %9) %13 = load i32, ptr %5, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %5) #18 ret i32 %13 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT10expressionENS_4OpIdEiiiiii(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, i32 noundef %5, i32 noundef %6, i32 noundef %7) #0 align 2 personality ptr @__gxx_personality_v0 { %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca i32, align 4 %15 = alloca i32, align 4 %16 = alloca i32, align 4 %17 = alloca %"class.std::vector.14", align 8 %18 = alloca %"class.std::allocator.16", align 1 %19 = alloca ptr, align 8 %20 = alloca i32, align 4 store ptr %0, ptr %9, align 8, !tbaa !6 store i32 %1, ptr %10, align 4, !tbaa !93 store i32 %2, ptr %11, align 4, !tbaa !72 store i32 %3, ptr %12, align 4, !tbaa !72 store i32 %4, ptr %13, align 4, !tbaa !72 store i32 %5, ptr %14, align 4, !tbaa !72 store i32 %6, ptr %15, align 4, !tbaa !72 store i32 %7, ptr %16, align 4, !tbaa !72 %21 = load ptr, ptr %9, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %17) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %18) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 6, ptr noundef nonnull align 1 dereferenceable(1) %18) to label %22 unwind label %38 22: ; preds = %8 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %18) #18 %23 = load i32, ptr %11, align 4, !tbaa !72 %24 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 0) #18 store i32 %23, ptr %24, align 4, !tbaa !72 %25 = load i32, ptr %12, align 4, !tbaa !72 %26 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 1) #18 store i32 %25, ptr %26, align 4, !tbaa !72 %27 = load i32, ptr %13, align 4, !tbaa !72 %28 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 2) #18 store i32 %27, ptr %28, align 4, !tbaa !72 %29 = load i32, ptr %14, align 4, !tbaa !72 %30 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 3) #18 store i32 %29, ptr %30, align 4, !tbaa !72 %31 = load i32, ptr %15, align 4, !tbaa !72 %32 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 4) #18 store i32 %31, ptr %32, align 4, !tbaa !72 %33 = load i32, ptr %16, align 4, !tbaa !72 %34 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 5) #18 store i32 %33, ptr %34, align 4, !tbaa !72 %35 = load i32, ptr %10, align 4, !tbaa !93 %36 = invoke noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %21, i32 noundef %35, ptr noundef nonnull align 8 dereferenceable(24) %17) to label %37 unwind label %42 37: ; preds = %22 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %17) #18 ret i32 %36 38: ; preds = %8 %39 = landingpad { ptr, i32 } cleanup %40 = extractvalue { ptr, i32 } %39, 0 store ptr %40, ptr %19, align 8 %41 = extractvalue { ptr, i32 } %39, 1 store i32 %41, ptr %20, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %18) #18 br label %46 42: ; preds = %22 %43 = landingpad { ptr, i32 } cleanup %44 = extractvalue { ptr, i32 } %43, 0 store ptr %44, ptr %19, align 8 %45 = extractvalue { ptr, i32 } %43, 1 store i32 %45, ptr %20, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 br label %46 46: ; preds = %42, %38 call void @llvm.lifetime.end.p0(i64 24, ptr %17) #18 br label %47 47: ; preds = %46 %48 = load ptr, ptr %19, align 8 %49 = load i32, ptr %20, align 4 %50 = insertvalue { ptr, i32 } poison, ptr %48, 0 %51 = insertvalue { ptr, i32 } %50, i32 %49, 1 resume { ptr, i32 } %51 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !95 %3 = load ptr, ptr %2, align 8 call void @_ZNSt15__new_allocatorIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !68 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !95 %9 = load ptr, ptr %4, align 8 %10 = load i64, ptr %5, align 8, !tbaa !97 %11 = load ptr, ptr %6, align 8, !tbaa !95 %12 = call noundef i64 @_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_(i64 noundef %10, ptr noundef nonnull align 1 dereferenceable(1) %11) %13 = load ptr, ptr %6, align 8, !tbaa !95 call void @_ZNSt12_Vector_baseIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13) %14 = load i64, ptr %5, align 8, !tbaa !97 invoke void @_ZNSt6vectorIiSaIiEE21_M_default_initializeEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %14) to label %15 unwind label %16 15: ; preds = %3 ret void 16: ; preds = %3 %17 = landingpad { ptr, i32 } cleanup %18 = extractvalue { ptr, i32 } %17, 0 store ptr %18, ptr %7, align 8 %19 = extractvalue { ptr, i32 } %17, 1 store i32 %19, ptr %8, align 4 call void @_ZNSt12_Vector_baseIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 br label %20 20: ; preds = %16 %21 = load ptr, ptr %7, align 8 %22 = load i32, ptr %8, align 4 %23 = insertvalue { ptr, i32 } poison, ptr %21, 0 %24 = insertvalue { ptr, i32 } %23, i32 %22, 1 resume { ptr, i32 } %24 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !81 %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = getelementptr inbounds nuw i32, ptr %8, i64 %9 ret ptr %10 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca i32, align 4 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca ptr, align 8 %8 = alloca %"class.std::vector.14", align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca i8, align 1 %12 = alloca ptr, align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %15 = alloca i32, align 4 %16 = alloca i32, align 4 %17 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %18 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %19 = alloca i32, align 4 %20 = alloca i32, align 4 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca i1, align 1 %23 = alloca %"struct.std::pair", align 8 %24 = alloca i32, align 4 %25 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %5, align 8, !tbaa !6 store i32 %1, ptr %6, align 4, !tbaa !93 store ptr %2, ptr %7, align 8, !tbaa !68 %26 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %8) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %27 = load ptr, ptr %7, align 8, !tbaa !68 %28 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #18 invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %28) to label %29 unwind label %41 29: ; preds = %3 call void @llvm.lifetime.start.p0(i64 1, ptr %11) #18 store i8 0, ptr %11, align 1, !tbaa !87 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %26, i32 noundef 123) %30 = load i32, ptr %6, align 4, !tbaa !93 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %26, i32 noundef %30) call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %31 = load ptr, ptr %7, align 8, !tbaa !68 store ptr %31, ptr %12, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %32 = load ptr, ptr %12, align 8, !tbaa !68 %33 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #18 %34 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %13, i32 0, i32 0 store ptr %33, ptr %34, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 %35 = load ptr, ptr %12, align 8, !tbaa !68 %36 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %35) #18 %37 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %14, i32 0, i32 0 store ptr %36, ptr %37, align 8 br label %38 38: ; preds = %85, %29 %39 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14) #18 br i1 %39, label %45, label %40 40: ; preds = %38 store i32 2, ptr %15, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 br label %91 41: ; preds = %3 %42 = landingpad { ptr, i32 } cleanup %43 = extractvalue { ptr, i32 } %42, 0 store ptr %43, ptr %9, align 8 %44 = extractvalue { ptr, i32 } %42, 1 store i32 %44, ptr %10, align 4 br label %310 45: ; preds = %38 call void @llvm.lifetime.start.p0(i64 4, ptr %16) #18 %46 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %13) #18 %47 = load i32, ptr %46, align 4, !tbaa !72 store i32 %47, ptr %16, align 4, !tbaa !72 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %26, i32 noundef 128) %48 = load i32, ptr %16, align 4, !tbaa !72 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %26, i32 noundef %48) %49 = load i32, ptr %16, align 4, !tbaa !72 %50 = icmp eq i32 %49, 0 br i1 %50, label %51, label %52 51: ; preds = %45 store i32 3, ptr %15, align 4 br label %82 52: ; preds = %45 %53 = load i32, ptr %6, align 4, !tbaa !93 %54 = icmp eq i32 %53, 1 br i1 %54, label %55, label %59 55: ; preds = %52 %56 = load i32, ptr %16, align 4, !tbaa !72 %57 = icmp eq i32 %56, 1 br i1 %57, label %58, label %59 58: ; preds = %55 store i32 3, ptr %15, align 4 br label %82 59: ; preds = %55, %52 %60 = load i32, ptr %6, align 4, !tbaa !93 %61 = icmp eq i32 %60, 2 br i1 %61, label %65, label %62 62: ; preds = %59 %63 = load i32, ptr %6, align 4, !tbaa !93 %64 = icmp eq i32 %63, 3 br i1 %64, label %65, label %69 65: ; preds = %62, %59 %66 = load i32, ptr %16, align 4, !tbaa !72 %67 = icmp eq i32 %66, 2 br i1 %67, label %68, label %69 68: ; preds = %65 store i32 3, ptr %15, align 4 br label %82 69: ; preds = %65, %62 %70 = load i32, ptr %6, align 4, !tbaa !93 %71 = icmp eq i32 %70, 3 br i1 %71, label %72, label %80 72: ; preds = %69 %73 = load i32, ptr %16, align 4, !tbaa !72 %74 = icmp eq i32 %73, 1 br i1 %74, label %75, label %80 75: ; preds = %72 %76 = load i8, ptr %11, align 1, !tbaa !87, !range !88, !noundef !89 %77 = trunc i8 %76 to i1 %78 = xor i1 %77, true %79 = zext i1 %78 to i8 store i8 %79, ptr %11, align 1, !tbaa !87 store i32 3, ptr %15, align 4 br label %82 80: ; preds = %72, %69 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %16) to label %81 unwind label %87 81: ; preds = %80 store i32 0, ptr %15, align 4 br label %82 82: ; preds = %81, %75, %68, %58, %51 call void @llvm.lifetime.end.p0(i64 4, ptr %16) #18 %83 = load i32, ptr %15, align 4 switch i32 %83, label %316 [ i32 0, label %84 i32 3, label %85 ] 84: ; preds = %82 br label %85 85: ; preds = %84, %82 %86 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %13) #18 br label %38 87: ; preds = %80 %88 = landingpad { ptr, i32 } cleanup %89 = extractvalue { ptr, i32 } %88, 0 store ptr %89, ptr %9, align 8 %90 = extractvalue { ptr, i32 } %88, 1 store i32 %90, ptr %10, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 br label %309 91: ; preds = %40 %92 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %93 = icmp ugt i64 %92, 0 br i1 %93, label %94, label %168 94: ; preds = %91 %95 = load i32, ptr %6, align 4, !tbaa !93 %96 = icmp eq i32 %95, 1 br i1 %96, label %106, label %97 97: ; preds = %94 %98 = load i32, ptr %6, align 4, !tbaa !93 %99 = icmp eq i32 %98, 2 br i1 %99, label %106, label %100 100: ; preds = %97 %101 = load i32, ptr %6, align 4, !tbaa !93 %102 = icmp eq i32 %101, 3 br i1 %102, label %106, label %103 103: ; preds = %100 %104 = load i32, ptr %6, align 4, !tbaa !93 %105 = icmp eq i32 %104, 4 br i1 %105, label %106, label %168 106: ; preds = %103, %100, %97, %94 %107 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %108 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %17, i32 0, i32 0 store ptr %107, ptr %108, align 8 %109 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %110 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %18, i32 0, i32 0 store ptr %109, ptr %110, align 8 %111 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %17, i32 0, i32 0 %112 = load ptr, ptr %111, align 8 %113 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %18, i32 0, i32 0 %114 = load ptr, ptr %113, align 8 invoke void @_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_(ptr %112, ptr %114) to label %115 unwind label %122 115: ; preds = %106 call void @llvm.lifetime.start.p0(i64 4, ptr %19) #18 store i32 0, ptr %19, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %20) #18 store i32 1, ptr %20, align 4, !tbaa !72 br label %116 116: ; preds = %156, %115 %117 = load i32, ptr %20, align 4, !tbaa !72 %118 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %119 = trunc i64 %118 to i32 %120 = icmp slt i32 %117, %119 br i1 %120, label %126, label %121 121: ; preds = %116 store i32 4, ptr %15, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %20) #18 br label %159 122: ; preds = %216, %106 %123 = landingpad { ptr, i32 } cleanup %124 = extractvalue { ptr, i32 } %123, 0 store ptr %124, ptr %9, align 8 %125 = extractvalue { ptr, i32 } %123, 1 store i32 %125, ptr %10, align 4 br label %309 126: ; preds = %116 %127 = load i32, ptr %19, align 4, !tbaa !72 %128 = icmp slt i32 %127, 0 br i1 %128, label %139, label %129 129: ; preds = %126 %130 = load i32, ptr %19, align 4, !tbaa !72 %131 = sext i32 %130 to i64 %132 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %131) #18 %133 = load i32, ptr %132, align 4, !tbaa !72 %134 = load i32, ptr %20, align 4, !tbaa !72 %135 = sext i32 %134 to i64 %136 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %135) #18 %137 = load i32, ptr %136, align 4, !tbaa !72 %138 = icmp ne i32 %133, %137 br i1 %138, label %139, label %148 139: ; preds = %129, %126 %140 = load i32, ptr %20, align 4, !tbaa !72 %141 = sext i32 %140 to i64 %142 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %141) #18 %143 = load i32, ptr %142, align 4, !tbaa !72 %144 = load i32, ptr %19, align 4, !tbaa !72 %145 = add nsw i32 %144, 1 store i32 %145, ptr %19, align 4, !tbaa !72 %146 = sext i32 %145 to i64 %147 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %146) #18 store i32 %143, ptr %147, align 4, !tbaa !72 br label %155 148: ; preds = %129 %149 = load i32, ptr %6, align 4, !tbaa !93 %150 = icmp eq i32 %149, 3 br i1 %150, label %151, label %154 151: ; preds = %148 %152 = load i32, ptr %19, align 4, !tbaa !72 %153 = add nsw i32 %152, -1 store i32 %153, ptr %19, align 4, !tbaa !72 br label %154 154: ; preds = %151, %148 br label %155 155: ; preds = %154, %139 br label %156 156: ; preds = %155 %157 = load i32, ptr %20, align 4, !tbaa !72 %158 = add nsw i32 %157, 1 store i32 %158, ptr %20, align 4, !tbaa !72 br label %116, !llvm.loop !98 159: ; preds = %121 %160 = load i32, ptr %19, align 4, !tbaa !72 %161 = add nsw i32 %160, 1 %162 = sext i32 %161 to i64 invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %162) to label %163 unwind label %164 163: ; preds = %159 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %168 164: ; preds = %159 %165 = landingpad { ptr, i32 } cleanup %166 = extractvalue { ptr, i32 } %165, 0 store ptr %166, ptr %9, align 8 %167 = extractvalue { ptr, i32 } %165, 1 store i32 %167, ptr %10, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %309 168: ; preds = %163, %103, %91 %169 = load i32, ptr %6, align 4, !tbaa !93 switch i32 %169, label %258 [ i32 0, label %170 i32 1, label %181 i32 2, label %192 i32 3, label %203 i32 4, label %238 i32 5, label %243 ] 170: ; preds = %168 %171 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #18 %172 = load i32, ptr %171, align 4, !tbaa !72 %173 = icmp eq i32 %172, 1 br i1 %173, label %174, label %175 174: ; preds = %170 store i32 2, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 175: ; preds = %170 %176 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #18 %177 = load i32, ptr %176, align 4, !tbaa !72 %178 = icmp eq i32 %177, 2 br i1 %178, label %179, label %180 179: ; preds = %175 store i32 1, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 180: ; preds = %175 br label %259 181: ; preds = %168 %182 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %183 = icmp eq i64 %182, 0 br i1 %183, label %184, label %185 184: ; preds = %181 store i32 1, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 185: ; preds = %181 %186 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %187 = icmp eq i64 %186, 1 br i1 %187, label %188, label %191 188: ; preds = %185 %189 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #18 %190 = load i32, ptr %189, align 4, !tbaa !72 store i32 %190, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 191: ; preds = %185 br label %259 192: ; preds = %168 %193 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %194 = icmp eq i64 %193, 0 br i1 %194, label %195, label %196 195: ; preds = %192 store i32 2, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 196: ; preds = %192 %197 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %198 = icmp eq i64 %197, 1 br i1 %198, label %199, label %202 199: ; preds = %196 %200 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #18 %201 = load i32, ptr %200, align 4, !tbaa !72 store i32 %201, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 202: ; preds = %196 br label %259 203: ; preds = %168 %204 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %205 = icmp eq i64 %204, 0 br i1 %205, label %206, label %210 206: ; preds = %203 %207 = load i8, ptr %11, align 1, !tbaa !87, !range !88, !noundef !89 %208 = trunc i8 %207 to i1 %209 = select i1 %208, i32 1, i32 2 store i32 %209, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 210: ; preds = %203 %211 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %212 = icmp eq i64 %211, 1 br i1 %212, label %213, label %237 213: ; preds = %210 %214 = load i8, ptr %11, align 1, !tbaa !87, !range !88, !noundef !89 %215 = trunc i8 %214 to i1 store i1 false, ptr %22, align 1 br i1 %215, label %216, label %222 216: ; preds = %213 %217 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #18 %218 = load i32, ptr %217, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef %218) to label %219 unwind label %122 219: ; preds = %216 store i1 true, ptr %22, align 1 %220 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %26, ptr noundef %21) to label %221 unwind label %230 221: ; preds = %219 br label %225 222: ; preds = %213 %223 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #18 %224 = load i32, ptr %223, align 4, !tbaa !72 br label %225 225: ; preds = %222, %221 %226 = phi i32 [ %220, %221 ], [ %224, %222 ] store i32 %226, ptr %4, align 4 %227 = load i1, ptr %22, align 1 br i1 %227, label %228, label %229 228: ; preds = %225 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %229 229: ; preds = %228, %225 store i32 1, ptr %15, align 4 br label %307 230: ; preds = %219 %231 = landingpad { ptr, i32 } cleanup %232 = extractvalue { ptr, i32 } %231, 0 store ptr %232, ptr %9, align 8 %233 = extractvalue { ptr, i32 } %231, 1 store i32 %233, ptr %10, align 4 %234 = load i1, ptr %22, align 1 br i1 %234, label %235, label %236 235: ; preds = %230 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %236 236: ; preds = %235, %230 br label %309 237: ; preds = %210 br label %259 238: ; preds = %168 %239 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %240 = icmp eq i64 %239, 1 br i1 %240, label %241, label %242 241: ; preds = %238 store i32 1, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 242: ; preds = %238 br label %259 243: ; preds = %168 %244 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #18 %245 = load i32, ptr %244, align 4, !tbaa !72 %246 = icmp eq i32 %245, 1 br i1 %246, label %247, label %250 247: ; preds = %243 %248 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 1) #18 %249 = load i32, ptr %248, align 4, !tbaa !72 store i32 %249, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 250: ; preds = %243 %251 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #18 %252 = load i32, ptr %251, align 4, !tbaa !72 %253 = icmp eq i32 %252, 2 br i1 %253, label %254, label %257 254: ; preds = %250 %255 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 2) #18 %256 = load i32, ptr %255, align 4, !tbaa !72 store i32 %256, ptr %4, align 4 store i32 1, ptr %15, align 4 br label %307 257: ; preds = %250 br label %259 258: ; preds = %168 call void @abort() #20 unreachable 259: ; preds = %257, %242, %237, %202, %191, %180 call void @llvm.lifetime.start.p0(i64 32, ptr %23) #18 invoke void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2IRS1_RS4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISA_SB_EEEbE4typeELb1EEEOSA_OSB_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 8 dereferenceable(24) %8) to label %260 unwind label %270 260: ; preds = %259 call void @llvm.lifetime.start.p0(i64 4, ptr %24) #18 store i32 0, ptr %24, align 4, !tbaa !72 %261 = getelementptr inbounds nuw %class.ezSAT, ptr %26, i32 0, i32 7 %262 = invoke noundef i64 @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE5countERS9_(ptr noundef nonnull align 8 dereferenceable(48) %261, ptr noundef nonnull align 8 dereferenceable(32) %23) to label %263 unwind label %274 263: ; preds = %260 %264 = icmp ugt i64 %262, 0 br i1 %264, label %265, label %278 265: ; preds = %263 %266 = getelementptr inbounds nuw %class.ezSAT, ptr %26, i32 0, i32 7 %267 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE2atERS9_(ptr noundef nonnull align 8 dereferenceable(48) %266, ptr noundef nonnull align 8 dereferenceable(32) %23) to label %268 unwind label %274 268: ; preds = %265 %269 = load i32, ptr %267, align 4, !tbaa !72 store i32 %269, ptr %24, align 4, !tbaa !72 br label %290 270: ; preds = %259 %271 = landingpad { ptr, i32 } cleanup %272 = extractvalue { ptr, i32 } %271, 0 store ptr %272, ptr %9, align 8 %273 = extractvalue { ptr, i32 } %271, 1 store i32 %273, ptr %10, align 4 br label %306 274: ; preds = %293, %287, %278, %265, %260 %275 = landingpad { ptr, i32 } cleanup %276 = extractvalue { ptr, i32 } %275, 0 store ptr %276, ptr %9, align 8 %277 = extractvalue { ptr, i32 } %275, 1 store i32 %277, ptr %10, align 4 br label %305 278: ; preds = %263 %279 = getelementptr inbounds nuw %class.ezSAT, ptr %26, i32 0, i32 8 %280 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %279) #18 %281 = trunc i64 %280 to i32 %282 = add nsw i32 %281, 1 %283 = sub nsw i32 0, %282 store i32 %283, ptr %24, align 4, !tbaa !72 %284 = load i32, ptr %24, align 4, !tbaa !72 %285 = getelementptr inbounds nuw %class.ezSAT, ptr %26, i32 0, i32 7 %286 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %285, ptr noundef nonnull align 8 dereferenceable(32) %23) to label %287 unwind label %274 287: ; preds = %278 store i32 %284, ptr %286, align 4, !tbaa !72 %288 = getelementptr inbounds nuw %class.ezSAT, ptr %26, i32 0, i32 8 invoke void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %288, ptr noundef nonnull align 8 dereferenceable(32) %23) to label %289 unwind label %274 289: ; preds = %287 br label %290 290: ; preds = %289, %268 %291 = load i8, ptr %11, align 1, !tbaa !87, !range !88, !noundef !89 %292 = trunc i8 %291 to i1 br i1 %292, label %293, label %302 293: ; preds = %290 %294 = load i32, ptr %24, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef %294) to label %295 unwind label %274 295: ; preds = %293 %296 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %26, ptr noundef %25) to label %297 unwind label %298 297: ; preds = %295 store i32 %296, ptr %24, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %302 298: ; preds = %295 %299 = landingpad { ptr, i32 } cleanup %300 = extractvalue { ptr, i32 } %299, 0 store ptr %300, ptr %9, align 8 %301 = extractvalue { ptr, i32 } %299, 1 store i32 %301, ptr %10, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %305 302: ; preds = %297, %290 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %26, i32 noundef 219) %303 = load i32, ptr %24, align 4, !tbaa !72 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %26, i32 noundef %303) %304 = load i32, ptr %24, align 4, !tbaa !72 store i32 %304, ptr %4, align 4 store i32 1, ptr %15, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 call void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %23) #18 br label %307 305: ; preds = %298, %274 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 call void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #18 br label %306 306: ; preds = %305, %270 call void @llvm.lifetime.end.p0(i64 32, ptr %23) #18 br label %309 307: ; preds = %302, %254, %247, %241, %229, %206, %199, %195, %188, %184, %179, %174 call void @llvm.lifetime.end.p0(i64 1, ptr %11) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %8) #18 %308 = load i32, ptr %4, align 4 ret i32 %308 309: ; preds = %306, %236, %164, %122, %87 call void @llvm.lifetime.end.p0(i64 1, ptr %11) #18 br label %310 310: ; preds = %309, %41 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %8) #18 br label %311 311: ; preds = %310 %312 = load ptr, ptr %9, align 8 %313 = load i32, ptr %10, align 4 %314 = insertvalue { ptr, i32 } poison, ptr %312, 0 %315 = insertvalue { ptr, i32 } %314, i32 %313, 1 resume { ptr, i32 } %315 316: ; preds = %82 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %7 = load ptr, ptr %3, align 8 %8 = load i64, ptr %4, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt6vectorIiSaIiEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %10 = icmp ugt i64 %8, %9 br i1 %10, label %11, label %12 11: ; preds = %2 call void @_ZSt20__throw_length_errorPKc(ptr noundef @.str.55) #19 unreachable 12: ; preds = %2 %13 = call noundef i64 @_ZNKSt6vectorIiSaIiEE8capacityEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %14 = load i64, ptr %4, align 8, !tbaa !97 %15 = icmp ult i64 %13, %14 br i1 %15, label %16, label %57 16: ; preds = %12 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %17 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 store i64 %17, ptr %5, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %18 = load i64, ptr %4, align 8, !tbaa !97 %19 = call noundef ptr @_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %18) store ptr %19, ptr %6, align 8, !tbaa !100 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %20, i32 0, i32 0 %22 = load ptr, ptr %21, align 8, !tbaa !81 %23 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %24 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %23, i32 0, i32 1 %25 = load ptr, ptr %24, align 8, !tbaa !82 %26 = load ptr, ptr %6, align 8, !tbaa !100 %27 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %28 = call noundef ptr @_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_(ptr noundef %22, ptr noundef %25, ptr noundef %26, ptr noundef nonnull align 1 dereferenceable(1) %27) #18 %29 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %30 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %29, i32 0, i32 0 %31 = load ptr, ptr %30, align 8, !tbaa !81 %32 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %33 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %32, i32 0, i32 2 %34 = load ptr, ptr %33, align 8, !tbaa !101 %35 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %36 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %35, i32 0, i32 0 %37 = load ptr, ptr %36, align 8, !tbaa !81 %38 = ptrtoint ptr %34 to i64 %39 = ptrtoint ptr %37 to i64 %40 = sub i64 %38, %39 %41 = sdiv exact i64 %40, 4 call void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef %31, i64 noundef %41) %42 = load ptr, ptr %6, align 8, !tbaa !100 %43 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %44 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %43, i32 0, i32 0 store ptr %42, ptr %44, align 8, !tbaa !81 %45 = load ptr, ptr %6, align 8, !tbaa !100 %46 = load i64, ptr %5, align 8, !tbaa !97 %47 = getelementptr inbounds nuw i32, ptr %45, i64 %46 %48 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %49 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %48, i32 0, i32 1 store ptr %47, ptr %49, align 8, !tbaa !82 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %51 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %50, i32 0, i32 0 %52 = load ptr, ptr %51, align 8, !tbaa !81 %53 = load i64, ptr %4, align 8, !tbaa !97 %54 = getelementptr inbounds nuw i32, ptr %52, i64 %53 %55 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %56 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %55, i32 0, i32 2 store ptr %54, ptr %56, align 8, !tbaa !101 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %57 57: ; preds = %16, %12 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %4, i32 0, i32 1 %6 = load ptr, ptr %5, align 8, !tbaa !82 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !81 %10 = ptrtoint ptr %6 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 4 ret i64 %13 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 0 call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 1 call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !102 store ptr %1, ptr %4, align 8, !tbaa !102 %5 = load ptr, ptr %3, align 8, !tbaa !102 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !100 %8 = load ptr, ptr %4, align 8, !tbaa !102 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !100 %11 = icmp ne ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !102 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !104 ret ptr %5 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !100 %6 = load ptr, ptr %3, align 8 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !82 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %10, i32 0, i32 2 %12 = load ptr, ptr %11, align 8, !tbaa !101 %13 = icmp ne ptr %9, %12 br i1 %13, label %14, label %24 14: ; preds = %2 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %16, i32 0, i32 1 %18 = load ptr, ptr %17, align 8, !tbaa !82 %19 = load ptr, ptr %4, align 8, !tbaa !100 call void @_ZNSt16allocator_traitsISaIiEE9constructIiJRKiEEEvRS0_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef %18, ptr noundef nonnull align 4 dereferenceable(4) %19) #18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !82 %23 = getelementptr inbounds nuw i32, ptr %22, i32 1 store ptr %23, ptr %21, align 8, !tbaa !82 br label %30 24: ; preds = %2 %25 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = load ptr, ptr %4, align 8, !tbaa !100 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 call void @_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr %29, ptr noundef nonnull align 4 dereferenceable(4) %27) br label %30 30: ; preds = %24, %14 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !102 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !104 %6 = getelementptr inbounds nuw i32, ptr %5, i32 1 store ptr %6, ptr %4, align 8, !tbaa !104 ret ptr %3 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_(ptr %0, ptr %1) #5 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %7, align 8 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @_ZN9__gnu_cxx5__ops16__iter_less_iterEv() %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 call void @_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %10, ptr %12) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 0 call void @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 1 call void @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %8 = icmp ugt i64 %6, %7 br i1 %8, label %9, label %13 9: ; preds = %2 %10 = load i64, ptr %4, align 8, !tbaa !97 %11 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %12 = sub i64 %10, %11 call void @_ZNSt6vectorIiSaIiEE17_M_default_appendEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %12) br label %24 13: ; preds = %2 %14 = load i64, ptr %4, align 8, !tbaa !97 %15 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %16 = icmp ult i64 %14, %15 br i1 %16, label %17, label %23 17: ; preds = %13 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %19 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %18, i32 0, i32 0 %20 = load ptr, ptr %19, align 8, !tbaa !81 %21 = load i64, ptr %4, align 8, !tbaa !97 %22 = getelementptr inbounds nuw i32, ptr %20, i64 %21 call void @_ZNSt6vectorIiSaIiEE15_M_erase_at_endEPi(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef %22) #18 br label %23 23: ; preds = %17, %13 br label %24 24: ; preds = %23, %9 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !107 %5 = load ptr, ptr %3, align 8 %6 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef %5) %7 = call noundef i32 @_ZN5ezSAT10expressionENS_4OpIdEiiiiii(ptr noundef nonnull align 8 dereferenceable(284) %5, i32 noundef 0, i32 noundef %6, i32 noundef 0, i32 noundef 0, i32 noundef 0, i32 noundef 0, i32 noundef 0) ret i32 %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %0, i32 noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !107 store i32 %1, ptr %4, align 4, !tbaa !72 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %5, i32 0, i32 0 %7 = load i32, ptr %4, align 4, !tbaa !72 store i32 %7, ptr %6, align 8, !tbaa !109 %8 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %5, i32 0, i32 1 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #18 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %0) unnamed_addr #4 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !107 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %3, i32 0, i32 1 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #18 ret void } ; Function Attrs: noreturn nounwind declare void @abort() #6 ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2IRS1_RS4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISA_SB_EEEbE4typeELb1EEEOSA_OSB_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 4 dereferenceable(4) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) unnamed_addr #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !113 store ptr %1, ptr %5, align 8, !tbaa !114 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !114 %10 = load i32, ptr %9, align 4, !tbaa !93 store i32 %10, ptr %8, align 8, !tbaa !115 %11 = getelementptr inbounds nuw %"struct.std::pair", ptr %7, i32 0, i32 1 %12 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %12) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i64 @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE5countERS9_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %6 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 store ptr %0, ptr %3, align 8, !tbaa !64 store ptr %1, ptr %4, align 8, !tbaa !113 %7 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %8 = getelementptr inbounds nuw %"class.std::map.3", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %4, align 8, !tbaa !113 %10 = call ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE4findERS7_(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef nonnull align 8 dereferenceable(32) %9) %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %5, i32 0, i32 0 store ptr %10, ptr %11, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %12 = getelementptr inbounds nuw %"class.std::map.3", ptr %7, i32 0, i32 0 %13 = call ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #18 %14 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %6, i32 0, i32 0 store ptr %13, ptr %14, align 8 %15 = call noundef zeroext i1 @_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %16 = select i1 %15, i32 0, i32 1 %17 = sext i32 %16 to i64 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret i64 %17 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE2atERS9_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %6 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %7 = alloca %"struct.std::less.46", align 1 store ptr %0, ptr %3, align 8, !tbaa !64 store ptr %1, ptr %4, align 8, !tbaa !113 %8 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %9 = load ptr, ptr %4, align 8, !tbaa !113 %10 = call ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE11lower_boundERS9_(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef nonnull align 8 dereferenceable(32) %9) %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %5, i32 0, i32 0 store ptr %10, ptr %11, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %12 = call ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %13 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %6, i32 0, i32 0 store ptr %12, ptr %13, align 8 %14 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 br i1 %14, label %20, label %15 15: ; preds = %2 call void @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %8) %16 = load ptr, ptr %4, align 8, !tbaa !113 %17 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %18 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %17, i32 0, i32 0 %19 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %18) br label %20 20: ; preds = %15, %2 %21 = phi i1 [ true, %2 ], [ %19, %15 ] call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br i1 %21, label %22, label %23 22: ; preds = %20 call void @_ZSt20__throw_out_of_rangePKc(ptr noundef @.str.54) #19 unreachable 23: ; preds = %20 %24 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %25 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %24, i32 0, i32 1 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret ptr %25 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !66 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %4, i32 0, i32 1 %6 = load ptr, ptr %5, align 8, !tbaa !84 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !83 %10 = ptrtoint ptr %6 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 32 ret i64 %13 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %6 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %7 = alloca %"struct.std::less.46", align 1 %8 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %9 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %10 = alloca %"class.std::tuple.66", align 8 %11 = alloca %"class.std::tuple.59", align 1 store ptr %0, ptr %3, align 8, !tbaa !64 store ptr %1, ptr %4, align 8, !tbaa !113 %12 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !113 %14 = call ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE11lower_boundERS9_(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(32) %13) %15 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %5, i32 0, i32 0 store ptr %14, ptr %15, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %16 = call ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #18 %17 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %6, i32 0, i32 0 store ptr %16, ptr %17, align 8 %18 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 br i1 %18, label %24, label %19 19: ; preds = %2 call void @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %12) %20 = load ptr, ptr %4, align 8, !tbaa !113 %21 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %22 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %21, i32 0, i32 0 %23 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %22) br label %24 24: ; preds = %19, %2 %25 = phi i1 [ true, %2 ], [ %23, %19 ] call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br i1 %25, label %26, label %33 26: ; preds = %24 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %27 = getelementptr inbounds nuw %"class.std::map.3", ptr %12, i32 0, i32 0 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2ERKSt17_Rb_tree_iteratorIS8_E(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %5) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %28 = load ptr, ptr %4, align 8, !tbaa !113 call void @_ZNSt5tupleIJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS8_EEEbE4typeELb1EEES8_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(32) %28) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %11) #18 %29 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %9, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = call ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %27, ptr %30, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 1 dereferenceable(1) %11) %32 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 store ptr %31, ptr %32, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 call void @llvm.lifetime.end.p0(i64 1, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 br label %33 33: ; preds = %26, %24 %34 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %35 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %34, i32 0, i32 1 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret ptr %35 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.69", align 8 store ptr %0, ptr %3, align 8, !tbaa !66 store ptr %1, ptr %4, align 8, !tbaa !113 %6 = load ptr, ptr %3, align 8 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !84 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %6, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %10, i32 0, i32 2 %12 = load ptr, ptr %11, align 8, !tbaa !117 %13 = icmp ne ptr %9, %12 br i1 %13, label %14, label %24 14: ; preds = %2 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %6, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %6, i32 0, i32 0 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %16, i32 0, i32 1 %18 = load ptr, ptr %17, align 8, !tbaa !84 %19 = load ptr, ptr %4, align 8, !tbaa !113 call void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE9constructIS6_JRKS6_EEEvRS7_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef %18, ptr noundef nonnull align 8 dereferenceable(32) %19) %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %6, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !84 %23 = getelementptr inbounds nuw %"struct.std::pair", ptr %22, i32 1 store ptr %23, ptr %21, align 8, !tbaa !84 br label %30 24: ; preds = %2 %25 = call ptr @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.69", ptr %5, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = load ptr, ptr %4, align 8, !tbaa !113 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.69", ptr %5, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 call void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr %29, ptr noundef nonnull align 8 dereferenceable(32) %27) br label %30 30: ; preds = %24, %14 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) unnamed_addr #4 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !113 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::pair", ptr %3, i32 0, i32 1 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #18 ret void } ; Function Attrs: mustprogress uwtable define void @_ZNK5ezSAT14lookup_literalEiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca i32, align 4 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store i32 %1, ptr %5, align 4, !tbaa !72 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %class.ezSAT, ptr %7, i32 0, i32 6 %9 = load i32, ptr %5, align 4, !tbaa !72 %10 = sub nsw i32 %9, 1 %11 = sext i32 %10 to i64 %12 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %11) #18 %13 = load ptr, ptr %6, align 8, !tbaa !71 %14 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %12) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !62 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !85 %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %8, i64 %9 ret ptr %10 } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !71 %7 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) ret ptr %7 } ; Function Attrs: mustprogress nounwind uwtable define noundef nonnull align 8 dereferenceable(32) ptr @_ZNK5ezSAT14lookup_literalB5cxx11Ei(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1) #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !6 store i32 %1, ptr %4, align 4, !tbaa !72 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %class.ezSAT, ptr %5, i32 0, i32 6 %7 = load i32, ptr %4, align 4, !tbaa !72 %8 = sub nsw i32 %7, 1 %9 = sext i32 %8 to i64 %10 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %9) #18 ret ptr %10 } ; Function Attrs: mustprogress uwtable define void @_ZNK5ezSAT17lookup_expressionEiRNS_4OpIdERSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 { %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !6 store i32 %1, ptr %6, align 4, !tbaa !72 store ptr %2, ptr %7, align 8, !tbaa !114 store ptr %3, ptr %8, align 8, !tbaa !68 %9 = load ptr, ptr %5, align 8 %10 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 8 %11 = load i32, ptr %6, align 4, !tbaa !72 %12 = sub nsw i32 0, %11 %13 = sub nsw i32 %12, 1 %14 = sext i32 %13 to i64 %15 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %14) #18 %16 = getelementptr inbounds nuw %"struct.std::pair", ptr %15, i32 0, i32 0 %17 = load i32, ptr %16, align 8, !tbaa !115 %18 = load ptr, ptr %7, align 8, !tbaa !114 store i32 %17, ptr %18, align 4, !tbaa !93 %19 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 8 %20 = load i32, ptr %6, align 4, !tbaa !72 %21 = sub nsw i32 0, %20 %22 = sub nsw i32 %21, 1 %23 = sext i32 %22 to i64 %24 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %23) #18 %25 = getelementptr inbounds nuw %"struct.std::pair", ptr %24, i32 0, i32 1 %26 = load ptr, ptr %8, align 8, !tbaa !68 %27 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %25) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !66 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !83 %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = getelementptr inbounds nuw %"struct.std::pair", ptr %8, i64 %9 ret ptr %10 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %14 = load ptr, ptr %3, align 8 %15 = load ptr, ptr %4, align 8, !tbaa !68 %16 = icmp ne ptr %15, %14 br i1 %16, label %17, label %133 17: ; preds = %2 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %18 = load ptr, ptr %4, align 8, !tbaa !68 %19 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 store i64 %19, ptr %5, align 8, !tbaa !97 %20 = load i64, ptr %5, align 8, !tbaa !97 %21 = call noundef i64 @_ZNKSt6vectorIiSaIiEE8capacityEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %22 = icmp ugt i64 %20, %21 br i1 %22, label %23, label %66 23: ; preds = %17 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %24 = load i64, ptr %5, align 8, !tbaa !97 %25 = load ptr, ptr %4, align 8, !tbaa !68 %26 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %25) #18 %27 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 store ptr %26, ptr %27, align 8 %28 = load ptr, ptr %4, align 8, !tbaa !68 %29 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #18 %30 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %29, ptr %30, align 8 %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 %32 = load ptr, ptr %31, align 8 %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 %34 = load ptr, ptr %33, align 8 %35 = call noundef ptr @_ZNSt6vectorIiSaIiEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKiS1_EEEEPimT_S9_(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %24, ptr %32, ptr %34) store ptr %35, ptr %6, align 8, !tbaa !100 %36 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %37 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %36, i32 0, i32 0 %38 = load ptr, ptr %37, align 8, !tbaa !81 %39 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %40 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %39, i32 0, i32 1 %41 = load ptr, ptr %40, align 8, !tbaa !82 %42 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @_ZSt8_DestroyIPiiEvT_S1_RSaIT0_E(ptr noundef %38, ptr noundef %41, ptr noundef nonnull align 1 dereferenceable(1) %42) %43 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %44 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %43, i32 0, i32 0 %45 = load ptr, ptr %44, align 8, !tbaa !81 %46 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %47 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %46, i32 0, i32 2 %48 = load ptr, ptr %47, align 8, !tbaa !101 %49 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %49, i32 0, i32 0 %51 = load ptr, ptr %50, align 8, !tbaa !81 %52 = ptrtoint ptr %48 to i64 %53 = ptrtoint ptr %51 to i64 %54 = sub i64 %52, %53 %55 = sdiv exact i64 %54, 4 call void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef %45, i64 noundef %55) %56 = load ptr, ptr %6, align 8, !tbaa !100 %57 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %58 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %57, i32 0, i32 0 store ptr %56, ptr %58, align 8, !tbaa !81 %59 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %60 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %59, i32 0, i32 0 %61 = load ptr, ptr %60, align 8, !tbaa !81 %62 = load i64, ptr %5, align 8, !tbaa !97 %63 = getelementptr inbounds nuw i32, ptr %61, i64 %62 %64 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %65 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %64, i32 0, i32 2 store ptr %63, ptr %65, align 8, !tbaa !101 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br label %125 66: ; preds = %17 %67 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %68 = load i64, ptr %5, align 8, !tbaa !97 %69 = icmp uge i64 %67, %68 br i1 %69, label %70, label %94 70: ; preds = %66 %71 = load ptr, ptr %4, align 8, !tbaa !68 %72 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %71) #18 %73 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 store ptr %72, ptr %73, align 8 %74 = load ptr, ptr %4, align 8, !tbaa !68 %75 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %74) #18 %76 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %11, i32 0, i32 0 store ptr %75, ptr %76, align 8 %77 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %78 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 store ptr %77, ptr %78, align 8 %79 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %80 = load ptr, ptr %79, align 8 %81 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %11, i32 0, i32 0 %82 = load ptr, ptr %81, align 8 %83 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %84 = load ptr, ptr %83, align 8 %85 = call ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EEET0_T_SB_SA_(ptr %80, ptr %82, ptr %84) %86 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 store ptr %85, ptr %86, align 8 %87 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %88 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 store ptr %87, ptr %88, align 8 %89 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %90 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %91 = load ptr, ptr %90, align 8 %92 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 %93 = load ptr, ptr %92, align 8 call void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RSaIT0_E(ptr %91, ptr %93, ptr noundef nonnull align 1 dereferenceable(1) %89) br label %124 94: ; preds = %66 %95 = load ptr, ptr %4, align 8, !tbaa !68 %96 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %95, i32 0, i32 0 %97 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %96, i32 0, i32 0 %98 = load ptr, ptr %97, align 8, !tbaa !81 %99 = load ptr, ptr %4, align 8, !tbaa !68 %100 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %99, i32 0, i32 0 %101 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %100, i32 0, i32 0 %102 = load ptr, ptr %101, align 8, !tbaa !81 %103 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %104 = getelementptr inbounds nuw i32, ptr %102, i64 %103 %105 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %106 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %105, i32 0, i32 0 %107 = load ptr, ptr %106, align 8, !tbaa !81 %108 = call noundef ptr @_ZSt4copyIPiS0_ET0_T_S2_S1_(ptr noundef %98, ptr noundef %104, ptr noundef %107) %109 = load ptr, ptr %4, align 8, !tbaa !68 %110 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %109, i32 0, i32 0 %111 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %110, i32 0, i32 0 %112 = load ptr, ptr %111, align 8, !tbaa !81 %113 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %114 = getelementptr inbounds nuw i32, ptr %112, i64 %113 %115 = load ptr, ptr %4, align 8, !tbaa !68 %116 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %115, i32 0, i32 0 %117 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %116, i32 0, i32 1 %118 = load ptr, ptr %117, align 8, !tbaa !82 %119 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %120 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %119, i32 0, i32 1 %121 = load ptr, ptr %120, align 8, !tbaa !82 %122 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %123 = call noundef ptr @_ZSt22__uninitialized_copy_aIPiS0_iET0_T_S2_S1_RSaIT1_E(ptr noundef %114, ptr noundef %118, ptr noundef %121, ptr noundef nonnull align 1 dereferenceable(1) %122) br label %124 124: ; preds = %94, %70 br label %125 125: ; preds = %124, %23 %126 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %127 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %126, i32 0, i32 0 %128 = load ptr, ptr %127, align 8, !tbaa !81 %129 = load i64, ptr %5, align 8, !tbaa !97 %130 = getelementptr inbounds nuw i32, ptr %128, i64 %129 %131 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %132 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %131, i32 0, i32 1 store ptr %130, ptr %132, align 8, !tbaa !82 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %133 133: ; preds = %125, %2 ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5ezSAT17lookup_expressionEiRNS_4OpIdE(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #1 align 2 { %4 = alloca ptr, align 8 %5 = alloca i32, align 4 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store i32 %1, ptr %5, align 4, !tbaa !72 store ptr %2, ptr %6, align 8, !tbaa !114 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %class.ezSAT, ptr %7, i32 0, i32 8 %9 = load i32, ptr %5, align 4, !tbaa !72 %10 = sub nsw i32 0, %9 %11 = sub nsw i32 %10, 1 %12 = sext i32 %11 to i64 %13 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %12) #18 %14 = getelementptr inbounds nuw %"struct.std::pair", ptr %13, i32 0, i32 0 %15 = load i32, ptr %14, align 8, !tbaa !115 %16 = load ptr, ptr %6, align 8, !tbaa !114 store i32 %15, ptr %16, align 4, !tbaa !93 %17 = getelementptr inbounds nuw %class.ezSAT, ptr %7, i32 0, i32 8 %18 = load i32, ptr %5, align 4, !tbaa !72 %19 = sub nsw i32 0, %18 %20 = sub nsw i32 %19, 1 %21 = sext i32 %20 to i64 %22 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %21) #18 %23 = getelementptr inbounds nuw %"struct.std::pair", ptr %22, i32 0, i32 1 ret ptr %23 } ; Function Attrs: mustprogress nounwind uwtable define noundef i32 @_ZN5ezSAT12parse_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !71 call void @abort() #20 unreachable } ; Function Attrs: mustprogress uwtable define void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, i32 noundef %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca i1, align 1 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"class.std::vector.14", align 8 %12 = alloca i32, align 4 %13 = alloca %"class.std::__cxx11::basic_string", align 8 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !6 store i32 %2, ptr %6, align 4, !tbaa !72 %14 = load ptr, ptr %5, align 8 store i1 false, ptr %7, align 1 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #18 %15 = load i32, ptr %6, align 4, !tbaa !72 %16 = icmp sgt i32 %15, 0 br i1 %16, label %17, label %24 17: ; preds = %3 %18 = load i32, ptr %6, align 4, !tbaa !72 invoke void @_ZNK5ezSAT14lookup_literalEiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %14, i32 noundef %18, ptr noundef nonnull align 8 dereferenceable(32) %0) to label %19 unwind label %20 19: ; preds = %17 br label %93 20: ; preds = %17 %21 = landingpad { ptr, i32 } cleanup %22 = extractvalue { ptr, i32 } %21, 0 store ptr %22, ptr %8, align 8 %23 = extractvalue { ptr, i32 } %21, 1 store i32 %23, ptr %9, align 4 br label %97 24: ; preds = %3 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %11) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 %25 = load i32, ptr %6, align 4, !tbaa !72 invoke void @_ZNK5ezSAT17lookup_expressionEiRNS_4OpIdERSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %14, i32 noundef %25, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 8 dereferenceable(24) %11) to label %26 unwind label %28 26: ; preds = %24 %27 = load i32, ptr %10, align 4, !tbaa !93 switch i32 %27, label %50 [ i32 0, label %32 i32 1, label %35 i32 2, label %38 i32 3, label %41 i32 4, label %44 i32 5, label %47 ] 28: ; preds = %89, %47, %44, %41, %38, %35, %32, %24 %29 = landingpad { ptr, i32 } cleanup %30 = extractvalue { ptr, i32 } %29, 0 store ptr %30, ptr %8, align 8 %31 = extractvalue { ptr, i32 } %29, 1 store i32 %31, ptr %9, align 4 br label %92 32: ; preds = %26 %33 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.2) to label %34 unwind label %28 34: ; preds = %32 br label %51 35: ; preds = %26 %36 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.3) to label %37 unwind label %28 37: ; preds = %35 br label %51 38: ; preds = %26 %39 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.4) to label %40 unwind label %28 40: ; preds = %38 br label %51 41: ; preds = %26 %42 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.5) to label %43 unwind label %28 43: ; preds = %41 br label %51 44: ; preds = %26 %45 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.6) to label %46 unwind label %28 46: ; preds = %44 br label %51 47: ; preds = %26 %48 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.7) to label %49 unwind label %28 49: ; preds = %47 br label %51 50: ; preds = %26 call void @abort() #20 unreachable 51: ; preds = %49, %46, %43, %40, %37, %34 call void @llvm.lifetime.start.p0(i64 4, ptr %12) #18 store i32 0, ptr %12, align 4, !tbaa !72 br label %52 52: ; preds = %76, %51 %53 = load i32, ptr %12, align 4, !tbaa !72 %54 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 %55 = trunc i64 %54 to i32 %56 = icmp slt i32 %53, %55 br i1 %56, label %58, label %57 57: ; preds = %52 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 br label %89 58: ; preds = %52 %59 = load i32, ptr %12, align 4, !tbaa !72 %60 = icmp sgt i32 %59, 0 br i1 %60, label %61, label %68 61: ; preds = %58 %62 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.8) to label %63 unwind label %64 63: ; preds = %61 br label %68 64: ; preds = %61 %65 = landingpad { ptr, i32 } cleanup %66 = extractvalue { ptr, i32 } %65, 0 store ptr %66, ptr %8, align 8 %67 = extractvalue { ptr, i32 } %65, 1 store i32 %67, ptr %9, align 4 br label %88 68: ; preds = %63, %58 call void @llvm.lifetime.start.p0(i64 32, ptr %13) #18 %69 = load i32, ptr %12, align 4, !tbaa !72 %70 = sext i32 %69 to i64 %71 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %70) #18 %72 = load i32, ptr %71, align 4, !tbaa !72 invoke void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(284) %14, i32 noundef %72) to label %73 unwind label %79 73: ; preds = %68 %74 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %13) to label %75 unwind label %83 75: ; preds = %73 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %13) #18 br label %76 76: ; preds = %75 %77 = load i32, ptr %12, align 4, !tbaa !72 %78 = add nsw i32 %77, 1 store i32 %78, ptr %12, align 4, !tbaa !72 br label %52, !llvm.loop !118 79: ; preds = %68 %80 = landingpad { ptr, i32 } cleanup %81 = extractvalue { ptr, i32 } %80, 0 store ptr %81, ptr %8, align 8 %82 = extractvalue { ptr, i32 } %80, 1 store i32 %82, ptr %9, align 4 br label %87 83: ; preds = %73 %84 = landingpad { ptr, i32 } cleanup %85 = extractvalue { ptr, i32 } %84, 0 store ptr %85, ptr %8, align 8 %86 = extractvalue { ptr, i32 } %84, 1 store i32 %86, ptr %9, align 4 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #18 br label %87 87: ; preds = %83, %79 call void @llvm.lifetime.end.p0(i64 32, ptr %13) #18 br label %88 88: ; preds = %87, %64 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 br label %92 89: ; preds = %57 %90 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.9) to label %91 unwind label %28 91: ; preds = %89 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %93 92: ; preds = %88, %28 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %97 93: ; preds = %91, %19 store i1 true, ptr %7, align 1 %94 = load i1, ptr %7, align 1 br i1 %94, label %96, label %95 95: ; preds = %93 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #18 br label %96 96: ; preds = %95, %93 ret void 97: ; preds = %92, %20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #18 br label %98 98: ; preds = %97 %99 = load ptr, ptr %8, align 8 %100 = load i32, ptr %9, align 4 %101 = insertvalue { ptr, i32 } poison, ptr %99, 0 %102 = insertvalue { ptr, i32 } %101, i32 %100, 1 resume { ptr, i32 } %102 } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !75 %7 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef %6) ret ptr %7 } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !75 %7 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef %6) ret ptr %7 } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !71 %7 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) ret ptr %7 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 { %4 = alloca i32, align 4 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca ptr, align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %16 = alloca i32, align 4 %17 = alloca ptr, align 8 %18 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %20 = alloca i32, align 4 %21 = alloca ptr, align 8 %22 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %23 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %24 = alloca i32, align 4 %25 = alloca ptr, align 8 %26 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %27 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %28 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !6 store i32 %1, ptr %6, align 4, !tbaa !72 store ptr %2, ptr %7, align 8, !tbaa !68 %29 = load ptr, ptr %5, align 8 %30 = load i32, ptr %6, align 4, !tbaa !72 %31 = icmp sgt i32 %30, 0 br i1 %31, label %32, label %70 32: ; preds = %3 %33 = load i32, ptr %6, align 4, !tbaa !72 %34 = load ptr, ptr %7, align 8, !tbaa !68 %35 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %34) #18 %36 = trunc i64 %35 to i32 %37 = icmp sle i32 %33, %36 br i1 %37, label %38, label %69 38: ; preds = %32 %39 = load ptr, ptr %7, align 8, !tbaa !68 %40 = load i32, ptr %6, align 4, !tbaa !72 %41 = sub nsw i32 %40, 1 %42 = sext i32 %41 to i64 %43 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %39, i64 noundef %42) #18 %44 = load i32, ptr %43, align 4, !tbaa !72 %45 = icmp eq i32 %44, 1 br i1 %45, label %62, label %46 46: ; preds = %38 %47 = load ptr, ptr %7, align 8, !tbaa !68 %48 = load i32, ptr %6, align 4, !tbaa !72 %49 = sub nsw i32 %48, 1 %50 = sext i32 %49 to i64 %51 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %50) #18 %52 = load i32, ptr %51, align 4, !tbaa !72 %53 = icmp eq i32 %52, 2 br i1 %53, label %62, label %54 54: ; preds = %46 %55 = load ptr, ptr %7, align 8, !tbaa !68 %56 = load i32, ptr %6, align 4, !tbaa !72 %57 = sub nsw i32 %56, 1 %58 = sext i32 %57 to i64 %59 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef %58) #18 %60 = load i32, ptr %59, align 4, !tbaa !72 %61 = icmp eq i32 %60, 0 br i1 %61, label %62, label %69 62: ; preds = %54, %46, %38 %63 = load ptr, ptr %7, align 8, !tbaa !68 %64 = load i32, ptr %6, align 4, !tbaa !72 %65 = sub nsw i32 %64, 1 %66 = sext i32 %65 to i64 %67 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %66) #18 %68 = load i32, ptr %67, align 4, !tbaa !72 store i32 %68, ptr %4, align 4 br label %270 69: ; preds = %54, %32 store i32 0, ptr %4, align 4 br label %270 70: ; preds = %3 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %71 = load i32, ptr %6, align 4, !tbaa !72 %72 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK5ezSAT17lookup_expressionEiRNS_4OpIdE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %71, ptr noundef nonnull align 4 dereferenceable(4) %8) store ptr %72, ptr %9, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 %73 = load i32, ptr %8, align 4, !tbaa !93 switch i32 %73, label %268 [ i32 0, label %74 i32 1, label %88 i32 2, label %125 i32 3, label %162 i32 4, label %202 i32 5, label %244 ] 74: ; preds = %70 %75 = load ptr, ptr %9, align 8, !tbaa !68 %76 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef 0) #18 %77 = load i32, ptr %76, align 4, !tbaa !72 %78 = load ptr, ptr %7, align 8, !tbaa !68 %79 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %77, ptr noundef nonnull align 8 dereferenceable(24) %78) store i32 %79, ptr %10, align 4, !tbaa !72 %80 = load i32, ptr %10, align 4, !tbaa !72 %81 = icmp eq i32 %80, 1 br i1 %81, label %82, label %83 82: ; preds = %74 store i32 2, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 83: ; preds = %74 %84 = load i32, ptr %10, align 4, !tbaa !72 %85 = icmp eq i32 %84, 2 br i1 %85, label %86, label %87 86: ; preds = %83 store i32 1, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 87: ; preds = %83 store i32 0, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 88: ; preds = %70 store i32 1, ptr %10, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %89 = load ptr, ptr %9, align 8, !tbaa !68 store ptr %89, ptr %13, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 %90 = load ptr, ptr %13, align 8, !tbaa !68 %91 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %90) #18 %92 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %14, i32 0, i32 0 store ptr %91, ptr %92, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 %93 = load ptr, ptr %13, align 8, !tbaa !68 %94 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %93) #18 %95 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %15, i32 0, i32 0 store ptr %94, ptr %95, align 8 br label %96 96: ; preds = %119, %88 %97 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15) #18 br i1 %97, label %99, label %98 98: ; preds = %96 store i32 3, ptr %12, align 4 br label %121 99: ; preds = %96 call void @llvm.lifetime.start.p0(i64 4, ptr %16) #18 %100 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #18 %101 = load i32, ptr %100, align 4, !tbaa !72 store i32 %101, ptr %16, align 4, !tbaa !72 %102 = load i32, ptr %16, align 4, !tbaa !72 %103 = load ptr, ptr %7, align 8, !tbaa !68 %104 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %102, ptr noundef nonnull align 8 dereferenceable(24) %103) store i32 %104, ptr %11, align 4, !tbaa !72 %105 = load i32, ptr %11, align 4, !tbaa !72 %106 = icmp ne i32 %105, 1 br i1 %106, label %107, label %111 107: ; preds = %99 %108 = load i32, ptr %11, align 4, !tbaa !72 %109 = icmp ne i32 %108, 2 br i1 %109, label %110, label %111 110: ; preds = %107 store i32 0, ptr %10, align 4, !tbaa !72 br label %111 111: ; preds = %110, %107, %99 %112 = load i32, ptr %11, align 4, !tbaa !72 %113 = icmp eq i32 %112, 2 br i1 %113, label %114, label %115 114: ; preds = %111 store i32 2, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %116 115: ; preds = %111 store i32 0, ptr %12, align 4 br label %116 116: ; preds = %115, %114 call void @llvm.lifetime.end.p0(i64 4, ptr %16) #18 %117 = load i32, ptr %12, align 4 switch i32 %117, label %121 [ i32 0, label %118 ] 118: ; preds = %116 br label %119 119: ; preds = %118 %120 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #18 br label %96 121: ; preds = %116, %98 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 %122 = load i32, ptr %12, align 4 switch i32 %122, label %269 [ i32 3, label %123 ] 123: ; preds = %121 %124 = load i32, ptr %10, align 4, !tbaa !72 store i32 %124, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 125: ; preds = %70 store i32 2, ptr %10, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %17) #18 %126 = load ptr, ptr %9, align 8, !tbaa !68 store ptr %126, ptr %17, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %18) #18 %127 = load ptr, ptr %17, align 8, !tbaa !68 %128 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %127) #18 %129 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %18, i32 0, i32 0 store ptr %128, ptr %129, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %19) #18 %130 = load ptr, ptr %17, align 8, !tbaa !68 %131 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #18 %132 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0 store ptr %131, ptr %132, align 8 br label %133 133: ; preds = %156, %125 %134 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #18 br i1 %134, label %136, label %135 135: ; preds = %133 store i32 5, ptr %12, align 4 br label %158 136: ; preds = %133 call void @llvm.lifetime.start.p0(i64 4, ptr %20) #18 %137 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #18 %138 = load i32, ptr %137, align 4, !tbaa !72 store i32 %138, ptr %20, align 4, !tbaa !72 %139 = load i32, ptr %20, align 4, !tbaa !72 %140 = load ptr, ptr %7, align 8, !tbaa !68 %141 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %139, ptr noundef nonnull align 8 dereferenceable(24) %140) store i32 %141, ptr %11, align 4, !tbaa !72 %142 = load i32, ptr %11, align 4, !tbaa !72 %143 = icmp ne i32 %142, 1 br i1 %143, label %144, label %148 144: ; preds = %136 %145 = load i32, ptr %11, align 4, !tbaa !72 %146 = icmp ne i32 %145, 2 br i1 %146, label %147, label %148 147: ; preds = %144 store i32 0, ptr %10, align 4, !tbaa !72 br label %148 148: ; preds = %147, %144, %136 %149 = load i32, ptr %11, align 4, !tbaa !72 %150 = icmp eq i32 %149, 1 br i1 %150, label %151, label %152 151: ; preds = %148 store i32 1, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %153 152: ; preds = %148 store i32 0, ptr %12, align 4 br label %153 153: ; preds = %152, %151 call void @llvm.lifetime.end.p0(i64 4, ptr %20) #18 %154 = load i32, ptr %12, align 4 switch i32 %154, label %158 [ i32 0, label %155 ] 155: ; preds = %153 br label %156 156: ; preds = %155 %157 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #18 br label %133 158: ; preds = %153, %135 call void @llvm.lifetime.end.p0(i64 8, ptr %19) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %17) #18 %159 = load i32, ptr %12, align 4 switch i32 %159, label %269 [ i32 5, label %160 ] 160: ; preds = %158 %161 = load i32, ptr %10, align 4, !tbaa !72 store i32 %161, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 162: ; preds = %70 store i32 2, ptr %10, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %21) #18 %163 = load ptr, ptr %9, align 8, !tbaa !68 store ptr %163, ptr %21, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %22) #18 %164 = load ptr, ptr %21, align 8, !tbaa !68 %165 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %164) #18 %166 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %22, i32 0, i32 0 store ptr %165, ptr %166, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %23) #18 %167 = load ptr, ptr %21, align 8, !tbaa !68 %168 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %167) #18 %169 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %23, i32 0, i32 0 store ptr %168, ptr %169, align 8 br label %170 170: ; preds = %196, %162 %171 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #18 br i1 %171, label %173, label %172 172: ; preds = %170 store i32 7, ptr %12, align 4 br label %198 173: ; preds = %170 call void @llvm.lifetime.start.p0(i64 4, ptr %24) #18 %174 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #18 %175 = load i32, ptr %174, align 4, !tbaa !72 store i32 %175, ptr %24, align 4, !tbaa !72 %176 = load i32, ptr %24, align 4, !tbaa !72 %177 = load ptr, ptr %7, align 8, !tbaa !68 %178 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %176, ptr noundef nonnull align 8 dereferenceable(24) %177) store i32 %178, ptr %11, align 4, !tbaa !72 %179 = load i32, ptr %11, align 4, !tbaa !72 %180 = icmp ne i32 %179, 1 br i1 %180, label %181, label %185 181: ; preds = %173 %182 = load i32, ptr %11, align 4, !tbaa !72 %183 = icmp ne i32 %182, 2 br i1 %183, label %184, label %185 184: ; preds = %181 store i32 0, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %193 185: ; preds = %181, %173 %186 = load i32, ptr %11, align 4, !tbaa !72 %187 = icmp eq i32 %186, 1 br i1 %187, label %188, label %192 188: ; preds = %185 %189 = load i32, ptr %10, align 4, !tbaa !72 %190 = icmp eq i32 %189, 1 %191 = select i1 %190, i32 2, i32 1 store i32 %191, ptr %10, align 4, !tbaa !72 br label %192 192: ; preds = %188, %185 store i32 0, ptr %12, align 4 br label %193 193: ; preds = %192, %184 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 %194 = load i32, ptr %12, align 4 switch i32 %194, label %198 [ i32 0, label %195 ] 195: ; preds = %193 br label %196 196: ; preds = %195 %197 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #18 br label %170 198: ; preds = %193, %172 call void @llvm.lifetime.end.p0(i64 8, ptr %23) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %21) #18 %199 = load i32, ptr %12, align 4 switch i32 %199, label %269 [ i32 7, label %200 ] 200: ; preds = %198 %201 = load i32, ptr %10, align 4, !tbaa !72 store i32 %201, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 202: ; preds = %70 %203 = load ptr, ptr %9, align 8, !tbaa !68 %204 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %203, i64 noundef 0) #18 %205 = load i32, ptr %204, align 4, !tbaa !72 %206 = load ptr, ptr %7, align 8, !tbaa !68 %207 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %205, ptr noundef nonnull align 8 dereferenceable(24) %206) store i32 %207, ptr %10, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %25) #18 %208 = load ptr, ptr %9, align 8, !tbaa !68 store ptr %208, ptr %25, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %26) #18 %209 = load ptr, ptr %25, align 8, !tbaa !68 %210 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %209) #18 %211 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %26, i32 0, i32 0 store ptr %210, ptr %211, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %27) #18 %212 = load ptr, ptr %25, align 8, !tbaa !68 %213 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %212) #18 %214 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %27, i32 0, i32 0 store ptr %213, ptr %214, align 8 br label %215 215: ; preds = %239, %202 %216 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(8) %27) #18 br i1 %216, label %218, label %217 217: ; preds = %215 store i32 9, ptr %12, align 4 br label %241 218: ; preds = %215 call void @llvm.lifetime.start.p0(i64 4, ptr %28) #18 %219 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26) #18 %220 = load i32, ptr %219, align 4, !tbaa !72 store i32 %220, ptr %28, align 4, !tbaa !72 %221 = load i32, ptr %28, align 4, !tbaa !72 %222 = load ptr, ptr %7, align 8, !tbaa !68 %223 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %221, ptr noundef nonnull align 8 dereferenceable(24) %222) store i32 %223, ptr %11, align 4, !tbaa !72 %224 = load i32, ptr %11, align 4, !tbaa !72 %225 = icmp ne i32 %224, 1 br i1 %225, label %226, label %230 226: ; preds = %218 %227 = load i32, ptr %11, align 4, !tbaa !72 %228 = icmp ne i32 %227, 2 br i1 %228, label %229, label %230 229: ; preds = %226 store i32 0, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %236 230: ; preds = %226, %218 %231 = load i32, ptr %11, align 4, !tbaa !72 %232 = load i32, ptr %10, align 4, !tbaa !72 %233 = icmp ne i32 %231, %232 br i1 %233, label %234, label %235 234: ; preds = %230 store i32 2, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %236 235: ; preds = %230 store i32 0, ptr %12, align 4 br label %236 236: ; preds = %235, %234, %229 call void @llvm.lifetime.end.p0(i64 4, ptr %28) #18 %237 = load i32, ptr %12, align 4 switch i32 %237, label %241 [ i32 0, label %238 ] 238: ; preds = %236 br label %239 239: ; preds = %238 %240 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %26) #18 br label %215 241: ; preds = %236, %217 call void @llvm.lifetime.end.p0(i64 8, ptr %27) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %25) #18 %242 = load i32, ptr %12, align 4 switch i32 %242, label %269 [ i32 9, label %243 ] 243: ; preds = %241 store i32 1, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 244: ; preds = %70 %245 = load ptr, ptr %9, align 8, !tbaa !68 %246 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef 0) #18 %247 = load i32, ptr %246, align 4, !tbaa !72 %248 = load ptr, ptr %7, align 8, !tbaa !68 %249 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %247, ptr noundef nonnull align 8 dereferenceable(24) %248) store i32 %249, ptr %10, align 4, !tbaa !72 %250 = load i32, ptr %10, align 4, !tbaa !72 %251 = icmp eq i32 %250, 1 br i1 %251, label %252, label %258 252: ; preds = %244 %253 = load ptr, ptr %9, align 8, !tbaa !68 %254 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %253, i64 noundef 1) #18 %255 = load i32, ptr %254, align 4, !tbaa !72 %256 = load ptr, ptr %7, align 8, !tbaa !68 %257 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %255, ptr noundef nonnull align 8 dereferenceable(24) %256) store i32 %257, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 258: ; preds = %244 %259 = load i32, ptr %10, align 4, !tbaa !72 %260 = icmp eq i32 %259, 2 br i1 %260, label %261, label %267 261: ; preds = %258 %262 = load ptr, ptr %9, align 8, !tbaa !68 %263 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %262, i64 noundef 2) #18 %264 = load i32, ptr %263, align 4, !tbaa !72 %265 = load ptr, ptr %7, align 8, !tbaa !68 %266 = call noundef i32 @_ZNK5ezSAT4evalEiRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %29, i32 noundef %264, ptr noundef nonnull align 8 dereferenceable(24) %265) store i32 %266, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 267: ; preds = %258 store i32 0, ptr %4, align 4 store i32 1, ptr %12, align 4 br label %269 268: ; preds = %70 call void @abort() #20 unreachable 269: ; preds = %267, %261, %252, %243, %241, %200, %198, %160, %158, %123, %121, %87, %86, %82 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 br label %270 270: ; preds = %269, %69, %62 %271 = load i32, ptr %4, align 4 ret i32 %271 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !81 %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = getelementptr inbounds nuw i32, ptr %8, i64 %9 ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define void @_ZN5ezSAT5clearEv(ptr noundef nonnull align 8 dereferenceable(284) %0) unnamed_addr #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !6 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 9 store i8 0, ptr %4, align 8, !tbaa !55 %5 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 11 store i32 0, ptr %5, align 4, !tbaa !56 %6 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 12 store i32 0, ptr %6, align 8, !tbaa !57 %7 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 14 call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %8 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 15 call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 %9 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 16 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !81 call void @_ZNSt6vectorIiSaIiEE15_M_erase_at_endEPi(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !69 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !79 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_erase_at_endEPS1_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define void @_ZN5ezSAT6freezeEi(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1) unnamed_addr #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !6 store i32 %1, ptr %4, align 4, !tbaa !72 ret void } ; Function Attrs: mustprogress nounwind uwtable define noundef zeroext i1 @_ZN5ezSAT10eliminatedEi(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1) unnamed_addr #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !6 store i32 %1, ptr %4, align 4, !tbaa !72 ret i1 false } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT6assumeEi(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1) #0 align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca i32, align 4 %5 = alloca i32, align 4 %6 = alloca %"class.std::vector.14", align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca %"class.std::vector.14", align 8 %11 = alloca i32, align 4 %12 = alloca %"class.std::allocator.16", align 1 %13 = alloca i32, align 4 %14 = alloca %"class.std::vector.14", align 8 %15 = alloca ptr, align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %17 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %18 = alloca i32, align 4 %19 = alloca i32, align 4 %20 = alloca ptr, align 8 %21 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %22 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %23 = alloca i32, align 4 %24 = alloca %"class.std::vector.14", align 8 %25 = alloca i32, align 4 %26 = alloca %"class.std::allocator.16", align 1 %27 = alloca i32, align 4 %28 = alloca %"class.std::vector.14", align 8 %29 = alloca %"class.std::allocator.16", align 1 store ptr %0, ptr %3, align 8, !tbaa !6 store i32 %1, ptr %4, align 4, !tbaa !72 %30 = load ptr, ptr %3, align 8 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef 409) %31 = load i32, ptr %4, align 4, !tbaa !72 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef %31) %32 = load i32, ptr %4, align 4, !tbaa !72 %33 = icmp slt i32 %32, 0 br i1 %33, label %34, label %167 34: ; preds = %2 %35 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 15 %36 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 8 %37 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #18 call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %35, i64 noundef %37) %38 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 15 %39 = load i32, ptr %4, align 4, !tbaa !72 %40 = sub nsw i32 0, %39 %41 = sub nsw i32 %40, 1 %42 = sext i32 %41 to i64 %43 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %42) #18 %44 = load i32, ptr %43, align 4, !tbaa !72 %45 = icmp eq i32 %44, 0 br i1 %45, label %46, label %166 46: ; preds = %34 call void @llvm.lifetime.start.p0(i64 4, ptr %5) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %6) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %47 = load i32, ptr %4, align 4, !tbaa !72 invoke void @_ZNK5ezSAT17lookup_expressionEiRNS_4OpIdERSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef %47, ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull align 8 dereferenceable(24) %6) to label %48 unwind label %64 48: ; preds = %46 %49 = load i32, ptr %5, align 4, !tbaa !93 %50 = icmp eq i32 %49, 0 br i1 %50, label %51, label %82 51: ; preds = %48 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 %52 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef 0) #18 %53 = load i32, ptr %52, align 4, !tbaa !72 %54 = invoke noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef %53, i1 noundef zeroext true) to label %55 unwind label %68 55: ; preds = %51 store i32 %54, ptr %9, align 4, !tbaa !72 %56 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 16 call void @llvm.lifetime.start.p0(i64 24, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 %57 = load i32, ptr %9, align 4, !tbaa !72 %58 = sub nsw i32 0, %57 store i32 %58, ptr %11, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 1, ptr %12) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 1 dereferenceable(1) %12) to label %59 unwind label %72 59: ; preds = %55 invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %56, ptr noundef nonnull align 8 dereferenceable(24) %10) to label %60 unwind label %76 60: ; preds = %59 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %10) #18 %61 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 12 %62 = load i32, ptr %61, align 8, !tbaa !57 %63 = add nsw i32 %62, 1 store i32 %63, ptr %61, align 8, !tbaa !57 store i32 1, ptr %13, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %162 64: ; preds = %46 %65 = landingpad { ptr, i32 } cleanup %66 = extractvalue { ptr, i32 } %65, 0 store ptr %66, ptr %7, align 8 %67 = extractvalue { ptr, i32 } %65, 1 store i32 %67, ptr %8, align 4 br label %165 68: ; preds = %51 %69 = landingpad { ptr, i32 } cleanup %70 = extractvalue { ptr, i32 } %69, 0 store ptr %70, ptr %7, align 8 %71 = extractvalue { ptr, i32 } %69, 1 store i32 %71, ptr %8, align 4 br label %81 72: ; preds = %55 %73 = landingpad { ptr, i32 } cleanup %74 = extractvalue { ptr, i32 } %73, 0 store ptr %74, ptr %7, align 8 %75 = extractvalue { ptr, i32 } %73, 1 store i32 %75, ptr %8, align 4 br label %80 76: ; preds = %59 %77 = landingpad { ptr, i32 } cleanup %78 = extractvalue { ptr, i32 } %77, 0 store ptr %78, ptr %7, align 8 %79 = extractvalue { ptr, i32 } %77, 1 store i32 %79, ptr %8, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 br label %80 80: ; preds = %76, %72 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %10) #18 br label %81 81: ; preds = %80, %68 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %165 82: ; preds = %48 %83 = load i32, ptr %5, align 4, !tbaa !93 %84 = icmp eq i32 %83, 2 br i1 %84, label %85, label %119 85: ; preds = %82 call void @llvm.lifetime.start.p0(i64 24, ptr %14) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 store ptr %6, ptr %15, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 %86 = load ptr, ptr %15, align 8, !tbaa !68 %87 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %86) #18 %88 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %16, i32 0, i32 0 store ptr %87, ptr %88, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %17) #18 %89 = load ptr, ptr %15, align 8, !tbaa !68 %90 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %89) #18 %91 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %17, i32 0, i32 0 store ptr %90, ptr %91, align 8 br label %92 92: ; preds = %102, %85 %93 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #18 br i1 %93, label %95, label %94 94: ; preds = %92 store i32 2, ptr %13, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %17) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 br label %108 95: ; preds = %92 call void @llvm.lifetime.start.p0(i64 4, ptr %18) #18 %96 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #18 %97 = load i32, ptr %96, align 4, !tbaa !72 store i32 %97, ptr %18, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %19) #18 %98 = load i32, ptr %18, align 4, !tbaa !72 %99 = invoke noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef %98, i1 noundef zeroext true) to label %100 unwind label %104 100: ; preds = %95 store i32 %99, ptr %19, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 4 dereferenceable(4) %19) to label %101 unwind label %104 101: ; preds = %100 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %18) #18 br label %102 102: ; preds = %101 %103 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #18 br label %92 104: ; preds = %100, %95 %105 = landingpad { ptr, i32 } cleanup %106 = extractvalue { ptr, i32 } %105, 0 store ptr %106, ptr %7, align 8 %107 = extractvalue { ptr, i32 } %105, 1 store i32 %107, ptr %8, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %17) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 br label %118 108: ; preds = %94 %109 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 16 invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %14) to label %110 unwind label %114 110: ; preds = %108 %111 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 12 %112 = load i32, ptr %111, align 8, !tbaa !57 %113 = add nsw i32 %112, 1 store i32 %113, ptr %111, align 8, !tbaa !57 store i32 1, ptr %13, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %14) #18 br label %162 114: ; preds = %108 %115 = landingpad { ptr, i32 } cleanup %116 = extractvalue { ptr, i32 } %115, 0 store ptr %116, ptr %7, align 8 %117 = extractvalue { ptr, i32 } %115, 1 store i32 %117, ptr %8, align 4 br label %118 118: ; preds = %114, %104 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %14) #18 br label %165 119: ; preds = %82 %120 = load i32, ptr %5, align 4, !tbaa !93 %121 = icmp eq i32 %120, 1 br i1 %121, label %122, label %161 122: ; preds = %119 call void @llvm.lifetime.start.p0(i64 8, ptr %20) #18 store ptr %6, ptr %20, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %21) #18 %123 = load ptr, ptr %20, align 8, !tbaa !68 %124 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %123) #18 %125 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %21, i32 0, i32 0 store ptr %124, ptr %125, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %22) #18 %126 = load ptr, ptr %20, align 8, !tbaa !68 %127 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %126) #18 %128 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %22, i32 0, i32 0 store ptr %127, ptr %128, align 8 br label %129 129: ; preds = %144, %122 %130 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #18 br i1 %130, label %132, label %131 131: ; preds = %129 store i32 4, ptr %13, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %21) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %20) #18 br label %160 132: ; preds = %129 call void @llvm.lifetime.start.p0(i64 4, ptr %23) #18 %133 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #18 %134 = load i32, ptr %133, align 4, !tbaa !72 store i32 %134, ptr %23, align 4, !tbaa !72 %135 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 16 call void @llvm.lifetime.start.p0(i64 24, ptr %24) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %25) #18 %136 = load i32, ptr %23, align 4, !tbaa !72 %137 = invoke noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef %136, i1 noundef zeroext true) to label %138 unwind label %146 138: ; preds = %132 store i32 %137, ptr %25, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 1, ptr %26) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 1 dereferenceable(1) %26) to label %139 unwind label %150 139: ; preds = %138 invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %135, ptr noundef nonnull align 8 dereferenceable(24) %24) to label %140 unwind label %154 140: ; preds = %139 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #18 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %24) #18 %141 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 12 %142 = load i32, ptr %141, align 8, !tbaa !57 %143 = add nsw i32 %142, 1 store i32 %143, ptr %141, align 8, !tbaa !57 call void @llvm.lifetime.end.p0(i64 4, ptr %23) #18 br label %144 144: ; preds = %140 %145 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #18 br label %129 146: ; preds = %132 %147 = landingpad { ptr, i32 } cleanup %148 = extractvalue { ptr, i32 } %147, 0 store ptr %148, ptr %7, align 8 %149 = extractvalue { ptr, i32 } %147, 1 store i32 %149, ptr %8, align 4 br label %159 150: ; preds = %138 %151 = landingpad { ptr, i32 } cleanup %152 = extractvalue { ptr, i32 } %151, 0 store ptr %152, ptr %7, align 8 %153 = extractvalue { ptr, i32 } %151, 1 store i32 %153, ptr %8, align 4 br label %158 154: ; preds = %139 %155 = landingpad { ptr, i32 } cleanup %156 = extractvalue { ptr, i32 } %155, 0 store ptr %156, ptr %7, align 8 %157 = extractvalue { ptr, i32 } %155, 1 store i32 %157, ptr %8, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #18 br label %158 158: ; preds = %154, %150 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %26) #18 br label %159 159: ; preds = %158, %146 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %24) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %23) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %21) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %20) #18 br label %165 160: ; preds = %131 store i32 1, ptr %13, align 4 br label %162 161: ; preds = %119 store i32 0, ptr %13, align 4 br label %162 162: ; preds = %161, %160, %110, %60 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %5) #18 %163 = load i32, ptr %13, align 4 switch i32 %163, label %191 [ i32 0, label %164 i32 1, label %176 ] 164: ; preds = %162 br label %166 165: ; preds = %159, %118, %81, %64 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %5) #18 br label %186 166: ; preds = %164, %34 br label %167 167: ; preds = %166, %2 call void @llvm.lifetime.start.p0(i64 4, ptr %27) #18 %168 = load i32, ptr %4, align 4, !tbaa !72 %169 = call noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef %168, i1 noundef zeroext true) store i32 %169, ptr %27, align 4, !tbaa !72 %170 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 16 call void @llvm.lifetime.start.p0(i64 24, ptr %28) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %29) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 1 dereferenceable(1) %29) to label %171 unwind label %177 171: ; preds = %167 invoke void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %170, ptr noundef nonnull align 8 dereferenceable(24) %28) to label %172 unwind label %181 172: ; preds = %171 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #18 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %28) #18 %173 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 12 %174 = load i32, ptr %173, align 8, !tbaa !57 %175 = add nsw i32 %174, 1 store i32 %175, ptr %173, align 8, !tbaa !57 call void @llvm.lifetime.end.p0(i64 4, ptr %27) #18 br label %176 176: ; preds = %172, %162 ret void 177: ; preds = %167 %178 = landingpad { ptr, i32 } cleanup %179 = extractvalue { ptr, i32 } %178, 0 store ptr %179, ptr %7, align 8 %180 = extractvalue { ptr, i32 } %178, 1 store i32 %180, ptr %8, align 4 br label %185 181: ; preds = %171 %182 = landingpad { ptr, i32 } cleanup %183 = extractvalue { ptr, i32 } %182, 0 store ptr %183, ptr %7, align 8 %184 = extractvalue { ptr, i32 } %182, 1 store i32 %184, ptr %8, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #18 br label %185 185: ; preds = %181, %177 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %28) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %27) #18 br label %186 186: ; preds = %185, %165 %187 = load ptr, ptr %7, align 8 %188 = load i32, ptr %8, align 4 %189 = insertvalue { ptr, i32 } poison, ptr %187, 0 %190 = insertvalue { ptr, i32 } %189, i32 %188, 1 resume { ptr, i32 } %190 191: ; preds = %162 unreachable } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1, i1 noundef zeroext %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca i32, align 4 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca i8, align 1 %8 = alloca %"class.std::__cxx11::basic_string", align 8 %9 = alloca i32, align 4 %10 = alloca %"class.std::vector.14", align 8 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca %"class.std::vector.14", align 8 %15 = alloca i32, align 4 %16 = alloca i32, align 4 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca %"struct.ezSAT::_V", align 8 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca i32, align 4 %25 = alloca %"struct.ezSAT::_V", align 8 %26 = alloca %"struct.ezSAT::_V", align 8 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca %"struct.ezSAT::_V", align 8 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca i32, align 4 %33 = alloca %"struct.ezSAT::_V", align 8 %34 = alloca %"struct.ezSAT::_V", align 8 %35 = alloca %"struct.ezSAT::_V", align 8 %36 = alloca %"struct.ezSAT::_V", align 8 %37 = alloca %"struct.ezSAT::_V", align 8 %38 = alloca %"struct.ezSAT::_V", align 8 %39 = alloca %"class.std::vector.14", align 8 %40 = alloca ptr, align 8 %41 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %42 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %43 = alloca i32, align 4 %44 = alloca i32, align 4 %45 = alloca %"struct.ezSAT::_V", align 8 %46 = alloca i32, align 4 %47 = alloca i32, align 4 %48 = alloca %"struct.ezSAT::_V", align 8 %49 = alloca %"struct.ezSAT::_V", align 8 %50 = alloca %"struct.ezSAT::_V", align 8 %51 = alloca %"struct.ezSAT::_V", align 8 %52 = alloca %"struct.ezSAT::_V", align 8 %53 = alloca %"struct.ezSAT::_V", align 8 %54 = alloca i32, align 4 %55 = alloca i32, align 4 %56 = alloca %"struct.ezSAT::_V", align 8 %57 = alloca %"struct.ezSAT::_V", align 8 %58 = alloca %"struct.ezSAT::_V", align 8 %59 = alloca %"struct.ezSAT::_V", align 8 %60 = alloca %"struct.ezSAT::_V", align 8 %61 = alloca %"struct.ezSAT::_V", align 8 %62 = alloca i32, align 4 %63 = alloca %"struct.ezSAT::_V", align 8 %64 = alloca %"struct.ezSAT::_V", align 8 %65 = alloca %"struct.ezSAT::_V", align 8 %66 = alloca %"struct.ezSAT::_V", align 8 %67 = alloca %"struct.ezSAT::_V", align 8 %68 = alloca %"struct.ezSAT::_V", align 8 %69 = alloca %"struct.ezSAT::_V", align 8 %70 = alloca %"struct.ezSAT::_V", align 8 %71 = alloca %"struct.ezSAT::_V", align 8 %72 = alloca %"struct.ezSAT::_V", align 8 %73 = alloca %"struct.ezSAT::_V", align 8 %74 = alloca %"struct.ezSAT::_V", align 8 %75 = alloca %"struct.ezSAT::_V", align 8 %76 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !6 store i32 %1, ptr %6, align 4, !tbaa !72 %77 = zext i1 %2 to i8 store i8 %77, ptr %7, align 1, !tbaa !87 %78 = load ptr, ptr %5, align 8 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef 548) %79 = load i32, ptr %6, align 4, !tbaa !72 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %79) %80 = load i8, ptr %7, align 1, !tbaa !87, !range !88, !noundef !89 %81 = trunc i8 %80 to i1 %82 = zext i1 %81 to i32 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %82) %83 = load i32, ptr %6, align 4, !tbaa !72 %84 = icmp sge i32 %83, 0 br i1 %84, label %85, label %149 85: ; preds = %3 %86 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 14 %87 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 6 %88 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %87) #18 call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %88) %89 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 14 %90 = load i32, ptr %6, align 4, !tbaa !72 %91 = sub nsw i32 %90, 1 %92 = sext i32 %91 to i64 %93 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %92) #18 %94 = load i32, ptr %93, align 4, !tbaa !72 %95 = load ptr, ptr %78, align 8, !tbaa !11 %96 = getelementptr inbounds ptr, ptr %95, i64 5 %97 = load ptr, ptr %96, align 8 %98 = call noundef zeroext i1 %97(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %94) br i1 %98, label %99, label %104 99: ; preds = %85 %100 = load ptr, ptr @stderr, align 8, !tbaa !119 call void @llvm.lifetime.start.p0(i64 32, ptr %8) #18 %101 = load i32, ptr %6, align 4, !tbaa !72 call void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %101) %102 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #18 %103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %100, ptr noundef @.str.12, ptr noundef %102) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %8) #18 call void @abort() #20 unreachable 104: ; preds = %85 %105 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 14 %106 = load i32, ptr %6, align 4, !tbaa !72 %107 = sub nsw i32 %106, 1 %108 = sext i32 %107 to i64 %109 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %105, i64 noundef %108) #18 %110 = load i32, ptr %109, align 4, !tbaa !72 %111 = icmp eq i32 %110, 0 br i1 %111, label %112, label %142 112: ; preds = %104 %113 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 11 %114 = load i32, ptr %113, align 4, !tbaa !56 %115 = add nsw i32 %114, 1 store i32 %115, ptr %113, align 4, !tbaa !56 %116 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 14 %117 = load i32, ptr %6, align 4, !tbaa !72 %118 = sub nsw i32 %117, 1 %119 = sext i32 %118 to i64 %120 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %116, i64 noundef %119) #18 store i32 %115, ptr %120, align 4, !tbaa !72 %121 = load i32, ptr %6, align 4, !tbaa !72 %122 = icmp eq i32 %121, 1 br i1 %122, label %123, label %130 123: ; preds = %112 %124 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 14 %125 = load i32, ptr %6, align 4, !tbaa !72 %126 = sub nsw i32 %125, 1 %127 = sext i32 %126 to i64 %128 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %124, i64 noundef %127) #18 %129 = load i32, ptr %128, align 4, !tbaa !72 call void @_ZN5ezSAT10add_clauseEiii(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %129, i32 noundef 0, i32 noundef 0) br label %130 130: ; preds = %123, %112 %131 = load i32, ptr %6, align 4, !tbaa !72 %132 = icmp eq i32 %131, 2 br i1 %132, label %133, label %141 133: ; preds = %130 %134 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 14 %135 = load i32, ptr %6, align 4, !tbaa !72 %136 = sub nsw i32 %135, 1 %137 = sext i32 %136 to i64 %138 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %134, i64 noundef %137) #18 %139 = load i32, ptr %138, align 4, !tbaa !72 %140 = sub nsw i32 0, %139 call void @_ZN5ezSAT10add_clauseEiii(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %140, i32 noundef 0, i32 noundef 0) br label %141 141: ; preds = %133, %130 br label %142 142: ; preds = %141, %104 %143 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 14 %144 = load i32, ptr %6, align 4, !tbaa !72 %145 = sub nsw i32 %144, 1 %146 = sext i32 %145 to i64 %147 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %143, i64 noundef %146) #18 %148 = load i32, ptr %147, align 4, !tbaa !72 store i32 %148, ptr %4, align 4 br label %691 149: ; preds = %3 %150 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 15 %151 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 8 %152 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %151) #18 call void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %150, i64 noundef %152) %153 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 15 %154 = load i32, ptr %6, align 4, !tbaa !72 %155 = sub nsw i32 0, %154 %156 = sub nsw i32 %155, 1 %157 = sext i32 %156 to i64 %158 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %153, i64 noundef %157) #18 %159 = load i32, ptr %158, align 4, !tbaa !72 %160 = load ptr, ptr %78, align 8, !tbaa !11 %161 = getelementptr inbounds ptr, ptr %160, i64 5 %162 = load ptr, ptr %161, align 8 %163 = call noundef zeroext i1 %162(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %159) br i1 %163, label %164, label %179 164: ; preds = %149 %165 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 15 %166 = load i32, ptr %6, align 4, !tbaa !72 %167 = sub nsw i32 0, %166 %168 = sub nsw i32 %167, 1 %169 = sext i32 %168 to i64 %170 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef %169) #18 store i32 0, ptr %170, align 4, !tbaa !72 %171 = load i8, ptr %7, align 1, !tbaa !87, !range !88, !noundef !89 %172 = trunc i8 %171 to i1 br i1 %172, label %173, label %178 173: ; preds = %164 %174 = load i32, ptr %6, align 4, !tbaa !72 %175 = load ptr, ptr %78, align 8, !tbaa !11 %176 = getelementptr inbounds ptr, ptr %175, i64 4 %177 = load ptr, ptr %176, align 8 call void %177(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %174) br label %178 178: ; preds = %173, %164 br label %179 179: ; preds = %178, %149 %180 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 15 %181 = load i32, ptr %6, align 4, !tbaa !72 %182 = sub nsw i32 0, %181 %183 = sub nsw i32 %182, 1 %184 = sext i32 %183 to i64 %185 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %180, i64 noundef %184) #18 %186 = load i32, ptr %185, align 4, !tbaa !72 %187 = icmp eq i32 %186, 0 br i1 %187, label %188, label %683 188: ; preds = %179 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %10) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 %189 = load i32, ptr %6, align 4, !tbaa !72 invoke void @_ZNK5ezSAT17lookup_expressionEiRNS_4OpIdERSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %189, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 8 dereferenceable(24) %10) to label %190 unwind label %204 190: ; preds = %188 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 store i32 0, ptr %13, align 4, !tbaa !72 %191 = load i32, ptr %9, align 4, !tbaa !93 %192 = icmp eq i32 %191, 3 br i1 %192, label %193, label %403 193: ; preds = %190 br label %194 194: ; preds = %392, %193 %195 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 %196 = icmp ugt i64 %195, 1 br i1 %196, label %197, label %393 197: ; preds = %194 call void @llvm.lifetime.start.p0(i64 24, ptr %14) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 store i32 0, ptr %15, align 4, !tbaa !72 br label %198 198: ; preds = %388, %197 %199 = load i32, ptr %15, align 4, !tbaa !72 %200 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 %201 = trunc i64 %200 to i32 %202 = icmp slt i32 %199, %201 br i1 %202, label %208, label %203 203: ; preds = %198 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %392 204: ; preds = %188 %205 = landingpad { ptr, i32 } cleanup %206 = extractvalue { ptr, i32 } %205, 0 store ptr %206, ptr %11, align 8 %207 = extractvalue { ptr, i32 } %205, 1 store i32 %207, ptr %12, align 4 br label %682 208: ; preds = %198 %209 = load i32, ptr %15, align 4, !tbaa !72 %210 = add nsw i32 %209, 1 %211 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 %212 = trunc i64 %211 to i32 %213 = icmp eq i32 %210, %212 br i1 %213, label %214, label %223 214: ; preds = %208 %215 = load i32, ptr %15, align 4, !tbaa !72 %216 = sext i32 %215 to i64 %217 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %216) #18 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 4 dereferenceable(4) %217) to label %218 unwind label %219 218: ; preds = %214 br label %387 219: ; preds = %214 %220 = landingpad { ptr, i32 } cleanup %221 = extractvalue { ptr, i32 } %220, 0 store ptr %221, ptr %11, align 8 %222 = extractvalue { ptr, i32 } %220, 1 store i32 %222, ptr %12, align 4 br label %391 223: ; preds = %208 call void @llvm.lifetime.start.p0(i64 4, ptr %16) #18 %224 = load i32, ptr %15, align 4, !tbaa !72 %225 = sext i32 %224 to i64 %226 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %225) #18 %227 = load i32, ptr %226, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef %227) to label %228 unwind label %275 228: ; preds = %223 %229 = load i32, ptr %15, align 4, !tbaa !72 %230 = add nsw i32 %229, 1 %231 = sext i32 %230 to i64 %232 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %231) #18 %233 = load i32, ptr %232, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef %233) to label %234 unwind label %279 234: ; preds = %228 %235 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %19) to label %236 unwind label %283 236: ; preds = %234 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef %235) to label %237 unwind label %283 237: ; preds = %236 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef 0) to label %238 unwind label %287 238: ; preds = %237 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef 0) to label %239 unwind label %291 239: ; preds = %238 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %22, i32 noundef 0) to label %240 unwind label %295 240: ; preds = %239 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef 0) to label %241 unwind label %299 241: ; preds = %240 %242 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %17, ptr noundef %18, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23) to label %243 unwind label %303 243: ; preds = %241 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 store i32 %242, ptr %16, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %24) #18 %244 = load i32, ptr %15, align 4, !tbaa !72 %245 = sext i32 %244 to i64 %246 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %245) #18 %247 = load i32, ptr %246, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef %247) to label %248 unwind label %313 248: ; preds = %243 %249 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %26) to label %250 unwind label %317 250: ; preds = %248 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef %249) to label %251 unwind label %317 251: ; preds = %250 %252 = load i32, ptr %15, align 4, !tbaa !72 %253 = add nsw i32 %252, 1 %254 = sext i32 %253 to i64 %255 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %254) #18 %256 = load i32, ptr %255, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef %256) to label %257 unwind label %321 257: ; preds = %251 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef 0) to label %258 unwind label %325 258: ; preds = %257 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %29, i32 noundef 0) to label %259 unwind label %329 259: ; preds = %258 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 0) to label %260 unwind label %333 260: ; preds = %259 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef 0) to label %261 unwind label %337 261: ; preds = %260 %262 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %25, ptr noundef %27, ptr noundef %28, ptr noundef %29, ptr noundef %30, ptr noundef %31) to label %263 unwind label %341 263: ; preds = %261 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 store i32 %262, ptr %24, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %32) #18 %264 = load i32, ptr %16, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef %264) to label %265 unwind label %351 265: ; preds = %263 %266 = load i32, ptr %24, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %34, i32 noundef %266) to label %267 unwind label %355 267: ; preds = %265 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %35, i32 noundef 0) to label %268 unwind label %359 268: ; preds = %267 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %36, i32 noundef 0) to label %269 unwind label %363 269: ; preds = %268 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %37, i32 noundef 0) to label %270 unwind label %367 270: ; preds = %269 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %38, i32 noundef 0) to label %271 unwind label %371 271: ; preds = %270 %272 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %33, ptr noundef %34, ptr noundef %35, ptr noundef %36, ptr noundef %37, ptr noundef %38) to label %273 unwind label %375 273: ; preds = %271 store i32 %272, ptr %32, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 4 dereferenceable(4) %32) to label %274 unwind label %375 274: ; preds = %273 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %32) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %16) #18 br label %387 275: ; preds = %223 %276 = landingpad { ptr, i32 } cleanup %277 = extractvalue { ptr, i32 } %276, 0 store ptr %277, ptr %11, align 8 %278 = extractvalue { ptr, i32 } %276, 1 store i32 %278, ptr %12, align 4 br label %386 279: ; preds = %228 %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 br label %312 283: ; preds = %236, %234 %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 %311 287: ; preds = %237 %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 %310 291: ; preds = %238 %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 %309 295: ; preds = %239 %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 br label %308 299: ; preds = %240 %300 = landingpad { ptr, i32 } cleanup %301 = extractvalue { ptr, i32 } %300, 0 store ptr %301, ptr %11, align 8 %302 = extractvalue { ptr, i32 } %300, 1 store i32 %302, ptr %12, align 4 br label %307 303: ; preds = %241 %304 = landingpad { ptr, i32 } cleanup %305 = extractvalue { ptr, i32 } %304, 0 store ptr %305, ptr %11, align 8 %306 = extractvalue { ptr, i32 } %304, 1 store i32 %306, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %307 307: ; preds = %303, %299 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 br label %308 308: ; preds = %307, %295 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %309 309: ; preds = %308, %291 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %310 310: ; preds = %309, %287 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %311 311: ; preds = %310, %283 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %312 312: ; preds = %311, %279 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %386 313: ; preds = %243 %314 = landingpad { ptr, i32 } cleanup %315 = extractvalue { ptr, i32 } %314, 0 store ptr %315, ptr %11, align 8 %316 = extractvalue { ptr, i32 } %314, 1 store i32 %316, ptr %12, align 4 br label %385 317: ; preds = %250, %248 %318 = landingpad { ptr, i32 } cleanup %319 = extractvalue { ptr, i32 } %318, 0 store ptr %319, ptr %11, align 8 %320 = extractvalue { ptr, i32 } %318, 1 store i32 %320, ptr %12, align 4 br label %350 321: ; preds = %251 %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 %349 325: ; preds = %257 %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 br label %348 329: ; preds = %258 %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 %347 333: ; preds = %259 %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 br label %346 337: ; preds = %260 %338 = landingpad { ptr, i32 } cleanup %339 = extractvalue { ptr, i32 } %338, 0 store ptr %339, ptr %11, align 8 %340 = extractvalue { ptr, i32 } %338, 1 store i32 %340, ptr %12, align 4 br label %345 341: ; preds = %261 %342 = landingpad { ptr, i32 } cleanup %343 = extractvalue { ptr, i32 } %342, 0 store ptr %343, ptr %11, align 8 %344 = extractvalue { ptr, i32 } %342, 1 store i32 %344, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 br label %345 345: ; preds = %341, %337 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %346 346: ; preds = %345, %333 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 br label %347 347: ; preds = %346, %329 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %348 348: ; preds = %347, %325 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %349 349: ; preds = %348, %321 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %350 350: ; preds = %349, %317 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %385 351: ; preds = %263 %352 = landingpad { ptr, i32 } cleanup %353 = extractvalue { ptr, i32 } %352, 0 store ptr %353, ptr %11, align 8 %354 = extractvalue { ptr, i32 } %352, 1 store i32 %354, ptr %12, align 4 br label %384 355: ; preds = %265 %356 = landingpad { ptr, i32 } cleanup %357 = extractvalue { ptr, i32 } %356, 0 store ptr %357, ptr %11, align 8 %358 = extractvalue { ptr, i32 } %356, 1 store i32 %358, ptr %12, align 4 br label %383 359: ; preds = %267 %360 = landingpad { ptr, i32 } cleanup %361 = extractvalue { ptr, i32 } %360, 0 store ptr %361, ptr %11, align 8 %362 = extractvalue { ptr, i32 } %360, 1 store i32 %362, ptr %12, align 4 br label %382 363: ; preds = %268 %364 = landingpad { ptr, i32 } cleanup %365 = extractvalue { ptr, i32 } %364, 0 store ptr %365, ptr %11, align 8 %366 = extractvalue { ptr, i32 } %364, 1 store i32 %366, ptr %12, align 4 br label %381 367: ; preds = %269 %368 = landingpad { ptr, i32 } cleanup %369 = extractvalue { ptr, i32 } %368, 0 store ptr %369, ptr %11, align 8 %370 = extractvalue { ptr, i32 } %368, 1 store i32 %370, ptr %12, align 4 br label %380 371: ; preds = %270 %372 = landingpad { ptr, i32 } cleanup %373 = extractvalue { ptr, i32 } %372, 0 store ptr %373, ptr %11, align 8 %374 = extractvalue { ptr, i32 } %372, 1 store i32 %374, ptr %12, align 4 br label %379 375: ; preds = %273, %271 %376 = landingpad { ptr, i32 } cleanup %377 = extractvalue { ptr, i32 } %376, 0 store ptr %377, ptr %11, align 8 %378 = extractvalue { ptr, i32 } %376, 1 store i32 %378, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 br label %379 379: ; preds = %375, %371 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 br label %380 380: ; preds = %379, %367 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 br label %381 381: ; preds = %380, %363 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 br label %382 382: ; preds = %381, %359 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 br label %383 383: ; preds = %382, %355 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 br label %384 384: ; preds = %383, %351 call void @llvm.lifetime.end.p0(i64 4, ptr %32) #18 br label %385 385: ; preds = %384, %350, %313 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 br label %386 386: ; preds = %385, %312, %275 call void @llvm.lifetime.end.p0(i64 4, ptr %16) #18 br label %391 387: ; preds = %274, %218 br label %388 388: ; preds = %387 %389 = load i32, ptr %15, align 4, !tbaa !72 %390 = add nsw i32 %389, 2 store i32 %390, ptr %15, align 4, !tbaa !72 br label %198, !llvm.loop !121 391: ; preds = %386, %219 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %14) #18 br label %681 392: ; preds = %203 call void @_ZNSt6vectorIiSaIiEE4swapERS1_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %14) #18 br label %194, !llvm.loop !122 393: ; preds = %194 %394 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) to label %395 unwind label %399 395: ; preds = %393 %396 = load i32, ptr %394, align 4, !tbaa !72 %397 = invoke noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %396, i1 noundef zeroext false) to label %398 unwind label %399 398: ; preds = %395 store i32 %397, ptr %13, align 4, !tbaa !72 br label %673 399: ; preds = %668, %665, %395, %393 %400 = landingpad { ptr, i32 } cleanup %401 = extractvalue { ptr, i32 } %400, 0 store ptr %401, ptr %11, align 8 %402 = extractvalue { ptr, i32 } %400, 1 store i32 %402, ptr %12, align 4 br label %681 403: ; preds = %190 %404 = load i32, ptr %9, align 4, !tbaa !93 %405 = icmp eq i32 %404, 4 br i1 %405, label %406, label %492 406: ; preds = %403 call void @llvm.lifetime.start.p0(i64 24, ptr %39) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %40) #18 store ptr %10, ptr %40, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %41) #18 %407 = load ptr, ptr %40, align 8, !tbaa !68 %408 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %407) #18 %409 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %41, i32 0, i32 0 store ptr %408, ptr %409, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %42) #18 %410 = load ptr, ptr %40, align 8, !tbaa !68 %411 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %410) #18 %412 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %42, i32 0, i32 0 store ptr %411, ptr %412, align 8 br label %413 413: ; preds = %424, %406 %414 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42) #18 br i1 %414, label %416, label %415 415: ; preds = %413 call void @llvm.lifetime.end.p0(i64 8, ptr %42) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %41) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %40) #18 br label %435 416: ; preds = %413 call void @llvm.lifetime.start.p0(i64 4, ptr %43) #18 %417 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %41) #18 %418 = load i32, ptr %417, align 4, !tbaa !72 store i32 %418, ptr %43, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %44) #18 %419 = load i32, ptr %43, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %45, i32 noundef %419) to label %420 unwind label %426 420: ; preds = %416 %421 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %45) to label %422 unwind label %430 422: ; preds = %420 store i32 %421, ptr %44, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 4 dereferenceable(4) %44) to label %423 unwind label %430 423: ; preds = %422 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %44) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %43) #18 br label %424 424: ; preds = %423 %425 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %41) #18 br label %413 426: ; preds = %416 %427 = landingpad { ptr, i32 } cleanup %428 = extractvalue { ptr, i32 } %427, 0 store ptr %428, ptr %11, align 8 %429 = extractvalue { ptr, i32 } %427, 1 store i32 %429, ptr %12, align 4 br label %434 430: ; preds = %422, %420 %431 = landingpad { ptr, i32 } cleanup %432 = extractvalue { ptr, i32 } %431, 0 store ptr %432, ptr %11, align 8 %433 = extractvalue { ptr, i32 } %431, 1 store i32 %433, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #18 br label %434 434: ; preds = %430, %426 call void @llvm.lifetime.end.p0(i64 4, ptr %44) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %43) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %42) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %41) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %40) #18 br label %491 435: ; preds = %415 call void @llvm.lifetime.start.p0(i64 4, ptr %46) #18 %436 = invoke noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %10) to label %437 unwind label %452 437: ; preds = %435 store i32 %436, ptr %46, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %47) #18 %438 = invoke noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %39) to label %439 unwind label %456 439: ; preds = %437 store i32 %438, ptr %47, align 4, !tbaa !72 %440 = load i32, ptr %46, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %48, i32 noundef %440) to label %441 unwind label %456 441: ; preds = %439 %442 = load i32, ptr %47, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %49, i32 noundef %442) to label %443 unwind label %460 443: ; preds = %441 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %50, i32 noundef 0) to label %444 unwind label %464 444: ; preds = %443 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %51, i32 noundef 0) to label %445 unwind label %468 445: ; preds = %444 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %52, i32 noundef 0) to label %446 unwind label %472 446: ; preds = %445 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %53, i32 noundef 0) to label %447 unwind label %476 447: ; preds = %446 %448 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %48, ptr noundef %49, ptr noundef %50, ptr noundef %51, ptr noundef %52, ptr noundef %53) to label %449 unwind label %480 449: ; preds = %447 %450 = invoke noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %448, i1 noundef zeroext false) to label %451 unwind label %480 451: ; preds = %449 store i32 %450, ptr %13, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %53) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %48) #18 store i32 7, ptr %54, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %47) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %46) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %39) #18 br label %673 452: ; preds = %435 %453 = landingpad { ptr, i32 } cleanup %454 = extractvalue { ptr, i32 } %453, 0 store ptr %454, ptr %11, align 8 %455 = extractvalue { ptr, i32 } %453, 1 store i32 %455, ptr %12, align 4 br label %490 456: ; preds = %439, %437 %457 = landingpad { ptr, i32 } cleanup %458 = extractvalue { ptr, i32 } %457, 0 store ptr %458, ptr %11, align 8 %459 = extractvalue { ptr, i32 } %457, 1 store i32 %459, ptr %12, align 4 br label %489 460: ; preds = %441 %461 = landingpad { ptr, i32 } cleanup %462 = extractvalue { ptr, i32 } %461, 0 store ptr %462, ptr %11, align 8 %463 = extractvalue { ptr, i32 } %461, 1 store i32 %463, ptr %12, align 4 br label %488 464: ; preds = %443 %465 = landingpad { ptr, i32 } cleanup %466 = extractvalue { ptr, i32 } %465, 0 store ptr %466, ptr %11, align 8 %467 = extractvalue { ptr, i32 } %465, 1 store i32 %467, ptr %12, align 4 br label %487 468: ; preds = %444 %469 = landingpad { ptr, i32 } cleanup %470 = extractvalue { ptr, i32 } %469, 0 store ptr %470, ptr %11, align 8 %471 = extractvalue { ptr, i32 } %469, 1 store i32 %471, ptr %12, align 4 br label %486 472: ; preds = %445 %473 = landingpad { ptr, i32 } cleanup %474 = extractvalue { ptr, i32 } %473, 0 store ptr %474, ptr %11, align 8 %475 = extractvalue { ptr, i32 } %473, 1 store i32 %475, ptr %12, align 4 br label %485 476: ; preds = %446 %477 = landingpad { ptr, i32 } cleanup %478 = extractvalue { ptr, i32 } %477, 0 store ptr %478, ptr %11, align 8 %479 = extractvalue { ptr, i32 } %477, 1 store i32 %479, ptr %12, align 4 br label %484 480: ; preds = %449, %447 %481 = landingpad { ptr, i32 } cleanup %482 = extractvalue { ptr, i32 } %481, 0 store ptr %482, ptr %11, align 8 %483 = extractvalue { ptr, i32 } %481, 1 store i32 %483, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %53) #18 br label %484 484: ; preds = %480, %476 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #18 br label %485 485: ; preds = %484, %472 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #18 br label %486 486: ; preds = %485, %468 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #18 br label %487 487: ; preds = %486, %464 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #18 br label %488 488: ; preds = %487, %460 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %48) #18 br label %489 489: ; preds = %488, %456 call void @llvm.lifetime.end.p0(i64 4, ptr %47) #18 br label %490 490: ; preds = %489, %452 call void @llvm.lifetime.end.p0(i64 4, ptr %46) #18 br label %491 491: ; preds = %490, %434 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %39) #18 br label %681 492: ; preds = %403 %493 = load i32, ptr %9, align 4, !tbaa !93 %494 = icmp eq i32 %493, 5 br i1 %494, label %495, label %637 495: ; preds = %492 call void @llvm.lifetime.start.p0(i64 4, ptr %55) #18 %496 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #18 %497 = load i32, ptr %496, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %56, i32 noundef %497) to label %498 unwind label %535 498: ; preds = %495 %499 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #18 %500 = load i32, ptr %499, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %57, i32 noundef %500) to label %501 unwind label %539 501: ; preds = %498 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %58, i32 noundef 0) to label %502 unwind label %543 502: ; preds = %501 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %59, i32 noundef 0) to label %503 unwind label %547 503: ; preds = %502 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %60, i32 noundef 0) to label %504 unwind label %551 504: ; preds = %503 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %61, i32 noundef 0) to label %505 unwind label %555 505: ; preds = %504 %506 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %56, ptr noundef %57, ptr noundef %58, ptr noundef %59, ptr noundef %60, ptr noundef %61) to label %507 unwind label %559 507: ; preds = %505 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %61) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %59) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %58) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %56) #18 store i32 %506, ptr %55, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %62) #18 %508 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #18 %509 = load i32, ptr %508, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %64, i32 noundef %509) to label %510 unwind label %568 510: ; preds = %507 %511 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %64) to label %512 unwind label %572 512: ; preds = %510 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %63, i32 noundef %511) to label %513 unwind label %572 513: ; preds = %512 %514 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 2) #18 %515 = load i32, ptr %514, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %65, i32 noundef %515) to label %516 unwind label %576 516: ; preds = %513 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %66, i32 noundef 0) to label %517 unwind label %580 517: ; preds = %516 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %67, i32 noundef 0) to label %518 unwind label %584 518: ; preds = %517 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %68, i32 noundef 0) to label %519 unwind label %588 519: ; preds = %518 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %69, i32 noundef 0) to label %520 unwind label %592 520: ; preds = %519 %521 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %63, ptr noundef %65, ptr noundef %66, ptr noundef %67, ptr noundef %68, ptr noundef %69) to label %522 unwind label %596 522: ; preds = %520 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %69) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %68) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %63) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %64) #18 store i32 %521, ptr %62, align 4, !tbaa !72 %523 = load i32, ptr %55, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %70, i32 noundef %523) to label %524 unwind label %568 524: ; preds = %522 %525 = load i32, ptr %62, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %71, i32 noundef %525) to label %526 unwind label %606 526: ; preds = %524 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %72, i32 noundef 0) to label %527 unwind label %610 527: ; preds = %526 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %73, i32 noundef 0) to label %528 unwind label %614 528: ; preds = %527 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %74, i32 noundef 0) to label %529 unwind label %618 529: ; preds = %528 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %75, i32 noundef 0) to label %530 unwind label %622 530: ; preds = %529 %531 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef %70, ptr noundef %71, ptr noundef %72, ptr noundef %73, ptr noundef %74, ptr noundef %75) to label %532 unwind label %626 532: ; preds = %530 %533 = invoke noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %531, i1 noundef zeroext false) to label %534 unwind label %626 534: ; preds = %532 store i32 %533, ptr %13, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %75) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %74) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %73) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %71) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #18 store i32 7, ptr %54, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %62) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %55) #18 br label %673 535: ; preds = %495 %536 = landingpad { ptr, i32 } cleanup %537 = extractvalue { ptr, i32 } %536, 0 store ptr %537, ptr %11, align 8 %538 = extractvalue { ptr, i32 } %536, 1 store i32 %538, ptr %12, align 4 br label %636 539: ; preds = %498 %540 = landingpad { ptr, i32 } cleanup %541 = extractvalue { ptr, i32 } %540, 0 store ptr %541, ptr %11, align 8 %542 = extractvalue { ptr, i32 } %540, 1 store i32 %542, ptr %12, align 4 br label %567 543: ; preds = %501 %544 = landingpad { ptr, i32 } cleanup %545 = extractvalue { ptr, i32 } %544, 0 store ptr %545, ptr %11, align 8 %546 = extractvalue { ptr, i32 } %544, 1 store i32 %546, ptr %12, align 4 br label %566 547: ; preds = %502 %548 = landingpad { ptr, i32 } cleanup %549 = extractvalue { ptr, i32 } %548, 0 store ptr %549, ptr %11, align 8 %550 = extractvalue { ptr, i32 } %548, 1 store i32 %550, ptr %12, align 4 br label %565 551: ; preds = %503 %552 = landingpad { ptr, i32 } cleanup %553 = extractvalue { ptr, i32 } %552, 0 store ptr %553, ptr %11, align 8 %554 = extractvalue { ptr, i32 } %552, 1 store i32 %554, ptr %12, align 4 br label %564 555: ; preds = %504 %556 = landingpad { ptr, i32 } cleanup %557 = extractvalue { ptr, i32 } %556, 0 store ptr %557, ptr %11, align 8 %558 = extractvalue { ptr, i32 } %556, 1 store i32 %558, ptr %12, align 4 br label %563 559: ; preds = %505 %560 = landingpad { ptr, i32 } cleanup %561 = extractvalue { ptr, i32 } %560, 0 store ptr %561, ptr %11, align 8 %562 = extractvalue { ptr, i32 } %560, 1 store i32 %562, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %61) #18 br label %563 563: ; preds = %559, %555 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %60) #18 br label %564 564: ; preds = %563, %551 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %59) #18 br label %565 565: ; preds = %564, %547 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %58) #18 br label %566 566: ; preds = %565, %543 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #18 br label %567 567: ; preds = %566, %539 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %56) #18 br label %636 568: ; preds = %522, %507 %569 = landingpad { ptr, i32 } cleanup %570 = extractvalue { ptr, i32 } %569, 0 store ptr %570, ptr %11, align 8 %571 = extractvalue { ptr, i32 } %569, 1 store i32 %571, ptr %12, align 4 br label %635 572: ; preds = %512, %510 %573 = landingpad { ptr, i32 } cleanup %574 = extractvalue { ptr, i32 } %573, 0 store ptr %574, ptr %11, align 8 %575 = extractvalue { ptr, i32 } %573, 1 store i32 %575, ptr %12, align 4 br label %605 576: ; preds = %513 %577 = landingpad { ptr, i32 } cleanup %578 = extractvalue { ptr, i32 } %577, 0 store ptr %578, ptr %11, align 8 %579 = extractvalue { ptr, i32 } %577, 1 store i32 %579, ptr %12, align 4 br label %604 580: ; preds = %516 %581 = landingpad { ptr, i32 } cleanup %582 = extractvalue { ptr, i32 } %581, 0 store ptr %582, ptr %11, align 8 %583 = extractvalue { ptr, i32 } %581, 1 store i32 %583, ptr %12, align 4 br label %603 584: ; preds = %517 %585 = landingpad { ptr, i32 } cleanup %586 = extractvalue { ptr, i32 } %585, 0 store ptr %586, ptr %11, align 8 %587 = extractvalue { ptr, i32 } %585, 1 store i32 %587, ptr %12, align 4 br label %602 588: ; preds = %518 %589 = landingpad { ptr, i32 } cleanup %590 = extractvalue { ptr, i32 } %589, 0 store ptr %590, ptr %11, align 8 %591 = extractvalue { ptr, i32 } %589, 1 store i32 %591, ptr %12, align 4 br label %601 592: ; preds = %519 %593 = landingpad { ptr, i32 } cleanup %594 = extractvalue { ptr, i32 } %593, 0 store ptr %594, ptr %11, align 8 %595 = extractvalue { ptr, i32 } %593, 1 store i32 %595, ptr %12, align 4 br label %600 596: ; preds = %520 %597 = landingpad { ptr, i32 } cleanup %598 = extractvalue { ptr, i32 } %597, 0 store ptr %598, ptr %11, align 8 %599 = extractvalue { ptr, i32 } %597, 1 store i32 %599, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %69) #18 br label %600 600: ; preds = %596, %592 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %68) #18 br label %601 601: ; preds = %600, %588 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #18 br label %602 602: ; preds = %601, %584 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #18 br label %603 603: ; preds = %602, %580 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %65) #18 br label %604 604: ; preds = %603, %576 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %63) #18 br label %605 605: ; preds = %604, %572 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %64) #18 br label %635 606: ; preds = %524 %607 = landingpad { ptr, i32 } cleanup %608 = extractvalue { ptr, i32 } %607, 0 store ptr %608, ptr %11, align 8 %609 = extractvalue { ptr, i32 } %607, 1 store i32 %609, ptr %12, align 4 br label %634 610: ; preds = %526 %611 = landingpad { ptr, i32 } cleanup %612 = extractvalue { ptr, i32 } %611, 0 store ptr %612, ptr %11, align 8 %613 = extractvalue { ptr, i32 } %611, 1 store i32 %613, ptr %12, align 4 br label %633 614: ; preds = %527 %615 = landingpad { ptr, i32 } cleanup %616 = extractvalue { ptr, i32 } %615, 0 store ptr %616, ptr %11, align 8 %617 = extractvalue { ptr, i32 } %615, 1 store i32 %617, ptr %12, align 4 br label %632 618: ; preds = %528 %619 = landingpad { ptr, i32 } cleanup %620 = extractvalue { ptr, i32 } %619, 0 store ptr %620, ptr %11, align 8 %621 = extractvalue { ptr, i32 } %619, 1 store i32 %621, ptr %12, align 4 br label %631 622: ; preds = %529 %623 = landingpad { ptr, i32 } cleanup %624 = extractvalue { ptr, i32 } %623, 0 store ptr %624, ptr %11, align 8 %625 = extractvalue { ptr, i32 } %623, 1 store i32 %625, ptr %12, align 4 br label %630 626: ; preds = %532, %530 %627 = landingpad { ptr, i32 } cleanup %628 = extractvalue { ptr, i32 } %627, 0 store ptr %628, ptr %11, align 8 %629 = extractvalue { ptr, i32 } %627, 1 store i32 %629, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %75) #18 br label %630 630: ; preds = %626, %622 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %74) #18 br label %631 631: ; preds = %630, %618 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %73) #18 br label %632 632: ; preds = %631, %614 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #18 br label %633 633: ; preds = %632, %610 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %71) #18 br label %634 634: ; preds = %633, %606 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #18 br label %635 635: ; preds = %634, %605, %568 call void @llvm.lifetime.end.p0(i64 4, ptr %62) #18 br label %636 636: ; preds = %635, %567, %535 call void @llvm.lifetime.end.p0(i64 4, ptr %55) #18 br label %681 637: ; preds = %492 call void @llvm.lifetime.start.p0(i64 4, ptr %76) #18 store i32 0, ptr %76, align 4, !tbaa !72 br label %638 638: ; preds = %654, %637 %639 = load i32, ptr %76, align 4, !tbaa !72 %640 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 %641 = trunc i64 %640 to i32 %642 = icmp slt i32 %639, %641 br i1 %642, label %644, label %643 643: ; preds = %638 store i32 10, ptr %54, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %76) #18 br label %661 644: ; preds = %638 %645 = load i32, ptr %76, align 4, !tbaa !72 %646 = sext i32 %645 to i64 %647 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %646) #18 %648 = load i32, ptr %647, align 4, !tbaa !72 %649 = invoke noundef i32 @_ZN5ezSAT4bindEib(ptr noundef nonnull align 8 dereferenceable(284) %78, i32 noundef %648, i1 noundef zeroext false) to label %650 unwind label %657 650: ; preds = %644 %651 = load i32, ptr %76, align 4, !tbaa !72 %652 = sext i32 %651 to i64 %653 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %652) #18 store i32 %649, ptr %653, align 4, !tbaa !72 br label %654 654: ; preds = %650 %655 = load i32, ptr %76, align 4, !tbaa !72 %656 = add nsw i32 %655, 1 store i32 %656, ptr %76, align 4, !tbaa !72 br label %638, !llvm.loop !123 657: ; preds = %644 %658 = landingpad { ptr, i32 } cleanup %659 = extractvalue { ptr, i32 } %658, 0 store ptr %659, ptr %11, align 8 %660 = extractvalue { ptr, i32 } %658, 1 store i32 %660, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %76) #18 br label %681 661: ; preds = %643 %662 = load i32, ptr %9, align 4, !tbaa !93 switch i32 %662, label %671 [ i32 0, label %663 i32 1, label %665 i32 2, label %668 ] 663: ; preds = %661 %664 = call noundef i32 @_ZN5ezSAT12bind_cnf_notERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef nonnull align 8 dereferenceable(24) %10) store i32 %664, ptr %13, align 4, !tbaa !72 br label %672 665: ; preds = %661 %666 = invoke noundef i32 @_ZN5ezSAT12bind_cnf_andERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef nonnull align 8 dereferenceable(24) %10) to label %667 unwind label %399 667: ; preds = %665 store i32 %666, ptr %13, align 4, !tbaa !72 br label %672 668: ; preds = %661 %669 = invoke noundef i32 @_ZN5ezSAT11bind_cnf_orERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %78, ptr noundef nonnull align 8 dereferenceable(24) %10) to label %670 unwind label %399 670: ; preds = %668 store i32 %669, ptr %13, align 4, !tbaa !72 br label %672 671: ; preds = %661 call void @abort() #20 unreachable 672: ; preds = %670, %667, %663 br label %673 673: ; preds = %451, %534, %672, %398 %674 = load i32, ptr %13, align 4, !tbaa !72 %675 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 15 %676 = load i32, ptr %6, align 4, !tbaa !72 %677 = sub nsw i32 0, %676 %678 = sub nsw i32 %677, 1 %679 = sext i32 %678 to i64 %680 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %675, i64 noundef %679) #18 store i32 %674, ptr %680, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %683 681: ; preds = %657, %636, %491, %399, %391 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 br label %682 682: ; preds = %681, %204 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %693 683: ; preds = %673, %179 %684 = getelementptr inbounds nuw %class.ezSAT, ptr %78, i32 0, i32 15 %685 = load i32, ptr %6, align 4, !tbaa !72 %686 = sub nsw i32 0, %685 %687 = sub nsw i32 %686, 1 %688 = sext i32 %687 to i64 %689 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %684, i64 noundef %688) #18 %690 = load i32, ptr %689, align 4, !tbaa !72 store i32 %690, ptr %4, align 4 br label %691 691: ; preds = %683, %142 %692 = load i32, ptr %4, align 4 ret i32 %692 693: ; preds = %682 %694 = load ptr, ptr %11, align 8 %695 = load i32, ptr %12, align 4 %696 = insertvalue { ptr, i32 } poison, ptr %694, 0 %697 = insertvalue { ptr, i32 } %696, i32 %695, 1 resume { ptr, i32 } %697 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !69 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !68 %7 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %6) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 1 dereferenceable(1) %3) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca i64, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !68 store i64 %1, ptr %6, align 8, !tbaa !97 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !95 %11 = load ptr, ptr %5, align 8 %12 = load i64, ptr %6, align 8, !tbaa !97 %13 = load ptr, ptr %8, align 8, !tbaa !95 %14 = call noundef i64 @_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_(i64 noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13) %15 = load ptr, ptr %8, align 8, !tbaa !95 call void @_ZNSt12_Vector_baseIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %14, ptr noundef nonnull align 1 dereferenceable(1) %15) %16 = load i64, ptr %6, align 8, !tbaa !97 %17 = load ptr, ptr %7, align 8, !tbaa !100 invoke void @_ZNSt6vectorIiSaIiEE18_M_fill_initializeEmRKi(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %16, ptr noundef nonnull align 4 dereferenceable(4) %17) to label %18 unwind label %19 18: ; preds = %4 ret void 19: ; preds = %4 %20 = landingpad { ptr, i32 } cleanup %21 = extractvalue { ptr, i32 } %20, 0 store ptr %21, ptr %9, align 8 %22 = extractvalue { ptr, i32 } %20, 1 store i32 %22, ptr %10, align 4 call void @_ZNSt12_Vector_baseIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 br label %23 23: ; preds = %19 %24 = load ptr, ptr %9, align 8 %25 = load i32, ptr %10, align 4 %26 = insertvalue { ptr, i32 } poison, ptr %24, 0 %27 = insertvalue { ptr, i32 } %26, i32 %25, 1 resume { ptr, i32 } %27 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !124 store ptr %1, ptr %4, align 8, !tbaa !124 %5 = load ptr, ptr %3, align 8, !tbaa !124 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !100 %8 = load ptr, ptr %4, align 8, !tbaa !124 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !100 %11 = icmp ne ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !124 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !126 ret ptr %5 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !100 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !100 %7 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE12emplace_backIJiEEERiDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(4) %6) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !124 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !126 %6 = getelementptr inbounds nuw i32, ptr %5, i32 1 store ptr %6, ptr %4, align 8, !tbaa !126 ret ptr %3 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 store ptr %0, ptr %3, align 8, !tbaa !69 store ptr %1, ptr %4, align 8, !tbaa !68 %6 = load ptr, ptr %3, align 8 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !80 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %10, i32 0, i32 2 %12 = load ptr, ptr %11, align 8, !tbaa !128 %13 = icmp ne ptr %9, %12 br i1 %13, label %14, label %24 14: ; preds = %2 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %16, i32 0, i32 1 %18 = load ptr, ptr %17, align 8, !tbaa !80 %19 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef %18, ptr noundef nonnull align 8 dereferenceable(24) %19) %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !80 %23 = getelementptr inbounds nuw %"class.std::vector.14", ptr %22, i32 1 store ptr %23, ptr %21, align 8, !tbaa !80 br label %30 24: ; preds = %2 %25 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = load ptr, ptr %4, align 8, !tbaa !68 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr %29, ptr noundef nonnull align 8 dereferenceable(24) %27) br label %30 30: ; preds = %24, %14 ret void } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT10add_clauseERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !68 %9 = load ptr, ptr %3, align 8 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %9, i32 noundef 454) call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %10 = load ptr, ptr %4, align 8, !tbaa !68 store ptr %10, ptr %5, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %11 = load ptr, ptr %5, align 8, !tbaa !68 %12 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %12, ptr %13, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %14 = load ptr, ptr %5, align 8, !tbaa !68 %15 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 store ptr %15, ptr %16, align 8 br label %17 17: ; preds = %24, %2 %18 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #18 br i1 %18, label %20, label %19 19: ; preds = %17 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %26 20: ; preds = %17 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 %21 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %22 = load i32, ptr %21, align 4, !tbaa !72 store i32 %22, ptr %8, align 4, !tbaa !72 %23 = load i32, ptr %8, align 4, !tbaa !72 call void @_ZN5ezSAT7addhashEj(ptr noundef nonnull align 8 dereferenceable(284) %9, i32 noundef %23) call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 br label %24 24: ; preds = %20 %25 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #18 br label %17 26: ; preds = %19 %27 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 16 %28 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %28) %29 = getelementptr inbounds nuw %class.ezSAT, ptr %9, i32 0, i32 12 %30 = load i32, ptr %29, align 8, !tbaa !57 %31 = add nsw i32 %30, 1 store i32 %31, ptr %29, align 8, !tbaa !57 ret void } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT10add_clauseERKSt6vectorIiSaIiEEbiii(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, i1 noundef zeroext %2, i32 noundef %3, i32 noundef %4, i32 noundef %5) #0 align 2 personality ptr @__gxx_personality_v0 { %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i8, align 1 %10 = alloca i32, align 4 %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca %"class.std::vector.14", align 8 %14 = alloca ptr, align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %17 = alloca i32, align 4 %18 = alloca i32, align 4 %19 = alloca ptr, align 8 %20 = alloca i32, align 4 store ptr %0, ptr %7, align 8, !tbaa !6 store ptr %1, ptr %8, align 8, !tbaa !68 %21 = zext i1 %2 to i8 store i8 %21, ptr %9, align 1, !tbaa !87 store i32 %3, ptr %10, align 4, !tbaa !72 store i32 %4, ptr %11, align 4, !tbaa !72 store i32 %5, ptr %12, align 4, !tbaa !72 %22 = load ptr, ptr %7, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %13) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 %23 = load ptr, ptr %8, align 8, !tbaa !68 store ptr %23, ptr %14, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 %24 = load ptr, ptr %14, align 8, !tbaa !68 %25 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %24) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %15, i32 0, i32 0 store ptr %25, ptr %26, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 %27 = load ptr, ptr %14, align 8, !tbaa !68 %28 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #18 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %16, i32 0, i32 0 store ptr %28, ptr %29, align 8 br label %30 30: ; preds = %46, %6 %31 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #18 br i1 %31, label %33, label %32 32: ; preds = %30 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 br label %52 33: ; preds = %30 call void @llvm.lifetime.start.p0(i64 4, ptr %17) #18 %34 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #18 %35 = load i32, ptr %34, align 4, !tbaa !72 store i32 %35, ptr %17, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %18) #18 %36 = load i8, ptr %9, align 1, !tbaa !87, !range !88, !noundef !89 %37 = trunc i8 %36 to i1 br i1 %37, label %38, label %40 38: ; preds = %33 %39 = load i32, ptr %17, align 4, !tbaa !72 br label %43 40: ; preds = %33 %41 = load i32, ptr %17, align 4, !tbaa !72 %42 = sub nsw i32 0, %41 br label %43 43: ; preds = %40, %38 %44 = phi i32 [ %39, %38 ], [ %42, %40 ] store i32 %44, ptr %18, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %18) to label %45 unwind label %48 45: ; preds = %43 call void @llvm.lifetime.end.p0(i64 4, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 br label %46 46: ; preds = %45 %47 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #18 br label %30 48: ; preds = %43 %49 = landingpad { ptr, i32 } cleanup %50 = extractvalue { ptr, i32 } %49, 0 store ptr %50, ptr %19, align 8 %51 = extractvalue { ptr, i32 } %49, 1 store i32 %51, ptr %20, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 br label %73 52: ; preds = %32 %53 = load i32, ptr %10, align 4, !tbaa !72 %54 = icmp ne i32 %53, 0 br i1 %54, label %55, label %61 55: ; preds = %52 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %10) to label %56 unwind label %57 56: ; preds = %55 br label %61 57: ; preds = %71, %69, %64, %55 %58 = landingpad { ptr, i32 } cleanup %59 = extractvalue { ptr, i32 } %58, 0 store ptr %59, ptr %19, align 8 %60 = extractvalue { ptr, i32 } %58, 1 store i32 %60, ptr %20, align 4 br label %73 61: ; preds = %56, %52 %62 = load i32, ptr %11, align 4, !tbaa !72 %63 = icmp ne i32 %62, 0 br i1 %63, label %64, label %66 64: ; preds = %61 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %11) to label %65 unwind label %57 65: ; preds = %64 br label %66 66: ; preds = %65, %61 %67 = load i32, ptr %12, align 4, !tbaa !72 %68 = icmp ne i32 %67, 0 br i1 %68, label %69, label %71 69: ; preds = %66 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %12) to label %70 unwind label %57 70: ; preds = %69 br label %71 71: ; preds = %70, %66 invoke void @_ZN5ezSAT10add_clauseERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %22, ptr noundef nonnull align 8 dereferenceable(24) %13) to label %72 unwind label %57 72: ; preds = %71 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %13) #18 ret void 73: ; preds = %57, %48 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %13) #18 br label %74 74: ; preds = %73 %75 = load ptr, ptr %19, align 8 %76 = load i32, ptr %20, align 4 %77 = insertvalue { ptr, i32 } poison, ptr %75, 0 %78 = insertvalue { ptr, i32 } %77, i32 %76, 1 resume { ptr, i32 } %78 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT10add_clauseEiii(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca %"class.std::vector.14", align 8 %10 = alloca ptr, align 8 %11 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !6 store i32 %1, ptr %6, align 4, !tbaa !72 store i32 %2, ptr %7, align 4, !tbaa !72 store i32 %3, ptr %8, align 4, !tbaa !72 %12 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %9) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %13 = load i32, ptr %6, align 4, !tbaa !72 %14 = icmp ne i32 %13, 0 br i1 %14, label %15, label %21 15: ; preds = %4 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %6) to label %16 unwind label %17 16: ; preds = %15 br label %21 17: ; preds = %31, %29, %24, %15 %18 = landingpad { ptr, i32 } cleanup %19 = extractvalue { ptr, i32 } %18, 0 store ptr %19, ptr %10, align 8 %20 = extractvalue { ptr, i32 } %18, 1 store i32 %20, ptr %11, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %9) #18 br label %33 21: ; preds = %16, %4 %22 = load i32, ptr %7, align 4, !tbaa !72 %23 = icmp ne i32 %22, 0 br i1 %23, label %24, label %26 24: ; preds = %21 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %7) to label %25 unwind label %17 25: ; preds = %24 br label %26 26: ; preds = %25, %21 %27 = load i32, ptr %8, align 4, !tbaa !72 %28 = icmp ne i32 %27, 0 br i1 %28, label %29, label %31 29: ; preds = %26 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %8) to label %30 unwind label %17 30: ; preds = %29 br label %31 31: ; preds = %30, %26 invoke void @_ZN5ezSAT10add_clauseERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %12, ptr noundef nonnull align 8 dereferenceable(24) %9) to label %32 unwind label %17 32: ; preds = %31 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %9) #18 ret void 33: ; preds = %17 %34 = load ptr, ptr %10, align 8 %35 = load i32, ptr %11, align 4 %36 = insertvalue { ptr, i32 } poison, ptr %34, 0 %37 = insertvalue { ptr, i32 } %36, i32 %35, 1 resume { ptr, i32 } %37 } ; Function Attrs: mustprogress nounwind uwtable define noundef i32 @_ZN5ezSAT12bind_cnf_notERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %4, align 8, !tbaa !68 %6 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #18 %7 = load i32, ptr %6, align 4, !tbaa !72 %8 = sub nsw i32 0, %7 ret i32 %8 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT12bind_cnf_andERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i32, align 4 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !68 %10 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %5) #18 %11 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 11 %12 = load i32, ptr %11, align 4, !tbaa !56 %13 = add nsw i32 %12, 1 store i32 %13, ptr %11, align 4, !tbaa !56 store i32 %13, ptr %5, align 4, !tbaa !72 %14 = load ptr, ptr %4, align 8, !tbaa !68 %15 = load i32, ptr %5, align 4, !tbaa !72 call void @_ZN5ezSAT10add_clauseERKSt6vectorIiSaIiEEbiii(ptr noundef nonnull align 8 dereferenceable(284) %10, ptr noundef nonnull align 8 dereferenceable(24) %14, i1 noundef zeroext false, i32 noundef %15, i32 noundef 0, i32 noundef 0) call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %16 = load ptr, ptr %4, align 8, !tbaa !68 store ptr %16, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %17 = load ptr, ptr %6, align 8, !tbaa !68 %18 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 store ptr %18, ptr %19, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %20 = load ptr, ptr %6, align 8, !tbaa !68 %21 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %21, ptr %22, align 8 br label %23 23: ; preds = %32, %2 %24 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8) #18 br i1 %24, label %26, label %25 25: ; preds = %23 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br label %34 26: ; preds = %23 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 %27 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %7) #18 %28 = load i32, ptr %27, align 4, !tbaa !72 store i32 %28, ptr %9, align 4, !tbaa !72 %29 = load i32, ptr %5, align 4, !tbaa !72 %30 = sub nsw i32 0, %29 %31 = load i32, ptr %9, align 4, !tbaa !72 call void @_ZN5ezSAT10add_clauseEiii(ptr noundef nonnull align 8 dereferenceable(284) %10, i32 noundef %30, i32 noundef %31, i32 noundef 0) call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %32 32: ; preds = %26 %33 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %7) #18 br label %23 34: ; preds = %25 %35 = load i32, ptr %5, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %5) #18 ret i32 %35 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT11bind_cnf_orERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i32, align 4 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !68 %10 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %5) #18 %11 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 11 %12 = load i32, ptr %11, align 4, !tbaa !56 %13 = add nsw i32 %12, 1 store i32 %13, ptr %11, align 4, !tbaa !56 store i32 %13, ptr %5, align 4, !tbaa !72 %14 = load ptr, ptr %4, align 8, !tbaa !68 %15 = load i32, ptr %5, align 4, !tbaa !72 %16 = sub nsw i32 0, %15 call void @_ZN5ezSAT10add_clauseERKSt6vectorIiSaIiEEbiii(ptr noundef nonnull align 8 dereferenceable(284) %10, ptr noundef nonnull align 8 dereferenceable(24) %14, i1 noundef zeroext true, i32 noundef %16, i32 noundef 0, i32 noundef 0) call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %17 = load ptr, ptr %4, align 8, !tbaa !68 store ptr %17, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %18 = load ptr, ptr %6, align 8, !tbaa !68 %19 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 store ptr %19, ptr %20, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %21 = load ptr, ptr %6, align 8, !tbaa !68 %22 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %22, ptr %23, align 8 br label %24 24: ; preds = %33, %2 %25 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8) #18 br i1 %25, label %27, label %26 26: ; preds = %24 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br label %35 27: ; preds = %24 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 %28 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %7) #18 %29 = load i32, ptr %28, align 4, !tbaa !72 store i32 %29, ptr %9, align 4, !tbaa !72 %30 = load i32, ptr %5, align 4, !tbaa !72 %31 = load i32, ptr %9, align 4, !tbaa !72 %32 = sub nsw i32 0, %31 call void @_ZN5ezSAT10add_clauseEiii(ptr noundef nonnull align 8 dereferenceable(284) %10, i32 noundef %30, i32 noundef %32, i32 noundef 0) call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %33 33: ; preds = %27 %34 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %7) #18 br label %24 35: ; preds = %26 %36 = load i32, ptr %5, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %5) #18 ret i32 %36 } ; Function Attrs: mustprogress nounwind uwtable define noundef i32 @_ZNK5ezSAT5boundEi(ptr noundef nonnull align 8 dereferenceable(284) %0, i32 noundef %1) #1 align 2 { %3 = alloca i32, align 4 %4 = alloca ptr, align 8 %5 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store i32 %1, ptr %5, align 4, !tbaa !72 %6 = load ptr, ptr %4, align 8 %7 = load i32, ptr %5, align 4, !tbaa !72 %8 = icmp sgt i32 %7, 0 br i1 %8, label %9, label %22 9: ; preds = %2 %10 = load i32, ptr %5, align 4, !tbaa !72 %11 = getelementptr inbounds nuw %class.ezSAT, ptr %6, i32 0, i32 14 %12 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 %13 = trunc i64 %12 to i32 %14 = icmp sle i32 %10, %13 br i1 %14, label %15, label %22 15: ; preds = %9 %16 = getelementptr inbounds nuw %class.ezSAT, ptr %6, i32 0, i32 14 %17 = load i32, ptr %5, align 4, !tbaa !72 %18 = sub nsw i32 %17, 1 %19 = sext i32 %18 to i64 %20 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %19) #18 %21 = load i32, ptr %20, align 4, !tbaa !72 store i32 %21, ptr %3, align 4 br label %42 22: ; preds = %9, %2 %23 = load i32, ptr %5, align 4, !tbaa !72 %24 = sub nsw i32 0, %23 %25 = icmp sgt i32 %24, 0 br i1 %25, label %26, label %41 26: ; preds = %22 %27 = load i32, ptr %5, align 4, !tbaa !72 %28 = sub nsw i32 0, %27 %29 = getelementptr inbounds nuw %class.ezSAT, ptr %6, i32 0, i32 15 %30 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #18 %31 = trunc i64 %30 to i32 %32 = icmp sle i32 %28, %31 br i1 %32, label %33, label %41 33: ; preds = %26 %34 = getelementptr inbounds nuw %class.ezSAT, ptr %6, i32 0, i32 15 %35 = load i32, ptr %5, align 4, !tbaa !72 %36 = sub nsw i32 0, %35 %37 = sub nsw i32 %36, 1 %38 = sext i32 %37 to i64 %39 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef %38) #18 %40 = load i32, ptr %39, align 4, !tbaa !72 store i32 %40, ptr %3, align 4 br label %42 41: ; preds = %26, %22 store i32 0, ptr %3, align 4 br label %42 42: ; preds = %41, %33, %15 %43 = load i32, ptr %3, align 4 ret i32 %43 } ; Function Attrs: mustprogress uwtable define void @_ZNK5ezSAT14cnfLiteralInfoB5cxx11Ei(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, i32 noundef %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca %"class.std::__cxx11::basic_string", align 8 %10 = alloca ptr, align 8 %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca %"class.std::__cxx11::basic_string", align 8 %14 = alloca %"class.std::allocator.24", align 1 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !6 store i32 %2, ptr %6, align 4, !tbaa !72 %15 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 store i32 0, ptr %7, align 4, !tbaa !72 br label %16 16: ; preds = %52, %3 %17 = load i32, ptr %7, align 4, !tbaa !72 %18 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 14 %19 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 %20 = trunc i64 %19 to i32 %21 = icmp slt i32 %17, %20 br i1 %21, label %23, label %22 22: ; preds = %16 store i32 2, ptr %8, align 4 br label %55 23: ; preds = %16 %24 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 14 %25 = load i32, ptr %7, align 4, !tbaa !72 %26 = sext i32 %25 to i64 %27 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %26) #18 %28 = load i32, ptr %27, align 4, !tbaa !72 %29 = load i32, ptr %6, align 4, !tbaa !72 %30 = icmp eq i32 %28, %29 br i1 %30, label %31, label %34 31: ; preds = %23 %32 = load i32, ptr %7, align 4, !tbaa !72 %33 = add nsw i32 %32, 1 call void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef %33) store i32 1, ptr %8, align 4 br label %55 34: ; preds = %23 %35 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 14 %36 = load i32, ptr %7, align 4, !tbaa !72 %37 = sext i32 %36 to i64 %38 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %35, i64 noundef %37) #18 %39 = load i32, ptr %38, align 4, !tbaa !72 %40 = load i32, ptr %6, align 4, !tbaa !72 %41 = sub nsw i32 0, %40 %42 = icmp eq i32 %39, %41 br i1 %42, label %43, label %51 43: ; preds = %34 call void @llvm.lifetime.start.p0(i64 32, ptr %9) #18 %44 = load i32, ptr %7, align 4, !tbaa !72 %45 = add nsw i32 %44, 1 call void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef %45) invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef @.str.10, ptr noundef nonnull align 8 dereferenceable(32) %9) to label %46 unwind label %47 46: ; preds = %43 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %9) #18 store i32 1, ptr %8, align 4 br label %55 47: ; preds = %43 %48 = landingpad { ptr, i32 } cleanup %49 = extractvalue { ptr, i32 } %48, 0 store ptr %49, ptr %10, align 8 %50 = extractvalue { ptr, i32 } %48, 1 store i32 %50, ptr %11, align 4 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %108 51: ; preds = %34 br label %52 52: ; preds = %51 %53 = load i32, ptr %7, align 4, !tbaa !72 %54 = add nsw i32 %53, 1 store i32 %54, ptr %7, align 4, !tbaa !72 br label %16, !llvm.loop !129 55: ; preds = %46, %31, %22 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 %56 = load i32, ptr %8, align 4 switch i32 %56, label %113 [ i32 2, label %57 i32 1, label %107 ] 57: ; preds = %55 call void @llvm.lifetime.start.p0(i64 4, ptr %12) #18 store i32 0, ptr %12, align 4, !tbaa !72 br label %58 58: ; preds = %96, %57 %59 = load i32, ptr %12, align 4, !tbaa !72 %60 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 15 %61 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %60) #18 %62 = trunc i64 %61 to i32 %63 = icmp slt i32 %59, %62 br i1 %63, label %65, label %64 64: ; preds = %58 store i32 5, ptr %8, align 4 br label %99 65: ; preds = %58 %66 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 15 %67 = load i32, ptr %12, align 4, !tbaa !72 %68 = sext i32 %67 to i64 %69 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %68) #18 %70 = load i32, ptr %69, align 4, !tbaa !72 %71 = load i32, ptr %6, align 4, !tbaa !72 %72 = icmp eq i32 %70, %71 br i1 %72, label %73, label %77 73: ; preds = %65 %74 = load i32, ptr %12, align 4, !tbaa !72 %75 = sub nsw i32 0, %74 %76 = sub nsw i32 %75, 1 call void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef %76) store i32 1, ptr %8, align 4 br label %99 77: ; preds = %65 %78 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 15 %79 = load i32, ptr %12, align 4, !tbaa !72 %80 = sext i32 %79 to i64 %81 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %78, i64 noundef %80) #18 %82 = load i32, ptr %81, align 4, !tbaa !72 %83 = load i32, ptr %6, align 4, !tbaa !72 %84 = sub nsw i32 0, %83 %85 = icmp eq i32 %82, %84 br i1 %85, label %86, label %95 86: ; preds = %77 call void @llvm.lifetime.start.p0(i64 32, ptr %13) #18 %87 = load i32, ptr %12, align 4, !tbaa !72 %88 = sub nsw i32 0, %87 %89 = sub nsw i32 %88, 1 call void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef %89) invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef @.str.10, ptr noundef nonnull align 8 dereferenceable(32) %13) to label %90 unwind label %91 90: ; preds = %86 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %13) #18 store i32 1, ptr %8, align 4 br label %99 91: ; preds = %86 %92 = landingpad { ptr, i32 } cleanup %93 = extractvalue { ptr, i32 } %92, 0 store ptr %93, ptr %10, align 8 %94 = extractvalue { ptr, i32 } %92, 1 store i32 %94, ptr %11, align 4 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 br label %108 95: ; preds = %77 br label %96 96: ; preds = %95 %97 = load i32, ptr %12, align 4, !tbaa !72 %98 = add nsw i32 %97, 1 store i32 %98, ptr %12, align 4, !tbaa !72 br label %58, !llvm.loop !130 99: ; preds = %90, %73, %64 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 %100 = load i32, ptr %8, align 4 switch i32 %100, label %113 [ i32 5, label %101 i32 1, label %107 ] 101: ; preds = %99 call void @llvm.lifetime.start.p0(i64 1, ptr %14) #18 call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #18 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %14) to label %102 unwind label %103 102: ; preds = %101 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %14) #18 br label %107 103: ; preds = %101 %104 = landingpad { ptr, i32 } cleanup %105 = extractvalue { ptr, i32 } %104, 0 store ptr %105, ptr %10, align 8 %106 = extractvalue { ptr, i32 } %104, 1 store i32 %106, ptr %11, align 4 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %14) #18 br label %108 107: ; preds = %102, %99, %55 ret void 108: ; preds = %103, %91, %47 %109 = load ptr, ptr %10, align 8 %110 = load i32, ptr %11, align 4 %111 = insertvalue { ptr, i32 } poison, ptr %109, 0 %112 = insertvalue { ptr, i32 } %111, i32 %110, 1 resume { ptr, i32 } %112 113: ; preds = %99, %55 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !75 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %6, align 8, !tbaa !71 %8 = load ptr, ptr %5, align 8, !tbaa !75 %9 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef 0, ptr noundef %8) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %9) #18 ret void } ; Function Attrs: nounwind declare i32 @fprintf(ptr noundef, ptr noundef, ...) #7 ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %3) ret ptr %4 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6) #0 comdat align 2 { %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = alloca ptr, align 8 store ptr %0, ptr %8, align 8, !tbaa !6 store ptr %1, ptr %9, align 8, !tbaa !107 store ptr %2, ptr %10, align 8, !tbaa !107 store ptr %3, ptr %11, align 8, !tbaa !107 store ptr %4, ptr %12, align 8, !tbaa !107 store ptr %5, ptr %13, align 8, !tbaa !107 store ptr %6, ptr %14, align 8, !tbaa !107 %15 = load ptr, ptr %8, align 8 %16 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef %15) %17 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef %15) %18 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef %15) %19 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef %15) %20 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef %15) %21 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef %15) %22 = call noundef i32 @_ZN5ezSAT10expressionENS_4OpIdEiiiiii(ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef 1, i32 noundef %16, i32 noundef %17, i32 noundef %18, i32 noundef %19, i32 noundef %20, i32 noundef %21) ret i32 %22 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6) #0 comdat align 2 { %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = alloca ptr, align 8 store ptr %0, ptr %8, align 8, !tbaa !6 store ptr %1, ptr %9, align 8, !tbaa !107 store ptr %2, ptr %10, align 8, !tbaa !107 store ptr %3, ptr %11, align 8, !tbaa !107 store ptr %4, ptr %12, align 8, !tbaa !107 store ptr %5, ptr %13, align 8, !tbaa !107 store ptr %6, ptr %14, align 8, !tbaa !107 %15 = load ptr, ptr %8, align 8 %16 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef %15) %17 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef %15) %18 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef %15) %19 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef %15) %20 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef %15) %21 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef %15) %22 = call noundef i32 @_ZN5ezSAT10expressionENS_4OpIdEiiiiii(ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef 2, i32 noundef %16, i32 noundef %17, i32 noundef %18, i32 noundef %19, i32 noundef %20, i32 noundef %21) ret i32 %22 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE4swapERS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8 br label %6 6: ; preds = %2 br label %7 7: ; preds = %6 br label %8 8: ; preds = %7 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %10 = load ptr, ptr %4, align 8, !tbaa !68 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %10, i32 0, i32 0 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_swap_dataERS2_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %11) #18 %12 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !68 %14 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 invoke void @_ZN9__gnu_cxx14__alloc_traitsISaIiEiE10_S_on_swapERS1_S3_(ptr noundef nonnull align 1 dereferenceable(1) %12, ptr noundef nonnull align 1 dereferenceable(1) %14) to label %15 unwind label %16 15: ; preds = %8 ret void 16: ; preds = %8 %17 = landingpad { ptr, i32 } catch ptr null %18 = extractvalue { ptr, i32 } %17, 0 call void @__clang_call_terminate(ptr %18) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 call void @_ZNKSt6vectorIiSaIiEE14_M_range_checkEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %6) %7 = load i64, ptr %4, align 8, !tbaa !97 %8 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %7) #18 ret ptr %8 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT10consumeCnfEv(ptr noundef nonnull align 8 dereferenceable(284) %0) #0 align 2 { %2 = alloca ptr, align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 store ptr %0, ptr %2, align 8, !tbaa !6 %8 = load ptr, ptr %2, align 8 %9 = call noundef zeroext i1 @_ZNK5ezSAT13mode_keep_cnfEv(ptr noundef nonnull align 8 dereferenceable(284) %8) br i1 %9, label %10, label %29 10: ; preds = %1 %11 = getelementptr inbounds nuw %class.ezSAT, ptr %8, i32 0, i32 17 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %12 = getelementptr inbounds nuw %class.ezSAT, ptr %8, i32 0, i32 17 %13 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %13, ptr %14, align 8 call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2IPS3_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %15 = getelementptr inbounds nuw %class.ezSAT, ptr %8, i32 0, i32 16 %16 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %16, ptr %17, align 8 %18 = getelementptr inbounds nuw %class.ezSAT, ptr %8, i32 0, i32 16 %19 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 store ptr %19, ptr %20, align 8 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %3, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 %24 = load ptr, ptr %23, align 8 %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 %26 = load ptr, ptr %25, align 8 %27 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEES8_NS6_IPKS1_S3_EET_SC_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr %22, ptr %24, ptr %26) %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %27, ptr %28, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 br label %31 29: ; preds = %1 %30 = getelementptr inbounds nuw %class.ezSAT, ptr %8, i32 0, i32 9 store i8 1, ptr %30, align 8, !tbaa !55 br label %31 31: ; preds = %29, %10 %32 = getelementptr inbounds nuw %class.ezSAT, ptr %8, i32 0, i32 16 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNK5ezSAT13mode_keep_cnfEv(ptr noundef nonnull align 8 dereferenceable(284) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !6 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 1 %5 = load i8, ptr %4, align 8, !tbaa !52, !range !88, !noundef !89 %6 = trunc i8 %5 to i1 ret i1 %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEES8_NS6_IPKS1_S3_EET_SC_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr %2, ptr %3) #0 comdat align 2 { %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %6, i32 0, i32 0 store ptr %1, ptr %17, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %2, ptr %18, align 8 %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %8, i32 0, i32 0 store ptr %3, ptr %19, align 8 store ptr %0, ptr %9, align 8, !tbaa !69 %20 = load ptr, ptr %9, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %21 = call ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE6cbeginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %11, i32 0, i32 0 store ptr %21, ptr %22, align 8 %23 = call noundef i64 @_ZN9__gnu_cxxmiIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSB_SE_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %23, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %24 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %13, i32 0, i32 0 store ptr %24, ptr %25, align 8 %26 = load i64, ptr %10, align 8, !tbaa !97 %27 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %13, i64 noundef %26) #18 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %12, i32 0, i32 0 store ptr %27, ptr %28, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !131 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %12, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %14, i32 0, i32 0 %32 = load ptr, ptr %31, align 8 %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %15, i32 0, i32 0 %34 = load ptr, ptr %33, align 8 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE18_M_insert_dispatchIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEEEvS8_T_S9_St12__false_type(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr %30, ptr %32, ptr %34) call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 %35 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %36 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %16, i32 0, i32 0 store ptr %35, ptr %36, align 8 %37 = load i64, ptr %10, align 8, !tbaa !97 %38 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %16, i64 noundef %37) #18 %39 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %38, ptr %39, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 %40 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 %41 = load ptr, ptr %40, align 8 ret ptr %41 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !69 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 1 call void @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2IPS3_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !132 store ptr %1, ptr %4, align 8, !tbaa !134 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !134 %8 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %7) #18 %9 = load ptr, ptr %8, align 8, !tbaa !68 store ptr %9, ptr %6, align 8, !tbaa !136 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !69 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 0 call void @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT10consumeCnfERSt6vectorIS0_IiSaIiEESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !69 %10 = load ptr, ptr %3, align 8 %11 = call noundef zeroext i1 @_ZNK5ezSAT13mode_keep_cnfEv(ptr noundef nonnull align 8 dereferenceable(284) %10) br i1 %11, label %12, label %31 12: ; preds = %2 %13 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 17 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %14 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 17 %15 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 store ptr %15, ptr %16, align 8 call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2IPS3_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %17 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 16 %18 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %18, ptr %19, align 8 %20 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 16 %21 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %8, i32 0, i32 0 store ptr %21, ptr %22, align 8 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 %24 = load ptr, ptr %23, align 8 %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 %26 = load ptr, ptr %25, align 8 %27 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %8, i32 0, i32 0 %28 = load ptr, ptr %27, align 8 %29 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEvEES8_NS6_IPKS1_S3_EET_SC_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr %24, ptr %26, ptr %28) %30 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %9, i32 0, i32 0 store ptr %29, ptr %30, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br label %33 31: ; preds = %2 %32 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 9 store i8 1, ptr %32, align 8, !tbaa !55 br label %33 33: ; preds = %31, %12 %34 = load ptr, ptr %4, align 8, !tbaa !69 %35 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 16 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE4swapERS3_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %35) #18 %36 = getelementptr inbounds nuw %class.ezSAT, ptr %10, i32 0, i32 16 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE4swapERS3_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !69 store ptr %1, ptr %4, align 8, !tbaa !69 %5 = load ptr, ptr %3, align 8 br label %6 6: ; preds = %2 br label %7 7: ; preds = %6 br label %8 8: ; preds = %7 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %5, i32 0, i32 0 %10 = load ptr, ptr %4, align 8, !tbaa !69 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %10, i32 0, i32 0 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_data12_M_swap_dataERS5_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %11) #18 %12 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !69 %14 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 invoke void @_ZN9__gnu_cxx14__alloc_traitsISaISt6vectorIiSaIiEEES3_E10_S_on_swapERS4_S6_(ptr noundef nonnull align 1 dereferenceable(1) %12, ptr noundef nonnull align 1 dereferenceable(1) %14) to label %15 unwind label %16 15: ; preds = %8 ret void 16: ; preds = %8 %17 = landingpad { ptr, i32 } catch ptr null %18 = extractvalue { ptr, i32 } %17, 0 call void @__clang_call_terminate(ptr %18) #20 unreachable } ; Function Attrs: mustprogress uwtable define void @_ZNK5ezSAT10getFullCnfERSt6vectorIS0_IiSaIiEESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !69 %15 = load ptr, ptr %3, align 8 %16 = load ptr, ptr %4, align 8, !tbaa !69 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %17 = load ptr, ptr %4, align 8, !tbaa !69 %18 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 store ptr %18, ptr %19, align 8 call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2IPS3_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %20 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 17 %21 = call ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %7, i32 0, i32 0 store ptr %21, ptr %22, align 8 %23 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 17 %24 = call ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #18 %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %8, i32 0, i32 0 store ptr %24, ptr %25, align 8 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %7, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 %30 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %8, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 %32 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEvEENS6_IPS1_S3_EES9_T_SC_(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr %27, ptr %29, ptr %31) %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %9, i32 0, i32 0 store ptr %32, ptr %33, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %34 = load ptr, ptr %4, align 8, !tbaa !69 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %35 = load ptr, ptr %4, align 8, !tbaa !69 %36 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %35) #18 %37 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %11, i32 0, i32 0 store ptr %36, ptr %37, align 8 call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2IPS3_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 %38 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 16 %39 = call ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %40 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %12, i32 0, i32 0 store ptr %39, ptr %40, align 8 %41 = getelementptr inbounds nuw %class.ezSAT, ptr %15, i32 0, i32 16 %42 = call ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %41) #18 %43 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %13, i32 0, i32 0 store ptr %42, ptr %43, align 8 %44 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %10, i32 0, i32 0 %45 = load ptr, ptr %44, align 8 %46 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %12, i32 0, i32 0 %47 = load ptr, ptr %46, align 8 %48 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %13, i32 0, i32 0 %49 = load ptr, ptr %48, align 8 %50 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEvEENS6_IPS1_S3_EES9_T_SC_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr %45, ptr %47, ptr %49) %51 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %14, i32 0, i32 0 store ptr %50, ptr %51, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEvEENS6_IPS1_S3_EES9_T_SC_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr %2, ptr %3) #0 comdat align 2 { %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %6, i32 0, i32 0 store ptr %1, ptr %17, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %7, i32 0, i32 0 store ptr %2, ptr %18, align 8 %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %8, i32 0, i32 0 store ptr %3, ptr %19, align 8 store ptr %0, ptr %9, align 8, !tbaa !69 %20 = load ptr, ptr %9, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %21 = call ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE6cbeginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %11, i32 0, i32 0 store ptr %21, ptr %22, align 8 %23 = call noundef i64 @_ZN9__gnu_cxxmiIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSB_SE_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %23, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %24 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %13, i32 0, i32 0 store ptr %24, ptr %25, align 8 %26 = load i64, ptr %10, align 8, !tbaa !97 %27 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %13, i64 noundef %26) #18 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %12, i32 0, i32 0 store ptr %27, ptr %28, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !131 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %12, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %14, i32 0, i32 0 %32 = load ptr, ptr %31, align 8 %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %15, i32 0, i32 0 %34 = load ptr, ptr %33, align 8 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE18_M_insert_dispatchIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEvNS6_IPS1_S3_EET_SC_St12__false_type(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr %30, ptr %32, ptr %34) call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 %35 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %36 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %16, i32 0, i32 0 store ptr %35, ptr %36, align 8 %37 = load i64, ptr %10, align 8, !tbaa !97 %38 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %16, i64 noundef %37) #18 %39 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %38, ptr %39, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 %40 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 %41 = load ptr, ptr %40, align 8 ret ptr %41 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !69 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 0 call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !69 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 1 call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT17preSolverCallbackEv(ptr noundef nonnull align 8 dereferenceable(284) %0) #0 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !6 %3 = load ptr, ptr %2, align 8 %4 = call noundef zeroext i1 @_ZNK5ezSAT20mode_non_incrementalEv(ptr noundef nonnull align 8 dereferenceable(284) %3) br i1 %4, label %5, label %7 5: ; preds = %1 %6 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 3 store i8 1, ptr %6, align 2, !tbaa !54 br label %7 7: ; preds = %5, %1 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNK5ezSAT20mode_non_incrementalEv(ptr noundef nonnull align 8 dereferenceable(284) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !6 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %class.ezSAT, ptr %3, i32 0, i32 2 %5 = load i8, ptr %4, align 1, !tbaa !53, !range !88, !noundef !89 %6 = trunc i8 %5 to i1 ret i1 %6 } ; Function Attrs: mustprogress uwtable define noundef zeroext i1 @_ZN5ezSAT6solverERKSt6vectorIiSaIiEERS0_IbSaIbEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) unnamed_addr #0 align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !6 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !138 store ptr %3, ptr %8, align 8, !tbaa !68 %9 = load ptr, ptr %5, align 8 call void @_ZN5ezSAT17preSolverCallbackEv(ptr noundef nonnull align 8 dereferenceable(284) %9) %10 = load ptr, ptr @stderr, align 8, !tbaa !119 %11 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10, ptr noundef @.str.13) #18 %12 = load ptr, ptr @stderr, align 8, !tbaa !119 %13 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12, ptr noundef @.str.14) #18 %14 = load ptr, ptr @stderr, align 8, !tbaa !119 %15 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14, ptr noundef @.str.15) #18 %16 = load ptr, ptr @stderr, align 8, !tbaa !119 %17 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16, ptr noundef @.str.13) #18 call void @abort() #20 unreachable } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT9vec_constERKSt6vectorIbSaIbEE(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(40) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i1, align 1 %8 = alloca ptr, align 8 %9 = alloca %"struct.std::_Bit_const_iterator", align 8 %10 = alloca { ptr, i32 }, align 8 %11 = alloca %"struct.std::_Bit_const_iterator", align 8 %12 = alloca { ptr, i32 }, align 8 %13 = alloca ptr, align 8 %14 = alloca i32, align 4 %15 = alloca i8, align 1 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !6 store ptr %2, ptr %6, align 8, !tbaa !138 store i1 false, ptr %7, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %16 = load ptr, ptr %6, align 8, !tbaa !138 store ptr %16, ptr %8, align 8, !tbaa !138 call void @llvm.lifetime.start.p0(i64 16, ptr %9) #18 %17 = load ptr, ptr %8, align 8, !tbaa !138 %18 = call { ptr, i32 } @_ZNKSt6vectorIbSaIbEE5beginEv(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 store { ptr, i32 } %18, ptr %10, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %10, i64 12, i1 false) call void @llvm.lifetime.start.p0(i64 16, ptr %11) #18 %19 = load ptr, ptr %8, align 8, !tbaa !138 %20 = call { ptr, i32 } @_ZNKSt6vectorIbSaIbEE3endEv(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 store { ptr, i32 } %20, ptr %12, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %12, i64 12, i1 false) br label %21 21: ; preds = %42, %3 %22 = invoke noundef zeroext i1 @_ZStneRKSt18_Bit_iterator_baseS1_(ptr noundef nonnull align 8 dereferenceable(12) %9, ptr noundef nonnull align 8 dereferenceable(12) %11) to label %23 unwind label %25 23: ; preds = %21 br i1 %22, label %29, label %24 24: ; preds = %23 call void @llvm.lifetime.end.p0(i64 16, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 br label %48 25: ; preds = %40, %21 %26 = landingpad { ptr, i32 } cleanup %27 = extractvalue { ptr, i32 } %26, 0 store ptr %27, ptr %13, align 8 %28 = extractvalue { ptr, i32 } %26, 1 store i32 %28, ptr %14, align 4 br label %47 29: ; preds = %23 call void @llvm.lifetime.start.p0(i64 1, ptr %15) #18 %30 = invoke noundef zeroext i1 @_ZNKSt19_Bit_const_iteratordeEv(ptr noundef nonnull align 8 dereferenceable(12) %9) to label %31 unwind label %43 31: ; preds = %29 %32 = zext i1 %30 to i8 store i8 %32, ptr %15, align 1, !tbaa !87 %33 = load i8, ptr %15, align 1, !tbaa !87, !range !88, !noundef !89 %34 = trunc i8 %33 to i1 br i1 %34, label %35, label %36 35: ; preds = %31 br label %37 36: ; preds = %31 br label %37 37: ; preds = %36, %35 %38 = phi ptr [ @_ZN5ezSAT10CONST_TRUEE, %35 ], [ @_ZN5ezSAT11CONST_FALSEE, %36 ] invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %38) to label %39 unwind label %43 39: ; preds = %37 call void @llvm.lifetime.end.p0(i64 1, ptr %15) #18 br label %40 40: ; preds = %39 %41 = invoke noundef nonnull align 8 dereferenceable(12) ptr @_ZNSt19_Bit_const_iteratorppEv(ptr noundef nonnull align 8 dereferenceable(12) %9) to label %42 unwind label %25 42: ; preds = %40 br label %21 43: ; preds = %37, %29 %44 = landingpad { ptr, i32 } cleanup %45 = extractvalue { ptr, i32 } %44, 0 store ptr %45, ptr %13, align 8 %46 = extractvalue { ptr, i32 } %44, 1 store i32 %46, ptr %14, align 4 call void @llvm.lifetime.end.p0(i64 1, ptr %15) #18 br label %47 47: ; preds = %43, %25 call void @llvm.lifetime.end.p0(i64 16, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %52 48: ; preds = %24 store i1 true, ptr %7, align 1 %49 = load i1, ptr %7, align 1 br i1 %49, label %51, label %50 50: ; preds = %48 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %51 51: ; preds = %50, %48 ret void 52: ; preds = %47 %53 = load ptr, ptr %13, align 8 %54 = load i32, ptr %14, align 4 %55 = insertvalue { ptr, i32 } poison, ptr %53, 0 %56 = insertvalue { ptr, i32 } %55, i32 %54, 1 resume { ptr, i32 } %56 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr { ptr, i32 } @_ZNKSt6vectorIbSaIbEE5beginEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca %"struct.std::_Bit_const_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !138 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Bvector_base", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Bvector_base>::_Bvector_impl_data", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !140 invoke void @_ZNSt19_Bit_const_iteratorC2EPmj(ptr noundef nonnull align 8 dereferenceable(12) %2, ptr noundef %8, i32 noundef 0) to label %9 unwind label %11 9: ; preds = %1 %10 = load { ptr, i32 }, ptr %2, align 8 ret { ptr, i32 } %10 11: ; preds = %1 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 call void @__clang_call_terminate(ptr %13) #20 unreachable } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #8 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr { ptr, i32 } @_ZNKSt6vectorIbSaIbEE3endEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca %"struct.std::_Bit_const_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !138 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Bvector_base", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Bvector_base>::_Bvector_impl_data", ptr %5, i32 0, i32 1 invoke void @_ZNSt19_Bit_const_iteratorC2ERKSt13_Bit_iterator(ptr noundef nonnull align 8 dereferenceable(12) %2, ptr noundef nonnull align 8 dereferenceable(12) %6) to label %7 unwind label %9 7: ; preds = %1 %8 = load { ptr, i32 }, ptr %2, align 8 ret { ptr, i32 } %8 9: ; preds = %1 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 call void @__clang_call_terminate(ptr %11) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZStneRKSt18_Bit_iterator_baseS1_(ptr noundef nonnull align 8 dereferenceable(12) %0, ptr noundef nonnull align 8 dereferenceable(12) %1) #0 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !143 store ptr %1, ptr %4, align 8, !tbaa !143 %5 = load ptr, ptr %3, align 8, !tbaa !143 %6 = load ptr, ptr %4, align 8, !tbaa !143 %7 = call noundef zeroext i1 @_ZSteqRKSt18_Bit_iterator_baseS1_(ptr noundef nonnull align 8 dereferenceable(12) %5, ptr noundef nonnull align 8 dereferenceable(12) %6) %8 = xor i1 %7, true ret i1 %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZNKSt19_Bit_const_iteratordeEv(ptr noundef nonnull align 8 dereferenceable(12) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"struct.std::_Bit_reference", align 8 store ptr %0, ptr %2, align 8, !tbaa !145 %4 = load ptr, ptr %2, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr %3) #18 %5 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !140 %7 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %4, i32 0, i32 1 %8 = load i32, ptr %7, align 8, !tbaa !147 %9 = zext i32 %8 to i64 %10 = shl i64 1, %9 call void @_ZNSt14_Bit_referenceC2EPmm(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef %6, i64 noundef %10) %11 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %3) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %3) #18 ret i1 %11 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(12) ptr @_ZNSt19_Bit_const_iteratorppEv(ptr noundef nonnull align 8 dereferenceable(12) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !145 %3 = load ptr, ptr %2, align 8 call void @_ZNSt18_Bit_iterator_base10_M_bump_upEv(ptr noundef nonnull align 8 dereferenceable(12) %3) ret ptr %3 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT16vec_const_signedEli(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, i64 noundef %2, i32 noundef %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca i32, align 4 %9 = alloca i1, align 1 %10 = alloca i32, align 4 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store i64 %2, ptr %7, align 8, !tbaa !97 store i32 %3, ptr %8, align 4, !tbaa !72 store i1 false, ptr %9, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 store i32 0, ptr %10, align 4, !tbaa !72 br label %13 13: ; preds = %30, %4 %14 = load i32, ptr %10, align 4, !tbaa !72 %15 = load i32, ptr %8, align 4, !tbaa !72 %16 = icmp slt i32 %14, %15 br i1 %16, label %18, label %17 17: ; preds = %13 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %37 18: ; preds = %13 %19 = load i64, ptr %7, align 8, !tbaa !97 %20 = load i32, ptr %10, align 4, !tbaa !72 %21 = zext i32 %20 to i64 %22 = ashr i64 %19, %21 %23 = and i64 %22, 1 %24 = icmp ne i64 %23, 0 br i1 %24, label %25, label %26 25: ; preds = %18 br label %27 26: ; preds = %18 br label %27 27: ; preds = %26, %25 %28 = phi ptr [ @_ZN5ezSAT10CONST_TRUEE, %25 ], [ @_ZN5ezSAT11CONST_FALSEE, %26 ] invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %28) to label %29 unwind label %33 29: ; preds = %27 br label %30 30: ; preds = %29 %31 = load i32, ptr %10, align 4, !tbaa !72 %32 = add nsw i32 %31, 1 store i32 %32, ptr %10, align 4, !tbaa !72 br label %13, !llvm.loop !148 33: ; preds = %27 %34 = landingpad { ptr, i32 } cleanup %35 = extractvalue { ptr, i32 } %34, 0 store ptr %35, ptr %11, align 8 %36 = extractvalue { ptr, i32 } %34, 1 store i32 %36, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %41 37: ; preds = %17 store i1 true, ptr %9, align 1 %38 = load i1, ptr %9, align 1 br i1 %38, label %40, label %39 39: ; preds = %37 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %40 40: ; preds = %39, %37 ret void 41: ; preds = %33 %42 = load ptr, ptr %11, align 8 %43 = load i32, ptr %12, align 4 %44 = insertvalue { ptr, i32 } poison, ptr %42, 0 %45 = insertvalue { ptr, i32 } %44, i32 %43, 1 resume { ptr, i32 } %45 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT18vec_const_unsignedEmi(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, i64 noundef %2, i32 noundef %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca i32, align 4 %9 = alloca i1, align 1 %10 = alloca i32, align 4 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store i64 %2, ptr %7, align 8, !tbaa !97 store i32 %3, ptr %8, align 4, !tbaa !72 store i1 false, ptr %9, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 store i32 0, ptr %10, align 4, !tbaa !72 br label %13 13: ; preds = %30, %4 %14 = load i32, ptr %10, align 4, !tbaa !72 %15 = load i32, ptr %8, align 4, !tbaa !72 %16 = icmp slt i32 %14, %15 br i1 %16, label %18, label %17 17: ; preds = %13 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %37 18: ; preds = %13 %19 = load i64, ptr %7, align 8, !tbaa !97 %20 = load i32, ptr %10, align 4, !tbaa !72 %21 = zext i32 %20 to i64 %22 = lshr i64 %19, %21 %23 = and i64 %22, 1 %24 = icmp ne i64 %23, 0 br i1 %24, label %25, label %26 25: ; preds = %18 br label %27 26: ; preds = %18 br label %27 27: ; preds = %26, %25 %28 = phi ptr [ @_ZN5ezSAT10CONST_TRUEE, %25 ], [ @_ZN5ezSAT11CONST_FALSEE, %26 ] invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %28) to label %29 unwind label %33 29: ; preds = %27 br label %30 30: ; preds = %29 %31 = load i32, ptr %10, align 4, !tbaa !72 %32 = add nsw i32 %31, 1 store i32 %32, ptr %10, align 4, !tbaa !72 br label %13, !llvm.loop !149 33: ; preds = %27 %34 = landingpad { ptr, i32 } cleanup %35 = extractvalue { ptr, i32 } %34, 0 store ptr %35, ptr %11, align 8 %36 = extractvalue { ptr, i32 } %34, 1 store i32 %36, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %41 37: ; preds = %17 store i1 true, ptr %9, align 1 %38 = load i1, ptr %9, align 1 br i1 %38, label %40, label %39 39: ; preds = %37 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %40 40: ; preds = %39, %37 ret void 41: ; preds = %33 %42 = load ptr, ptr %11, align 8 %43 = load i32, ptr %12, align 4 %44 = insertvalue { ptr, i32 } poison, ptr %42, 0 %45 = insertvalue { ptr, i32 } %44, i32 %43, 1 resume { ptr, i32 } %45 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_varEi(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, i32 noundef %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 %7 = alloca i1, align 1 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca ptr, align 8 %11 = alloca i32, align 4 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !6 store i32 %2, ptr %6, align 4, !tbaa !72 %12 = load ptr, ptr %5, align 8 store i1 false, ptr %7, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 store i32 0, ptr %8, align 4, !tbaa !72 br label %13 13: ; preds = %22, %3 %14 = load i32, ptr %8, align 4, !tbaa !72 %15 = load i32, ptr %6, align 4, !tbaa !72 %16 = icmp slt i32 %14, %15 br i1 %16, label %18, label %17 17: ; preds = %13 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 br label %29 18: ; preds = %13 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 %19 = invoke noundef i32 @_ZN5ezSAT7literalEv(ptr noundef nonnull align 8 dereferenceable(284) %12) to label %20 unwind label %25 20: ; preds = %18 store i32 %19, ptr %9, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %9) to label %21 unwind label %25 21: ; preds = %20 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %22 22: ; preds = %21 %23 = load i32, ptr %8, align 4, !tbaa !72 %24 = add nsw i32 %23, 1 store i32 %24, ptr %8, align 4, !tbaa !72 br label %13, !llvm.loop !150 25: ; preds = %20, %18 %26 = landingpad { ptr, i32 } cleanup %27 = extractvalue { ptr, i32 } %26, 0 store ptr %27, ptr %10, align 8 %28 = extractvalue { ptr, i32 } %26, 1 store i32 %28, ptr %11, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %33 29: ; preds = %17 store i1 true, ptr %7, align 1 %30 = load i1, ptr %7, align 1 br i1 %30, label %32, label %31 31: ; preds = %29 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %32 32: ; preds = %31, %29 ret void 33: ; preds = %25 %34 = load ptr, ptr %10, align 8 %35 = load i32, ptr %11, align 4 %36 = insertvalue { ptr, i32 } poison, ptr %34, 0 %37 = insertvalue { ptr, i32 } %36, i32 %35, 1 resume { ptr, i32 } %37 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_varENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef %2, i32 noundef %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 %9 = alloca i1, align 1 %10 = alloca i32, align 4 %11 = alloca i32, align 4 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca %"class.std::__cxx11::basic_string", align 8 %14 = alloca %"class.std::__cxx11::basic_string", align 8 %15 = alloca ptr, align 8 %16 = alloca i32, align 4 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !71 store i32 %3, ptr %8, align 4, !tbaa !72 %17 = load ptr, ptr %6, align 8 store i1 false, ptr %9, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 store i32 0, ptr %10, align 4, !tbaa !72 br label %18 18: ; preds = %31, %4 %19 = load i32, ptr %10, align 4, !tbaa !72 %20 = load i32, ptr %8, align 4, !tbaa !72 %21 = icmp slt i32 %19, %20 br i1 %21, label %23, label %22 22: ; preds = %18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %53 23: ; preds = %18 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 call void @llvm.lifetime.start.p0(i64 32, ptr %13) #18 call void @llvm.lifetime.start.p0(i64 32, ptr %14) #18 %24 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZL16my_int_to_stringB5cxx11i(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, i32 noundef %24) to label %25 unwind label %34 25: ; preds = %23 invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %14) to label %26 unwind label %38 26: ; preds = %25 invoke void @_ZN5ezSAT2_VC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(40) %12, ptr noundef nonnull align 8 dereferenceable(32) %13) to label %27 unwind label %42 27: ; preds = %26 %28 = invoke noundef i32 @_ZN5ezSAT3VARENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %17, ptr noundef %12) to label %29 unwind label %46 29: ; preds = %27 store i32 %28, ptr %11, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %11) to label %30 unwind label %46 30: ; preds = %29 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %31 31: ; preds = %30 %32 = load i32, ptr %10, align 4, !tbaa !72 %33 = add nsw i32 %32, 1 store i32 %33, ptr %10, align 4, !tbaa !72 br label %18, !llvm.loop !151 34: ; preds = %23 %35 = landingpad { ptr, i32 } cleanup %36 = extractvalue { ptr, i32 } %35, 0 store ptr %36, ptr %15, align 8 %37 = extractvalue { ptr, i32 } %35, 1 store i32 %37, ptr %16, align 4 br label %52 38: ; preds = %25 %39 = landingpad { ptr, i32 } cleanup %40 = extractvalue { ptr, i32 } %39, 0 store ptr %40, ptr %15, align 8 %41 = extractvalue { ptr, i32 } %39, 1 store i32 %41, ptr %16, align 4 br label %51 42: ; preds = %26 %43 = landingpad { ptr, i32 } cleanup %44 = extractvalue { ptr, i32 } %43, 0 store ptr %44, ptr %15, align 8 %45 = extractvalue { ptr, i32 } %43, 1 store i32 %45, ptr %16, align 4 br label %50 46: ; preds = %29, %27 %47 = landingpad { ptr, i32 } cleanup %48 = extractvalue { ptr, i32 } %47, 0 store ptr %48, ptr %15, align 8 %49 = extractvalue { ptr, i32 } %47, 1 store i32 %49, ptr %16, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 br label %50 50: ; preds = %46, %42 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #18 br label %51 51: ; preds = %50, %38 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #18 br label %52 52: ; preds = %51, %34 call void @llvm.lifetime.end.p0(i64 32, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %57 53: ; preds = %22 store i1 true, ptr %9, align 1 %54 = load i1, ptr %9, align 1 br i1 %54, label %56, label %55 55: ; preds = %53 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %56 56: ; preds = %55, %53 ret void 57: ; preds = %52 %58 = load ptr, ptr %15, align 8 %59 = load i32, ptr %16, align 4 %60 = insertvalue { ptr, i32 } poison, ptr %58, 0 %61 = insertvalue { ptr, i32 } %60, i32 %59, 1 resume { ptr, i32 } %61 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i32 @_ZN5ezSAT3VARENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !107 %5 = load ptr, ptr %3, align 8 %6 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef %5) ret i32 %6 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !71 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %6, align 8, !tbaa !71 %8 = load ptr, ptr %5, align 8, !tbaa !71 %9 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef 0, ptr noundef nonnull align 8 dereferenceable(32) %8) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %9) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZL16my_int_to_stringB5cxx11i(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, i32 noundef %1) #1 { %3 = alloca ptr, align 8 %4 = alloca i32, align 4 store ptr %0, ptr %3, align 8 store i32 %1, ptr %4, align 4, !tbaa !72 %5 = load i32, ptr %4, align 4, !tbaa !72 call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %0, i32 noundef %5) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZN5ezSAT2_VC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !107 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %5, i32 0, i32 0 store i32 0, ptr %6, align 8, !tbaa !109 %7 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %5, i32 0, i32 1 %8 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) ret void } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT8vec_castERKSt6vectorIiSaIiEEib(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef %3, i1 noundef zeroext %4) #0 align 2 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = alloca i8, align 1 %11 = alloca i1, align 1 %12 = alloca i32, align 4 %13 = alloca ptr, align 8 %14 = alloca i32, align 4 store ptr %0, ptr %6, align 8 store ptr %1, ptr %7, align 8, !tbaa !6 store ptr %2, ptr %8, align 8, !tbaa !68 store i32 %3, ptr %9, align 4, !tbaa !72 %15 = zext i1 %4 to i8 store i8 %15, ptr %10, align 1, !tbaa !87 store i1 false, ptr %11, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %12) #18 store i32 0, ptr %12, align 4, !tbaa !72 br label %16 16: ; preds = %48, %5 %17 = load i32, ptr %12, align 4, !tbaa !72 %18 = load i32, ptr %9, align 4, !tbaa !72 %19 = icmp slt i32 %17, %18 br i1 %19, label %21, label %20 20: ; preds = %16 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 br label %51 21: ; preds = %16 %22 = load i32, ptr %12, align 4, !tbaa !72 %23 = load ptr, ptr %8, align 8, !tbaa !68 %24 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #18 %25 = trunc i64 %24 to i32 %26 = icmp sge i32 %22, %25 br i1 %26, label %27, label %41 27: ; preds = %21 %28 = load i8, ptr %10, align 1, !tbaa !87, !range !88, !noundef !89 %29 = trunc i8 %28 to i1 br i1 %29, label %30, label %33 30: ; preds = %27 %31 = load ptr, ptr %8, align 8, !tbaa !68 %32 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #18 br label %34 33: ; preds = %27 br label %34 34: ; preds = %33, %30 %35 = phi ptr [ %32, %30 ], [ @_ZN5ezSAT11CONST_FALSEE, %33 ] invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %35) to label %36 unwind label %37 36: ; preds = %34 br label %47 37: ; preds = %41, %34 %38 = landingpad { ptr, i32 } cleanup %39 = extractvalue { ptr, i32 } %38, 0 store ptr %39, ptr %13, align 8 %40 = extractvalue { ptr, i32 } %38, 1 store i32 %40, ptr %14, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %55 41: ; preds = %21 %42 = load ptr, ptr %8, align 8, !tbaa !68 %43 = load i32, ptr %12, align 4, !tbaa !72 %44 = sext i32 %43 to i64 %45 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %44) #18 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %45) to label %46 unwind label %37 46: ; preds = %41 br label %47 47: ; preds = %46, %36 br label %48 48: ; preds = %47 %49 = load i32, ptr %12, align 4, !tbaa !72 %50 = add nsw i32 %49, 1 store i32 %50, ptr %12, align 4, !tbaa !72 br label %16, !llvm.loop !152 51: ; preds = %20 store i1 true, ptr %11, align 1 %52 = load i1, ptr %11, align 1 br i1 %52, label %54, label %53 53: ; preds = %51 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %54 54: ; preds = %53, %51 ret void 55: ; preds = %37 %56 = load ptr, ptr %13, align 8 %57 = load i32, ptr %14, align 4 %58 = insertvalue { ptr, i32 } poison, ptr %56, 0 %59 = insertvalue { ptr, i32 } %58, i32 %57, 1 resume { ptr, i32 } %59 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %5 = load ptr, ptr %2, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %6 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 1) #18 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 store ptr %8, ptr %9, align 8 %10 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret ptr %10 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_notERKSt6vectorIiSaIiEE(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i1, align 1 %8 = alloca ptr, align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca %"struct.ezSAT::_V", align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !6 store ptr %2, ptr %6, align 8, !tbaa !68 %16 = load ptr, ptr %5, align 8 store i1 false, ptr %7, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %17 = load ptr, ptr %6, align 8, !tbaa !68 store ptr %17, ptr %8, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %18 = load ptr, ptr %8, align 8, !tbaa !68 %19 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 store ptr %19, ptr %20, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %21 = load ptr, ptr %8, align 8, !tbaa !68 %22 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 store ptr %22, ptr %23, align 8 br label %24 24: ; preds = %35, %3 %25 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #18 br i1 %25, label %27, label %26 26: ; preds = %24 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 br label %46 27: ; preds = %24 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 %28 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 %29 = load i32, ptr %28, align 4, !tbaa !72 store i32 %29, ptr %11, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %12) #18 %30 = load i32, ptr %11, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %13, i32 noundef %30) to label %31 unwind label %37 31: ; preds = %27 %32 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %16, ptr noundef %13) to label %33 unwind label %41 33: ; preds = %31 store i32 %32, ptr %12, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %12) to label %34 unwind label %41 34: ; preds = %33 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %35 35: ; preds = %34 %36 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 br label %24 37: ; preds = %27 %38 = landingpad { ptr, i32 } cleanup %39 = extractvalue { ptr, i32 } %38, 0 store ptr %39, ptr %14, align 8 %40 = extractvalue { ptr, i32 } %38, 1 store i32 %40, ptr %15, align 4 br label %45 41: ; preds = %33, %31 %42 = landingpad { ptr, i32 } cleanup %43 = extractvalue { ptr, i32 } %42, 0 store ptr %43, ptr %14, align 8 %44 = extractvalue { ptr, i32 } %42, 1 store i32 %44, ptr %15, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 br label %45 45: ; preds = %41, %37 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %50 46: ; preds = %26 store i1 true, ptr %7, align 1 %47 = load i1, ptr %7, align 1 br i1 %47, label %49, label %48 48: ; preds = %46 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %49 49: ; preds = %48, %46 ret void 50: ; preds = %45 %51 = load ptr, ptr %14, align 8 %52 = load i32, ptr %15, align 4 %53 = insertvalue { ptr, i32 } poison, ptr %51, 0 %54 = insertvalue { ptr, i32 } %53, i32 %52, 1 resume { ptr, i32 } %54 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_andERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i1, align 1 %10 = alloca %"class.std::allocator.16", align 1 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca %"struct.ezSAT::_V", align 8 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !68 %20 = load ptr, ptr %6, align 8 store i1 false, ptr %9, align 1 %21 = load ptr, ptr %7, align 8, !tbaa !68 %22 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %22, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %23 unwind label %31 23: ; preds = %4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 store i32 0, ptr %13, align 4, !tbaa !72 br label %24 24: ; preds = %57, %23 %25 = load i32, ptr %13, align 4, !tbaa !72 %26 = load ptr, ptr %7, align 8, !tbaa !68 %27 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #18 %28 = trunc i64 %27 to i32 %29 = icmp slt i32 %25, %28 br i1 %29, label %35, label %30 30: ; preds = %24 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 br label %94 31: ; preds = %4 %32 = landingpad { ptr, i32 } cleanup %33 = extractvalue { ptr, i32 } %32, 0 store ptr %33, ptr %11, align 8 %34 = extractvalue { ptr, i32 } %32, 1 store i32 %34, ptr %12, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 br label %98 35: ; preds = %24 %36 = load ptr, ptr %7, align 8, !tbaa !68 %37 = load i32, ptr %13, align 4, !tbaa !72 %38 = sext i32 %37 to i64 %39 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %38) #18 %40 = load i32, ptr %39, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %14, i32 noundef %40) to label %41 unwind label %60 41: ; preds = %35 %42 = load ptr, ptr %8, align 8, !tbaa !68 %43 = load i32, ptr %13, align 4, !tbaa !72 %44 = sext i32 %43 to i64 %45 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %44) #18 %46 = load i32, ptr %45, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef %46) to label %47 unwind label %64 47: ; preds = %41 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef 0) to label %48 unwind label %68 48: ; preds = %47 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %49 unwind label %72 49: ; preds = %48 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %50 unwind label %76 50: ; preds = %49 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %51 unwind label %80 51: ; preds = %50 %52 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %20, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19) to label %53 unwind label %84 53: ; preds = %51 %54 = load i32, ptr %13, align 4, !tbaa !72 %55 = sext i32 %54 to i64 %56 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %55) #18 store i32 %52, ptr %56, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %57 57: ; preds = %53 %58 = load i32, ptr %13, align 4, !tbaa !72 %59 = add nsw i32 %58, 1 store i32 %59, ptr %13, align 4, !tbaa !72 br label %24, !llvm.loop !153 60: ; preds = %35 %61 = landingpad { ptr, i32 } cleanup %62 = extractvalue { ptr, i32 } %61, 0 store ptr %62, ptr %11, align 8 %63 = extractvalue { ptr, i32 } %61, 1 store i32 %63, ptr %12, align 4 br label %93 64: ; preds = %41 %65 = landingpad { ptr, i32 } cleanup %66 = extractvalue { ptr, i32 } %65, 0 store ptr %66, ptr %11, align 8 %67 = extractvalue { ptr, i32 } %65, 1 store i32 %67, ptr %12, align 4 br label %92 68: ; preds = %47 %69 = landingpad { ptr, i32 } cleanup %70 = extractvalue { ptr, i32 } %69, 0 store ptr %70, ptr %11, align 8 %71 = extractvalue { ptr, i32 } %69, 1 store i32 %71, ptr %12, align 4 br label %91 72: ; preds = %48 %73 = landingpad { ptr, i32 } cleanup %74 = extractvalue { ptr, i32 } %73, 0 store ptr %74, ptr %11, align 8 %75 = extractvalue { ptr, i32 } %73, 1 store i32 %75, ptr %12, align 4 br label %90 76: ; preds = %49 %77 = landingpad { ptr, i32 } cleanup %78 = extractvalue { ptr, i32 } %77, 0 store ptr %78, ptr %11, align 8 %79 = extractvalue { ptr, i32 } %77, 1 store i32 %79, ptr %12, align 4 br label %89 80: ; preds = %50 %81 = landingpad { ptr, i32 } cleanup %82 = extractvalue { ptr, i32 } %81, 0 store ptr %82, ptr %11, align 8 %83 = extractvalue { ptr, i32 } %81, 1 store i32 %83, ptr %12, align 4 br label %88 84: ; preds = %51 %85 = landingpad { ptr, i32 } cleanup %86 = extractvalue { ptr, i32 } %85, 0 store ptr %86, ptr %11, align 8 %87 = extractvalue { ptr, i32 } %85, 1 store i32 %87, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %88 88: ; preds = %84, %80 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %89 89: ; preds = %88, %76 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %90 90: ; preds = %89, %72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %91 91: ; preds = %90, %68 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %92 92: ; preds = %91, %64 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %93 93: ; preds = %92, %60 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %98 94: ; preds = %30 store i1 true, ptr %9, align 1 %95 = load i1, ptr %9, align 1 br i1 %95, label %97, label %96 96: ; preds = %94 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %97 97: ; preds = %96, %94 ret void 98: ; preds = %93, %31 %99 = load ptr, ptr %11, align 8 %100 = load i32, ptr %12, align 4 %101 = insertvalue { ptr, i32 } poison, ptr %99, 0 %102 = insertvalue { ptr, i32 } %101, i32 %100, 1 resume { ptr, i32 } %102 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT6vec_orERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i1, align 1 %10 = alloca %"class.std::allocator.16", align 1 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca %"struct.ezSAT::_V", align 8 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !68 %20 = load ptr, ptr %6, align 8 store i1 false, ptr %9, align 1 %21 = load ptr, ptr %7, align 8, !tbaa !68 %22 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %22, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %23 unwind label %31 23: ; preds = %4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 store i32 0, ptr %13, align 4, !tbaa !72 br label %24 24: ; preds = %57, %23 %25 = load i32, ptr %13, align 4, !tbaa !72 %26 = load ptr, ptr %7, align 8, !tbaa !68 %27 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #18 %28 = trunc i64 %27 to i32 %29 = icmp slt i32 %25, %28 br i1 %29, label %35, label %30 30: ; preds = %24 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 br label %94 31: ; preds = %4 %32 = landingpad { ptr, i32 } cleanup %33 = extractvalue { ptr, i32 } %32, 0 store ptr %33, ptr %11, align 8 %34 = extractvalue { ptr, i32 } %32, 1 store i32 %34, ptr %12, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 br label %98 35: ; preds = %24 %36 = load ptr, ptr %7, align 8, !tbaa !68 %37 = load i32, ptr %13, align 4, !tbaa !72 %38 = sext i32 %37 to i64 %39 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %38) #18 %40 = load i32, ptr %39, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %14, i32 noundef %40) to label %41 unwind label %60 41: ; preds = %35 %42 = load ptr, ptr %8, align 8, !tbaa !68 %43 = load i32, ptr %13, align 4, !tbaa !72 %44 = sext i32 %43 to i64 %45 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %44) #18 %46 = load i32, ptr %45, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef %46) to label %47 unwind label %64 47: ; preds = %41 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef 0) to label %48 unwind label %68 48: ; preds = %47 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %49 unwind label %72 49: ; preds = %48 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %50 unwind label %76 50: ; preds = %49 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %51 unwind label %80 51: ; preds = %50 %52 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %20, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19) to label %53 unwind label %84 53: ; preds = %51 %54 = load i32, ptr %13, align 4, !tbaa !72 %55 = sext i32 %54 to i64 %56 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %55) #18 store i32 %52, ptr %56, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %57 57: ; preds = %53 %58 = load i32, ptr %13, align 4, !tbaa !72 %59 = add nsw i32 %58, 1 store i32 %59, ptr %13, align 4, !tbaa !72 br label %24, !llvm.loop !154 60: ; preds = %35 %61 = landingpad { ptr, i32 } cleanup %62 = extractvalue { ptr, i32 } %61, 0 store ptr %62, ptr %11, align 8 %63 = extractvalue { ptr, i32 } %61, 1 store i32 %63, ptr %12, align 4 br label %93 64: ; preds = %41 %65 = landingpad { ptr, i32 } cleanup %66 = extractvalue { ptr, i32 } %65, 0 store ptr %66, ptr %11, align 8 %67 = extractvalue { ptr, i32 } %65, 1 store i32 %67, ptr %12, align 4 br label %92 68: ; preds = %47 %69 = landingpad { ptr, i32 } cleanup %70 = extractvalue { ptr, i32 } %69, 0 store ptr %70, ptr %11, align 8 %71 = extractvalue { ptr, i32 } %69, 1 store i32 %71, ptr %12, align 4 br label %91 72: ; preds = %48 %73 = landingpad { ptr, i32 } cleanup %74 = extractvalue { ptr, i32 } %73, 0 store ptr %74, ptr %11, align 8 %75 = extractvalue { ptr, i32 } %73, 1 store i32 %75, ptr %12, align 4 br label %90 76: ; preds = %49 %77 = landingpad { ptr, i32 } cleanup %78 = extractvalue { ptr, i32 } %77, 0 store ptr %78, ptr %11, align 8 %79 = extractvalue { ptr, i32 } %77, 1 store i32 %79, ptr %12, align 4 br label %89 80: ; preds = %50 %81 = landingpad { ptr, i32 } cleanup %82 = extractvalue { ptr, i32 } %81, 0 store ptr %82, ptr %11, align 8 %83 = extractvalue { ptr, i32 } %81, 1 store i32 %83, ptr %12, align 4 br label %88 84: ; preds = %51 %85 = landingpad { ptr, i32 } cleanup %86 = extractvalue { ptr, i32 } %85, 0 store ptr %86, ptr %11, align 8 %87 = extractvalue { ptr, i32 } %85, 1 store i32 %87, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %88 88: ; preds = %84, %80 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %89 89: ; preds = %88, %76 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %90 90: ; preds = %89, %72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %91 91: ; preds = %90, %68 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %92 92: ; preds = %91, %64 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %93 93: ; preds = %92, %60 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %98 94: ; preds = %30 store i1 true, ptr %9, align 1 %95 = load i1, ptr %9, align 1 br i1 %95, label %97, label %96 96: ; preds = %94 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %97 97: ; preds = %96, %94 ret void 98: ; preds = %93, %31 %99 = load ptr, ptr %11, align 8 %100 = load i32, ptr %12, align 4 %101 = insertvalue { ptr, i32 } poison, ptr %99, 0 %102 = insertvalue { ptr, i32 } %101, i32 %100, 1 resume { ptr, i32 } %102 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_xorERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i1, align 1 %10 = alloca %"class.std::allocator.16", align 1 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca %"struct.ezSAT::_V", align 8 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !68 %20 = load ptr, ptr %6, align 8 store i1 false, ptr %9, align 1 %21 = load ptr, ptr %7, align 8, !tbaa !68 %22 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %22, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %23 unwind label %31 23: ; preds = %4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 store i32 0, ptr %13, align 4, !tbaa !72 br label %24 24: ; preds = %57, %23 %25 = load i32, ptr %13, align 4, !tbaa !72 %26 = load ptr, ptr %7, align 8, !tbaa !68 %27 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #18 %28 = trunc i64 %27 to i32 %29 = icmp slt i32 %25, %28 br i1 %29, label %35, label %30 30: ; preds = %24 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 br label %94 31: ; preds = %4 %32 = landingpad { ptr, i32 } cleanup %33 = extractvalue { ptr, i32 } %32, 0 store ptr %33, ptr %11, align 8 %34 = extractvalue { ptr, i32 } %32, 1 store i32 %34, ptr %12, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 br label %98 35: ; preds = %24 %36 = load ptr, ptr %7, align 8, !tbaa !68 %37 = load i32, ptr %13, align 4, !tbaa !72 %38 = sext i32 %37 to i64 %39 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %38) #18 %40 = load i32, ptr %39, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %14, i32 noundef %40) to label %41 unwind label %60 41: ; preds = %35 %42 = load ptr, ptr %8, align 8, !tbaa !68 %43 = load i32, ptr %13, align 4, !tbaa !72 %44 = sext i32 %43 to i64 %45 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %44) #18 %46 = load i32, ptr %45, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef %46) to label %47 unwind label %64 47: ; preds = %41 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef 0) to label %48 unwind label %68 48: ; preds = %47 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %49 unwind label %72 49: ; preds = %48 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %50 unwind label %76 50: ; preds = %49 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %51 unwind label %80 51: ; preds = %50 %52 = invoke noundef i32 @_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %20, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19) to label %53 unwind label %84 53: ; preds = %51 %54 = load i32, ptr %13, align 4, !tbaa !72 %55 = sext i32 %54 to i64 %56 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %55) #18 store i32 %52, ptr %56, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %57 57: ; preds = %53 %58 = load i32, ptr %13, align 4, !tbaa !72 %59 = add nsw i32 %58, 1 store i32 %59, ptr %13, align 4, !tbaa !72 br label %24, !llvm.loop !155 60: ; preds = %35 %61 = landingpad { ptr, i32 } cleanup %62 = extractvalue { ptr, i32 } %61, 0 store ptr %62, ptr %11, align 8 %63 = extractvalue { ptr, i32 } %61, 1 store i32 %63, ptr %12, align 4 br label %93 64: ; preds = %41 %65 = landingpad { ptr, i32 } cleanup %66 = extractvalue { ptr, i32 } %65, 0 store ptr %66, ptr %11, align 8 %67 = extractvalue { ptr, i32 } %65, 1 store i32 %67, ptr %12, align 4 br label %92 68: ; preds = %47 %69 = landingpad { ptr, i32 } cleanup %70 = extractvalue { ptr, i32 } %69, 0 store ptr %70, ptr %11, align 8 %71 = extractvalue { ptr, i32 } %69, 1 store i32 %71, ptr %12, align 4 br label %91 72: ; preds = %48 %73 = landingpad { ptr, i32 } cleanup %74 = extractvalue { ptr, i32 } %73, 0 store ptr %74, ptr %11, align 8 %75 = extractvalue { ptr, i32 } %73, 1 store i32 %75, ptr %12, align 4 br label %90 76: ; preds = %49 %77 = landingpad { ptr, i32 } cleanup %78 = extractvalue { ptr, i32 } %77, 0 store ptr %78, ptr %11, align 8 %79 = extractvalue { ptr, i32 } %77, 1 store i32 %79, ptr %12, align 4 br label %89 80: ; preds = %50 %81 = landingpad { ptr, i32 } cleanup %82 = extractvalue { ptr, i32 } %81, 0 store ptr %82, ptr %11, align 8 %83 = extractvalue { ptr, i32 } %81, 1 store i32 %83, ptr %12, align 4 br label %88 84: ; preds = %51 %85 = landingpad { ptr, i32 } cleanup %86 = extractvalue { ptr, i32 } %85, 0 store ptr %86, ptr %11, align 8 %87 = extractvalue { ptr, i32 } %85, 1 store i32 %87, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %88 88: ; preds = %84, %80 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %89 89: ; preds = %88, %76 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %90 90: ; preds = %89, %72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %91 91: ; preds = %90, %68 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %92 92: ; preds = %91, %64 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %93 93: ; preds = %92, %60 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %98 94: ; preds = %30 store i1 true, ptr %9, align 1 %95 = load i1, ptr %9, align 1 br i1 %95, label %97, label %96 96: ; preds = %94 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %97 97: ; preds = %96, %94 ret void 98: ; preds = %93, %31 %99 = load ptr, ptr %11, align 8 %100 = load i32, ptr %12, align 4 %101 = insertvalue { ptr, i32 } poison, ptr %99, 0 %102 = insertvalue { ptr, i32 } %101, i32 %100, 1 resume { ptr, i32 } %102 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i32 @_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6) #0 comdat align 2 { %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = alloca ptr, align 8 store ptr %0, ptr %8, align 8, !tbaa !6 store ptr %1, ptr %9, align 8, !tbaa !107 store ptr %2, ptr %10, align 8, !tbaa !107 store ptr %3, ptr %11, align 8, !tbaa !107 store ptr %4, ptr %12, align 8, !tbaa !107 store ptr %5, ptr %13, align 8, !tbaa !107 store ptr %6, ptr %14, align 8, !tbaa !107 %15 = load ptr, ptr %8, align 8 %16 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef %15) %17 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef %15) %18 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef %15) %19 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef %15) %20 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef %15) %21 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef %15) %22 = call noundef i32 @_ZN5ezSAT10expressionENS_4OpIdEiiiiii(ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef 3, i32 noundef %16, i32 noundef %17, i32 noundef %18, i32 noundef %19, i32 noundef %20, i32 noundef %21) ret i32 %22 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_iffERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i1, align 1 %10 = alloca %"class.std::allocator.16", align 1 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca %"struct.ezSAT::_V", align 8 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !68 %20 = load ptr, ptr %6, align 8 store i1 false, ptr %9, align 1 %21 = load ptr, ptr %7, align 8, !tbaa !68 %22 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %22, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %23 unwind label %31 23: ; preds = %4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 store i32 0, ptr %13, align 4, !tbaa !72 br label %24 24: ; preds = %57, %23 %25 = load i32, ptr %13, align 4, !tbaa !72 %26 = load ptr, ptr %7, align 8, !tbaa !68 %27 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #18 %28 = trunc i64 %27 to i32 %29 = icmp slt i32 %25, %28 br i1 %29, label %35, label %30 30: ; preds = %24 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 br label %94 31: ; preds = %4 %32 = landingpad { ptr, i32 } cleanup %33 = extractvalue { ptr, i32 } %32, 0 store ptr %33, ptr %11, align 8 %34 = extractvalue { ptr, i32 } %32, 1 store i32 %34, ptr %12, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 br label %98 35: ; preds = %24 %36 = load ptr, ptr %7, align 8, !tbaa !68 %37 = load i32, ptr %13, align 4, !tbaa !72 %38 = sext i32 %37 to i64 %39 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %38) #18 %40 = load i32, ptr %39, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %14, i32 noundef %40) to label %41 unwind label %60 41: ; preds = %35 %42 = load ptr, ptr %8, align 8, !tbaa !68 %43 = load i32, ptr %13, align 4, !tbaa !72 %44 = sext i32 %43 to i64 %45 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %44) #18 %46 = load i32, ptr %45, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef %46) to label %47 unwind label %64 47: ; preds = %41 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef 0) to label %48 unwind label %68 48: ; preds = %47 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %49 unwind label %72 49: ; preds = %48 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %50 unwind label %76 50: ; preds = %49 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %51 unwind label %80 51: ; preds = %50 %52 = invoke noundef i32 @_ZN5ezSAT3IFFENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %20, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19) to label %53 unwind label %84 53: ; preds = %51 %54 = load i32, ptr %13, align 4, !tbaa !72 %55 = sext i32 %54 to i64 %56 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %55) #18 store i32 %52, ptr %56, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %57 57: ; preds = %53 %58 = load i32, ptr %13, align 4, !tbaa !72 %59 = add nsw i32 %58, 1 store i32 %59, ptr %13, align 4, !tbaa !72 br label %24, !llvm.loop !156 60: ; preds = %35 %61 = landingpad { ptr, i32 } cleanup %62 = extractvalue { ptr, i32 } %61, 0 store ptr %62, ptr %11, align 8 %63 = extractvalue { ptr, i32 } %61, 1 store i32 %63, ptr %12, align 4 br label %93 64: ; preds = %41 %65 = landingpad { ptr, i32 } cleanup %66 = extractvalue { ptr, i32 } %65, 0 store ptr %66, ptr %11, align 8 %67 = extractvalue { ptr, i32 } %65, 1 store i32 %67, ptr %12, align 4 br label %92 68: ; preds = %47 %69 = landingpad { ptr, i32 } cleanup %70 = extractvalue { ptr, i32 } %69, 0 store ptr %70, ptr %11, align 8 %71 = extractvalue { ptr, i32 } %69, 1 store i32 %71, ptr %12, align 4 br label %91 72: ; preds = %48 %73 = landingpad { ptr, i32 } cleanup %74 = extractvalue { ptr, i32 } %73, 0 store ptr %74, ptr %11, align 8 %75 = extractvalue { ptr, i32 } %73, 1 store i32 %75, ptr %12, align 4 br label %90 76: ; preds = %49 %77 = landingpad { ptr, i32 } cleanup %78 = extractvalue { ptr, i32 } %77, 0 store ptr %78, ptr %11, align 8 %79 = extractvalue { ptr, i32 } %77, 1 store i32 %79, ptr %12, align 4 br label %89 80: ; preds = %50 %81 = landingpad { ptr, i32 } cleanup %82 = extractvalue { ptr, i32 } %81, 0 store ptr %82, ptr %11, align 8 %83 = extractvalue { ptr, i32 } %81, 1 store i32 %83, ptr %12, align 4 br label %88 84: ; preds = %51 %85 = landingpad { ptr, i32 } cleanup %86 = extractvalue { ptr, i32 } %85, 0 store ptr %86, ptr %11, align 8 %87 = extractvalue { ptr, i32 } %85, 1 store i32 %87, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %88 88: ; preds = %84, %80 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %89 89: ; preds = %88, %76 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %90 90: ; preds = %89, %72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %91 91: ; preds = %90, %68 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %92 92: ; preds = %91, %64 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %93 93: ; preds = %92, %60 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %98 94: ; preds = %30 store i1 true, ptr %9, align 1 %95 = load i1, ptr %9, align 1 br i1 %95, label %97, label %96 96: ; preds = %94 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %97 97: ; preds = %96, %94 ret void 98: ; preds = %93, %31 %99 = load ptr, ptr %11, align 8 %100 = load i32, ptr %12, align 4 %101 = insertvalue { ptr, i32 } poison, ptr %99, 0 %102 = insertvalue { ptr, i32 } %101, i32 %100, 1 resume { ptr, i32 } %102 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i32 @_ZN5ezSAT3IFFENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6) #0 comdat align 2 { %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = alloca ptr, align 8 store ptr %0, ptr %8, align 8, !tbaa !6 store ptr %1, ptr %9, align 8, !tbaa !107 store ptr %2, ptr %10, align 8, !tbaa !107 store ptr %3, ptr %11, align 8, !tbaa !107 store ptr %4, ptr %12, align 8, !tbaa !107 store ptr %5, ptr %13, align 8, !tbaa !107 store ptr %6, ptr %14, align 8, !tbaa !107 %15 = load ptr, ptr %8, align 8 %16 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef %15) %17 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef %15) %18 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef %15) %19 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %4, ptr noundef %15) %20 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %5, ptr noundef %15) %21 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef %15) %22 = call noundef i32 @_ZN5ezSAT10expressionENS_4OpIdEiiiiii(ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef 4, i32 noundef %16, i32 noundef %17, i32 noundef %18, i32 noundef %19, i32 noundef %20, i32 noundef %21) ret i32 %22 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_iteERKSt6vectorIiSaIiEES4_S4_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %4) #0 align 2 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca i1, align 1 %12 = alloca %"class.std::allocator.16", align 1 %13 = alloca ptr, align 8 %14 = alloca i32, align 4 %15 = alloca i32, align 4 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %6, align 8 store ptr %1, ptr %7, align 8, !tbaa !6 store ptr %2, ptr %8, align 8, !tbaa !68 store ptr %3, ptr %9, align 8, !tbaa !68 store ptr %4, ptr %10, align 8, !tbaa !68 %19 = load ptr, ptr %7, align 8 store i1 false, ptr %11, align 1 %20 = load ptr, ptr %8, align 8, !tbaa !68 %21 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %12) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %21, ptr noundef nonnull align 1 dereferenceable(1) %12) to label %22 unwind label %30 22: ; preds = %5 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %12) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 store i32 0, ptr %15, align 4, !tbaa !72 br label %23 23: ; preds = %58, %22 %24 = load i32, ptr %15, align 4, !tbaa !72 %25 = load ptr, ptr %8, align 8, !tbaa !68 %26 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %25) #18 %27 = trunc i64 %26 to i32 %28 = icmp slt i32 %24, %27 br i1 %28, label %34, label %29 29: ; preds = %23 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %80 30: ; preds = %5 %31 = landingpad { ptr, i32 } cleanup %32 = extractvalue { ptr, i32 } %31, 0 store ptr %32, ptr %13, align 8 %33 = extractvalue { ptr, i32 } %31, 1 store i32 %33, ptr %14, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %12) #18 br label %84 34: ; preds = %23 %35 = load ptr, ptr %8, align 8, !tbaa !68 %36 = load i32, ptr %15, align 4, !tbaa !72 %37 = sext i32 %36 to i64 %38 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %35, i64 noundef %37) #18 %39 = load i32, ptr %38, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %39) to label %40 unwind label %61 40: ; preds = %34 %41 = load ptr, ptr %9, align 8, !tbaa !68 %42 = load i32, ptr %15, align 4, !tbaa !72 %43 = sext i32 %42 to i64 %44 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %41, i64 noundef %43) #18 %45 = load i32, ptr %44, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef %45) to label %46 unwind label %65 46: ; preds = %40 %47 = load ptr, ptr %10, align 8, !tbaa !68 %48 = load i32, ptr %15, align 4, !tbaa !72 %49 = sext i32 %48 to i64 %50 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %49) #18 %51 = load i32, ptr %50, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef %51) to label %52 unwind label %69 52: ; preds = %46 %53 = invoke noundef i32 @_ZN5ezSAT3ITEENS_2_VES0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %19, ptr noundef %16, ptr noundef %17, ptr noundef %18) to label %54 unwind label %73 54: ; preds = %52 %55 = load i32, ptr %15, align 4, !tbaa !72 %56 = sext i32 %55 to i64 %57 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %56) #18 store i32 %53, ptr %57, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %58 58: ; preds = %54 %59 = load i32, ptr %15, align 4, !tbaa !72 %60 = add nsw i32 %59, 1 store i32 %60, ptr %15, align 4, !tbaa !72 br label %23, !llvm.loop !157 61: ; preds = %34 %62 = landingpad { ptr, i32 } cleanup %63 = extractvalue { ptr, i32 } %62, 0 store ptr %63, ptr %13, align 8 %64 = extractvalue { ptr, i32 } %62, 1 store i32 %64, ptr %14, align 4 br label %79 65: ; preds = %40 %66 = landingpad { ptr, i32 } cleanup %67 = extractvalue { ptr, i32 } %66, 0 store ptr %67, ptr %13, align 8 %68 = extractvalue { ptr, i32 } %66, 1 store i32 %68, ptr %14, align 4 br label %78 69: ; preds = %46 %70 = landingpad { ptr, i32 } cleanup %71 = extractvalue { ptr, i32 } %70, 0 store ptr %71, ptr %13, align 8 %72 = extractvalue { ptr, i32 } %70, 1 store i32 %72, ptr %14, align 4 br label %77 73: ; preds = %52 %74 = landingpad { ptr, i32 } cleanup %75 = extractvalue { ptr, i32 } %74, 0 store ptr %75, ptr %13, align 8 %76 = extractvalue { ptr, i32 } %74, 1 store i32 %76, ptr %14, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %77 77: ; preds = %73, %69 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %78 78: ; preds = %77, %65 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %79 79: ; preds = %78, %61 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %84 80: ; preds = %29 store i1 true, ptr %11, align 1 %81 = load i1, ptr %11, align 1 br i1 %81, label %83, label %82 82: ; preds = %80 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %83 83: ; preds = %82, %80 ret void 84: ; preds = %79, %30 %85 = load ptr, ptr %13, align 8 %86 = load i32, ptr %14, align 4 %87 = insertvalue { ptr, i32 } poison, ptr %85, 0 %88 = insertvalue { ptr, i32 } %87, i32 %86, 1 resume { ptr, i32 } %88 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i32 @_ZN5ezSAT3ITEENS_2_VES0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) #0 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !6 store ptr %1, ptr %6, align 8, !tbaa !107 store ptr %2, ptr %7, align 8, !tbaa !107 store ptr %3, ptr %8, align 8, !tbaa !107 %9 = load ptr, ptr %5, align 8 %10 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef %9) %11 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef %9) %12 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %3, ptr noundef %9) %13 = call noundef i32 @_ZN5ezSAT10expressionENS_4OpIdEiiiiii(ptr noundef nonnull align 8 dereferenceable(284) %9, i32 noundef 5, i32 noundef %10, i32 noundef %11, i32 noundef %12, i32 noundef 0, i32 noundef 0, i32 noundef 0) ret i32 %13 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_iteEiRKSt6vectorIiSaIiEES4_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, i32 noundef %2, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %4) #0 align 2 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca i1, align 1 %12 = alloca %"class.std::allocator.16", align 1 %13 = alloca ptr, align 8 %14 = alloca i32, align 4 %15 = alloca i32, align 4 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %6, align 8 store ptr %1, ptr %7, align 8, !tbaa !6 store i32 %2, ptr %8, align 4, !tbaa !72 store ptr %3, ptr %9, align 8, !tbaa !68 store ptr %4, ptr %10, align 8, !tbaa !68 %19 = load ptr, ptr %7, align 8 store i1 false, ptr %11, align 1 %20 = load ptr, ptr %9, align 8, !tbaa !68 %21 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %12) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %21, ptr noundef nonnull align 1 dereferenceable(1) %12) to label %22 unwind label %30 22: ; preds = %5 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %12) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 store i32 0, ptr %15, align 4, !tbaa !72 br label %23 23: ; preds = %54, %22 %24 = load i32, ptr %15, align 4, !tbaa !72 %25 = load ptr, ptr %9, align 8, !tbaa !68 %26 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %25) #18 %27 = trunc i64 %26 to i32 %28 = icmp slt i32 %24, %27 br i1 %28, label %34, label %29 29: ; preds = %23 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %76 30: ; preds = %5 %31 = landingpad { ptr, i32 } cleanup %32 = extractvalue { ptr, i32 } %31, 0 store ptr %32, ptr %13, align 8 %33 = extractvalue { ptr, i32 } %31, 1 store i32 %33, ptr %14, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %12) #18 br label %80 34: ; preds = %23 %35 = load i32, ptr %8, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %35) to label %36 unwind label %57 36: ; preds = %34 %37 = load ptr, ptr %9, align 8, !tbaa !68 %38 = load i32, ptr %15, align 4, !tbaa !72 %39 = sext i32 %38 to i64 %40 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %39) #18 %41 = load i32, ptr %40, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef %41) to label %42 unwind label %61 42: ; preds = %36 %43 = load ptr, ptr %10, align 8, !tbaa !68 %44 = load i32, ptr %15, align 4, !tbaa !72 %45 = sext i32 %44 to i64 %46 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %43, i64 noundef %45) #18 %47 = load i32, ptr %46, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef %47) to label %48 unwind label %65 48: ; preds = %42 %49 = invoke noundef i32 @_ZN5ezSAT3ITEENS_2_VES0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %19, ptr noundef %16, ptr noundef %17, ptr noundef %18) to label %50 unwind label %69 50: ; preds = %48 %51 = load i32, ptr %15, align 4, !tbaa !72 %52 = sext i32 %51 to i64 %53 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %52) #18 store i32 %49, ptr %53, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %54 54: ; preds = %50 %55 = load i32, ptr %15, align 4, !tbaa !72 %56 = add nsw i32 %55, 1 store i32 %56, ptr %15, align 4, !tbaa !72 br label %23, !llvm.loop !158 57: ; preds = %34 %58 = landingpad { ptr, i32 } cleanup %59 = extractvalue { ptr, i32 } %58, 0 store ptr %59, ptr %13, align 8 %60 = extractvalue { ptr, i32 } %58, 1 store i32 %60, ptr %14, align 4 br label %75 61: ; preds = %36 %62 = landingpad { ptr, i32 } cleanup %63 = extractvalue { ptr, i32 } %62, 0 store ptr %63, ptr %13, align 8 %64 = extractvalue { ptr, i32 } %62, 1 store i32 %64, ptr %14, align 4 br label %74 65: ; preds = %42 %66 = landingpad { ptr, i32 } cleanup %67 = extractvalue { ptr, i32 } %66, 0 store ptr %67, ptr %13, align 8 %68 = extractvalue { ptr, i32 } %66, 1 store i32 %68, ptr %14, align 4 br label %73 69: ; preds = %48 %70 = landingpad { ptr, i32 } cleanup %71 = extractvalue { ptr, i32 } %70, 0 store ptr %71, ptr %13, align 8 %72 = extractvalue { ptr, i32 } %70, 1 store i32 %72, ptr %14, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %73 73: ; preds = %69, %65 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %74 74: ; preds = %73, %61 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %75 75: ; preds = %74, %57 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %80 76: ; preds = %29 store i1 true, ptr %11, align 1 %77 = load i1, ptr %11, align 1 br i1 %77, label %79, label %78 78: ; preds = %76 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %79 79: ; preds = %78, %76 ret void 80: ; preds = %75, %30 %81 = load ptr, ptr %13, align 8 %82 = load i32, ptr %14, align 4 %83 = insertvalue { ptr, i32 } poison, ptr %81, 0 %84 = insertvalue { ptr, i32 } %83, i32 %82, 1 resume { ptr, i32 } %84 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT9vec_countERKSt6vectorIiSaIiEEib(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef %3, i1 noundef zeroext %4) #0 align 2 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = alloca i8, align 1 %11 = alloca i1, align 1 %12 = alloca %"class.std::vector.14", align 8 %13 = alloca ptr, align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %16 = alloca i32, align 4 %17 = alloca i32, align 4 %18 = alloca i32, align 4 %19 = alloca i32, align 4 %20 = alloca ptr, align 8 %21 = alloca i32, align 4 %22 = alloca i32, align 4 %23 = alloca %"class.std::vector.14", align 8 %24 = alloca %"class.std::vector.14", align 8 store ptr %0, ptr %6, align 8 store ptr %1, ptr %7, align 8, !tbaa !6 store ptr %2, ptr %8, align 8, !tbaa !68 store i32 %3, ptr %9, align 4, !tbaa !72 %25 = zext i1 %4 to i8 store i8 %25, ptr %10, align 1, !tbaa !87 %26 = load ptr, ptr %7, align 8 store i1 false, ptr %11, align 1 %27 = load i32, ptr %9, align 4, !tbaa !72 call void @_ZN5ezSAT18vec_const_unsignedEmi(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %26, i64 noundef 0, i32 noundef %27) call void @llvm.lifetime.start.p0(i64 24, ptr %12) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %28 = load ptr, ptr %8, align 8, !tbaa !68 store ptr %28, ptr %13, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 %29 = load ptr, ptr %13, align 8, !tbaa !68 %30 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #18 %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %14, i32 0, i32 0 store ptr %30, ptr %31, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 %32 = load ptr, ptr %13, align 8, !tbaa !68 %33 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #18 %34 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %15, i32 0, i32 0 store ptr %33, ptr %34, align 8 br label %35 35: ; preds = %66, %5 %36 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15) #18 br i1 %36, label %38, label %37 37: ; preds = %35 store i32 2, ptr %16, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 br label %73 38: ; preds = %35 call void @llvm.lifetime.start.p0(i64 4, ptr %17) #18 %39 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #18 %40 = load i32, ptr %39, align 4, !tbaa !72 store i32 %40, ptr %17, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %18) #18 %41 = load i32, ptr %17, align 4, !tbaa !72 store i32 %41, ptr %18, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %19) #18 store i32 0, ptr %19, align 4, !tbaa !72 br label %42 42: ; preds = %57, %38 %43 = load i32, ptr %19, align 4, !tbaa !72 %44 = load i32, ptr %9, align 4, !tbaa !72 %45 = icmp slt i32 %43, %44 br i1 %45, label %47, label %46 46: ; preds = %42 store i32 4, ptr %16, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %64 47: ; preds = %42 %48 = load i32, ptr %18, align 4, !tbaa !72 %49 = load i32, ptr %19, align 4, !tbaa !72 %50 = sext i32 %49 to i64 %51 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %50) #18 %52 = load i32, ptr %51, align 4, !tbaa !72 %53 = load i32, ptr %19, align 4, !tbaa !72 %54 = sext i32 %53 to i64 %55 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %54) #18 invoke void @_ZL9halfadderP5ezSATiiRiS1_(ptr noundef %26, i32 noundef %48, i32 noundef %52, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %55) to label %56 unwind label %60 56: ; preds = %47 br label %57 57: ; preds = %56 %58 = load i32, ptr %19, align 4, !tbaa !72 %59 = add nsw i32 %58, 1 store i32 %59, ptr %19, align 4, !tbaa !72 br label %42, !llvm.loop !159 60: ; preds = %47 %61 = landingpad { ptr, i32 } cleanup %62 = extractvalue { ptr, i32 } %61, 0 store ptr %62, ptr %20, align 8 %63 = extractvalue { ptr, i32 } %61, 1 store i32 %63, ptr %21, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %72 64: ; preds = %46 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 4 dereferenceable(4) %18) to label %65 unwind label %68 65: ; preds = %64 call void @llvm.lifetime.end.p0(i64 4, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 br label %66 66: ; preds = %65 %67 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #18 br label %35 68: ; preds = %64 %69 = landingpad { ptr, i32 } cleanup %70 = extractvalue { ptr, i32 } %69, 0 store ptr %70, ptr %20, align 8 %71 = extractvalue { ptr, i32 } %69, 1 store i32 %71, ptr %21, align 4 br label %72 72: ; preds = %68, %60 call void @llvm.lifetime.end.p0(i64 4, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 br label %100 73: ; preds = %37 %74 = load i8, ptr %10, align 1, !tbaa !87, !range !88, !noundef !89 %75 = trunc i8 %74 to i1 br i1 %75, label %76, label %98 76: ; preds = %73 call void @llvm.lifetime.start.p0(i64 4, ptr %22) #18 %77 = invoke noundef i32 @_ZN5ezSAT13vec_reduce_orERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %26, ptr noundef nonnull align 8 dereferenceable(24) %12) to label %78 unwind label %84 78: ; preds = %76 store i32 %77, ptr %22, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 24, ptr %23) #18 %79 = load i32, ptr %22, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 24, ptr %24) #18 %80 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT18vec_const_unsignedEmi(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %24, ptr noundef nonnull align 8 dereferenceable(284) %26, i64 noundef -1, i32 noundef %80) to label %81 unwind label %88 81: ; preds = %78 invoke void @_ZN5ezSAT7vec_iteEiRKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %23, ptr noundef nonnull align 8 dereferenceable(284) %26, i32 noundef %79, ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %0) to label %82 unwind label %92 82: ; preds = %81 %83 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %23) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %24) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %23) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %22) #18 br label %98 84: ; preds = %76 %85 = landingpad { ptr, i32 } cleanup %86 = extractvalue { ptr, i32 } %85, 0 store ptr %86, ptr %20, align 8 %87 = extractvalue { ptr, i32 } %85, 1 store i32 %87, ptr %21, align 4 br label %97 88: ; preds = %78 %89 = landingpad { ptr, i32 } cleanup %90 = extractvalue { ptr, i32 } %89, 0 store ptr %90, ptr %20, align 8 %91 = extractvalue { ptr, i32 } %89, 1 store i32 %91, ptr %21, align 4 br label %96 92: ; preds = %81 %93 = landingpad { ptr, i32 } cleanup %94 = extractvalue { ptr, i32 } %93, 0 store ptr %94, ptr %20, align 8 %95 = extractvalue { ptr, i32 } %93, 1 store i32 %95, ptr %21, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #18 br label %96 96: ; preds = %92, %88 call void @llvm.lifetime.end.p0(i64 24, ptr %24) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %23) #18 br label %97 97: ; preds = %96, %84 call void @llvm.lifetime.end.p0(i64 4, ptr %22) #18 br label %100 98: ; preds = %82, %73 store i1 true, ptr %11, align 1 store i32 1, ptr %16, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %12) #18 %99 = load i1, ptr %11, align 1 br i1 %99, label %102, label %101 100: ; preds = %97, %72 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %12) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %103 101: ; preds = %98 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %102 102: ; preds = %101, %98 ret void 103: ; preds = %100 %104 = load ptr, ptr %20, align 8 %105 = load i32, ptr %21, align 4 %106 = insertvalue { ptr, i32 } poison, ptr %104, 0 %107 = insertvalue { ptr, i32 } %106, i32 %105, 1 resume { ptr, i32 } %107 } ; Function Attrs: mustprogress uwtable define internal void @_ZL9halfadderP5ezSATiiRiS1_(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4) #0 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca i32, align 4 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca %"struct.ezSAT::_V", align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca i32, align 4 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca %"struct.ezSAT::_V", align 8 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca %"struct.ezSAT::_V", align 8 %25 = alloca %"struct.ezSAT::_V", align 8 %26 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %6, align 8, !tbaa !6 store i32 %1, ptr %7, align 4, !tbaa !72 store i32 %2, ptr %8, align 4, !tbaa !72 store ptr %3, ptr %9, align 8, !tbaa !100 store ptr %4, ptr %10, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 %27 = load ptr, ptr %6, align 8, !tbaa !6 %28 = load i32, ptr %7, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %28) %29 = load i32, ptr %8, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %13, i32 noundef %29) to label %30 unwind label %51 30: ; preds = %5 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef 0) to label %31 unwind label %55 31: ; preds = %30 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %32 unwind label %59 32: ; preds = %31 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %33 unwind label %63 33: ; preds = %32 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %34 unwind label %67 34: ; preds = %33 %35 = invoke noundef i32 @_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %27, ptr noundef %12, ptr noundef %13, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19) to label %36 unwind label %71 36: ; preds = %34 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 store i32 %35, ptr %11, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %20) #18 %37 = load ptr, ptr %6, align 8, !tbaa !6 %38 = load i32, ptr %7, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef %38) %39 = load i32, ptr %8, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %22, i32 noundef %39) to label %40 unwind label %80 40: ; preds = %36 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef 0) to label %41 unwind label %84 41: ; preds = %40 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef 0) to label %42 unwind label %88 42: ; preds = %41 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef 0) to label %43 unwind label %92 43: ; preds = %42 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef 0) to label %44 unwind label %96 44: ; preds = %43 %45 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %37, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr noundef %24, ptr noundef %25, ptr noundef %26) to label %46 unwind label %100 46: ; preds = %44 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 store i32 %45, ptr %20, align 4, !tbaa !72 %47 = load i32, ptr %11, align 4, !tbaa !72 %48 = load ptr, ptr %10, align 8, !tbaa !100 store i32 %47, ptr %48, align 4, !tbaa !72 %49 = load i32, ptr %20, align 4, !tbaa !72 %50 = load ptr, ptr %9, align 8, !tbaa !100 store i32 %49, ptr %50, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %20) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 ret void 51: ; preds = %5 %52 = landingpad { ptr, i32 } cleanup %53 = extractvalue { ptr, i32 } %52, 0 store ptr %53, ptr %14, align 8 %54 = extractvalue { ptr, i32 } %52, 1 store i32 %54, ptr %15, align 4 br label %79 55: ; preds = %30 %56 = landingpad { ptr, i32 } cleanup %57 = extractvalue { ptr, i32 } %56, 0 store ptr %57, ptr %14, align 8 %58 = extractvalue { ptr, i32 } %56, 1 store i32 %58, ptr %15, align 4 br label %78 59: ; preds = %31 %60 = landingpad { ptr, i32 } cleanup %61 = extractvalue { ptr, i32 } %60, 0 store ptr %61, ptr %14, align 8 %62 = extractvalue { ptr, i32 } %60, 1 store i32 %62, ptr %15, align 4 br label %77 63: ; preds = %32 %64 = landingpad { ptr, i32 } cleanup %65 = extractvalue { ptr, i32 } %64, 0 store ptr %65, ptr %14, align 8 %66 = extractvalue { ptr, i32 } %64, 1 store i32 %66, ptr %15, align 4 br label %76 67: ; preds = %33 %68 = landingpad { ptr, i32 } cleanup %69 = extractvalue { ptr, i32 } %68, 0 store ptr %69, ptr %14, align 8 %70 = extractvalue { ptr, i32 } %68, 1 store i32 %70, ptr %15, align 4 br label %75 71: ; preds = %34 %72 = landingpad { ptr, i32 } cleanup %73 = extractvalue { ptr, i32 } %72, 0 store ptr %73, ptr %14, align 8 %74 = extractvalue { ptr, i32 } %72, 1 store i32 %74, ptr %15, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %75 75: ; preds = %71, %67 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %76 76: ; preds = %75, %63 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %77 77: ; preds = %76, %59 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %78 78: ; preds = %77, %55 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 br label %79 79: ; preds = %78, %51 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 br label %109 80: ; preds = %36 %81 = landingpad { ptr, i32 } cleanup %82 = extractvalue { ptr, i32 } %81, 0 store ptr %82, ptr %14, align 8 %83 = extractvalue { ptr, i32 } %81, 1 store i32 %83, ptr %15, align 4 br label %108 84: ; preds = %40 %85 = landingpad { ptr, i32 } cleanup %86 = extractvalue { ptr, i32 } %85, 0 store ptr %86, ptr %14, align 8 %87 = extractvalue { ptr, i32 } %85, 1 store i32 %87, ptr %15, align 4 br label %107 88: ; preds = %41 %89 = landingpad { ptr, i32 } cleanup %90 = extractvalue { ptr, i32 } %89, 0 store ptr %90, ptr %14, align 8 %91 = extractvalue { ptr, i32 } %89, 1 store i32 %91, ptr %15, align 4 br label %106 92: ; preds = %42 %93 = landingpad { ptr, i32 } cleanup %94 = extractvalue { ptr, i32 } %93, 0 store ptr %94, ptr %14, align 8 %95 = extractvalue { ptr, i32 } %93, 1 store i32 %95, ptr %15, align 4 br label %105 96: ; preds = %43 %97 = landingpad { ptr, i32 } cleanup %98 = extractvalue { ptr, i32 } %97, 0 store ptr %98, ptr %14, align 8 %99 = extractvalue { ptr, i32 } %97, 1 store i32 %99, ptr %15, align 4 br label %104 100: ; preds = %44 %101 = landingpad { ptr, i32 } cleanup %102 = extractvalue { ptr, i32 } %101, 0 store ptr %102, ptr %14, align 8 %103 = extractvalue { ptr, i32 } %101, 1 store i32 %103, ptr %15, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %104 104: ; preds = %100, %96 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %105 105: ; preds = %104, %92 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 br label %106 106: ; preds = %105, %88 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %107 107: ; preds = %106, %84 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 br label %108 108: ; preds = %107, %80 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %20) #18 br label %109 109: ; preds = %108, %79 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %110 110: ; preds = %109 %111 = load ptr, ptr %14, align 8 %112 = load i32, ptr %15, align 4 %113 = insertvalue { ptr, i32 } poison, ptr %111, 0 %114 = insertvalue { ptr, i32 } %113, i32 %112, 1 resume { ptr, i32 } %114 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT13vec_reduce_orERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !68 %7 = call noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %5, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(24) %6) ret i32 %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i8, align 1 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %6 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr %5) #18 store i8 1, ptr %5, align 1, !tbaa !87 %7 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEE14_M_move_assignEOS1_St17integral_constantIbLb1EE(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %7) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 ret ptr %6 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_addERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i1, align 1 %10 = alloca %"class.std::allocator.16", align 1 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca i32, align 4 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !68 %15 = load ptr, ptr %6, align 8 store i1 false, ptr %9, align 1 %16 = load ptr, ptr %7, align 8, !tbaa !68 %17 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %17, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %18 unwind label %26 18: ; preds = %4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 store i32 2, ptr %13, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %14) #18 store i32 0, ptr %14, align 4, !tbaa !72 br label %19 19: ; preds = %46, %18 %20 = load i32, ptr %14, align 4, !tbaa !72 %21 = load ptr, ptr %7, align 8, !tbaa !68 %22 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 %23 = trunc i64 %22 to i32 %24 = icmp slt i32 %20, %23 br i1 %24, label %30, label %25 25: ; preds = %19 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 br label %53 26: ; preds = %4 %27 = landingpad { ptr, i32 } cleanup %28 = extractvalue { ptr, i32 } %27, 0 store ptr %28, ptr %11, align 8 %29 = extractvalue { ptr, i32 } %27, 1 store i32 %29, ptr %12, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 br label %57 30: ; preds = %19 %31 = load ptr, ptr %7, align 8, !tbaa !68 %32 = load i32, ptr %14, align 4, !tbaa !72 %33 = sext i32 %32 to i64 %34 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %33) #18 %35 = load i32, ptr %34, align 4, !tbaa !72 %36 = load ptr, ptr %8, align 8, !tbaa !68 %37 = load i32, ptr %14, align 4, !tbaa !72 %38 = sext i32 %37 to i64 %39 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %36, i64 noundef %38) #18 %40 = load i32, ptr %39, align 4, !tbaa !72 %41 = load i32, ptr %13, align 4, !tbaa !72 %42 = load i32, ptr %14, align 4, !tbaa !72 %43 = sext i32 %42 to i64 %44 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %43) #18 invoke void @_ZL9fulladderP5ezSATiiiRiS1_(ptr noundef %15, i32 noundef %35, i32 noundef %40, i32 noundef %41, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %44) to label %45 unwind label %49 45: ; preds = %30 br label %46 46: ; preds = %45 %47 = load i32, ptr %14, align 4, !tbaa !72 %48 = add nsw i32 %47, 1 store i32 %48, ptr %14, align 4, !tbaa !72 br label %19, !llvm.loop !160 49: ; preds = %30 %50 = landingpad { ptr, i32 } cleanup %51 = extractvalue { ptr, i32 } %50, 0 store ptr %51, ptr %11, align 8 %52 = extractvalue { ptr, i32 } %50, 1 store i32 %52, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %57 53: ; preds = %25 store i1 true, ptr %9, align 1 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 %54 = load i1, ptr %9, align 1 br i1 %54, label %56, label %55 55: ; preds = %53 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %56 56: ; preds = %55, %53 ret void 57: ; preds = %49, %26 %58 = load ptr, ptr %11, align 8 %59 = load i32, ptr %12, align 4 %60 = insertvalue { ptr, i32 } poison, ptr %58, 0 %61 = insertvalue { ptr, i32 } %60, i32 %59, 1 resume { ptr, i32 } %61 } ; Function Attrs: mustprogress uwtable define internal void @_ZL9fulladderP5ezSATiiiRiS1_(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %5) #0 personality ptr @__gxx_personality_v0 { %7 = alloca ptr, align 8 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca ptr, align 8 %12 = alloca ptr, align 8 %13 = alloca i32, align 4 %14 = alloca %"struct.ezSAT::_V", align 8 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca ptr, align 8 %17 = alloca i32, align 4 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca i32, align 4 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca %"struct.ezSAT::_V", align 8 %25 = alloca %"struct.ezSAT::_V", align 8 %26 = alloca %"struct.ezSAT::_V", align 8 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca i32, align 4 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca %"struct.ezSAT::_V", align 8 %33 = alloca %"struct.ezSAT::_V", align 8 %34 = alloca %"struct.ezSAT::_V", align 8 %35 = alloca %"struct.ezSAT::_V", align 8 %36 = alloca %"struct.ezSAT::_V", align 8 %37 = alloca %"struct.ezSAT::_V", align 8 %38 = alloca %"struct.ezSAT::_V", align 8 %39 = alloca %"struct.ezSAT::_V", align 8 %40 = alloca %"struct.ezSAT::_V", align 8 %41 = alloca %"struct.ezSAT::_V", align 8 %42 = alloca %"struct.ezSAT::_V", align 8 %43 = alloca %"struct.ezSAT::_V", align 8 %44 = alloca %"struct.ezSAT::_V", align 8 %45 = alloca %"struct.ezSAT::_V", align 8 %46 = alloca %"struct.ezSAT::_V", align 8 %47 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %7, align 8, !tbaa !6 store i32 %1, ptr %8, align 4, !tbaa !72 store i32 %2, ptr %9, align 4, !tbaa !72 store i32 %3, ptr %10, align 4, !tbaa !72 store ptr %4, ptr %11, align 8, !tbaa !100 store ptr %5, ptr %12, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 %48 = load ptr, ptr %7, align 8, !tbaa !6 %49 = load i32, ptr %8, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %14, i32 noundef %49) %50 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef %50) to label %51 unwind label %102 51: ; preds = %6 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %52 unwind label %106 52: ; preds = %51 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %53 unwind label %110 53: ; preds = %52 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef 0) to label %54 unwind label %114 54: ; preds = %53 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef 0) to label %55 unwind label %118 55: ; preds = %54 %56 = invoke noundef i32 @_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %48, ptr noundef %14, ptr noundef %15, ptr noundef %18, ptr noundef %19, ptr noundef %20, ptr noundef %21) to label %57 unwind label %122 57: ; preds = %55 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 store i32 %56, ptr %13, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %22) #18 %58 = load ptr, ptr %7, align 8, !tbaa !6 %59 = load i32, ptr %13, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef %59) %60 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %60) to label %61 unwind label %131 61: ; preds = %57 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef 0) to label %62 unwind label %135 62: ; preds = %61 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef 0) to label %63 unwind label %139 63: ; preds = %62 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef 0) to label %64 unwind label %143 64: ; preds = %63 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef 0) to label %65 unwind label %147 65: ; preds = %64 %66 = invoke noundef i32 @_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %58, ptr noundef %23, ptr noundef %24, ptr noundef %25, ptr noundef %26, ptr noundef %27, ptr noundef %28) to label %67 unwind label %151 67: ; preds = %65 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 store i32 %66, ptr %22, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %29) #18 %68 = load ptr, ptr %7, align 8, !tbaa !6 %69 = load ptr, ptr %7, align 8, !tbaa !6 %70 = load i32, ptr %8, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef %70) %71 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef %71) to label %72 unwind label %160 72: ; preds = %67 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 0) to label %73 unwind label %164 73: ; preds = %72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %34, i32 noundef 0) to label %74 unwind label %168 74: ; preds = %73 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %35, i32 noundef 0) to label %75 unwind label %172 75: ; preds = %74 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %36, i32 noundef 0) to label %76 unwind label %176 76: ; preds = %75 %77 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %69, ptr noundef %31, ptr noundef %32, ptr noundef %33, ptr noundef %34, ptr noundef %35, ptr noundef %36) to label %78 unwind label %180 78: ; preds = %76 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef %77) to label %79 unwind label %180 79: ; preds = %78 %80 = load ptr, ptr %7, align 8, !tbaa !6 %81 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %38, i32 noundef %81) to label %82 unwind label %184 82: ; preds = %79 %83 = load i32, ptr %13, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %39, i32 noundef %83) to label %84 unwind label %188 84: ; preds = %82 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %40, i32 noundef 0) to label %85 unwind label %192 85: ; preds = %84 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %41, i32 noundef 0) to label %86 unwind label %196 86: ; preds = %85 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %42, i32 noundef 0) to label %87 unwind label %200 87: ; preds = %86 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %43, i32 noundef 0) to label %88 unwind label %204 88: ; preds = %87 %89 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %80, ptr noundef %38, ptr noundef %39, ptr noundef %40, ptr noundef %41, ptr noundef %42, ptr noundef %43) to label %90 unwind label %208 90: ; preds = %88 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %37, i32 noundef %89) to label %91 unwind label %208 91: ; preds = %90 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %44, i32 noundef 0) to label %92 unwind label %212 92: ; preds = %91 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %45, i32 noundef 0) to label %93 unwind label %216 93: ; preds = %92 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %46, i32 noundef 0) to label %94 unwind label %220 94: ; preds = %93 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %47, i32 noundef 0) to label %95 unwind label %224 95: ; preds = %94 %96 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %68, ptr noundef %30, ptr noundef %37, ptr noundef %44, ptr noundef %45, ptr noundef %46, ptr noundef %47) to label %97 unwind label %228 97: ; preds = %95 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 store i32 %96, ptr %29, align 4, !tbaa !72 %98 = load i32, ptr %22, align 4, !tbaa !72 %99 = load ptr, ptr %12, align 8, !tbaa !100 store i32 %98, ptr %99, align 4, !tbaa !72 %100 = load i32, ptr %29, align 4, !tbaa !72 %101 = load ptr, ptr %11, align 8, !tbaa !100 store i32 %100, ptr %101, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 ret void 102: ; preds = %6 %103 = landingpad { ptr, i32 } cleanup %104 = extractvalue { ptr, i32 } %103, 0 store ptr %104, ptr %16, align 8 %105 = extractvalue { ptr, i32 } %103, 1 store i32 %105, ptr %17, align 4 br label %130 106: ; preds = %51 %107 = landingpad { ptr, i32 } cleanup %108 = extractvalue { ptr, i32 } %107, 0 store ptr %108, ptr %16, align 8 %109 = extractvalue { ptr, i32 } %107, 1 store i32 %109, ptr %17, align 4 br label %129 110: ; preds = %52 %111 = landingpad { ptr, i32 } cleanup %112 = extractvalue { ptr, i32 } %111, 0 store ptr %112, ptr %16, align 8 %113 = extractvalue { ptr, i32 } %111, 1 store i32 %113, ptr %17, align 4 br label %128 114: ; preds = %53 %115 = landingpad { ptr, i32 } cleanup %116 = extractvalue { ptr, i32 } %115, 0 store ptr %116, ptr %16, align 8 %117 = extractvalue { ptr, i32 } %115, 1 store i32 %117, ptr %17, align 4 br label %127 118: ; preds = %54 %119 = landingpad { ptr, i32 } cleanup %120 = extractvalue { ptr, i32 } %119, 0 store ptr %120, ptr %16, align 8 %121 = extractvalue { ptr, i32 } %119, 1 store i32 %121, ptr %17, align 4 br label %126 122: ; preds = %55 %123 = landingpad { ptr, i32 } cleanup %124 = extractvalue { ptr, i32 } %123, 0 store ptr %124, ptr %16, align 8 %125 = extractvalue { ptr, i32 } %123, 1 store i32 %125, ptr %17, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %126 126: ; preds = %122, %118 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %127 127: ; preds = %126, %114 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %128 128: ; preds = %127, %110 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %129 129: ; preds = %128, %106 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %130 130: ; preds = %129, %102 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %250 131: ; preds = %57 %132 = landingpad { ptr, i32 } cleanup %133 = extractvalue { ptr, i32 } %132, 0 store ptr %133, ptr %16, align 8 %134 = extractvalue { ptr, i32 } %132, 1 store i32 %134, ptr %17, align 4 br label %159 135: ; preds = %61 %136 = landingpad { ptr, i32 } cleanup %137 = extractvalue { ptr, i32 } %136, 0 store ptr %137, ptr %16, align 8 %138 = extractvalue { ptr, i32 } %136, 1 store i32 %138, ptr %17, align 4 br label %158 139: ; preds = %62 %140 = landingpad { ptr, i32 } cleanup %141 = extractvalue { ptr, i32 } %140, 0 store ptr %141, ptr %16, align 8 %142 = extractvalue { ptr, i32 } %140, 1 store i32 %142, ptr %17, align 4 br label %157 143: ; preds = %63 %144 = landingpad { ptr, i32 } cleanup %145 = extractvalue { ptr, i32 } %144, 0 store ptr %145, ptr %16, align 8 %146 = extractvalue { ptr, i32 } %144, 1 store i32 %146, ptr %17, align 4 br label %156 147: ; preds = %64 %148 = landingpad { ptr, i32 } cleanup %149 = extractvalue { ptr, i32 } %148, 0 store ptr %149, ptr %16, align 8 %150 = extractvalue { ptr, i32 } %148, 1 store i32 %150, ptr %17, align 4 br label %155 151: ; preds = %65 %152 = landingpad { ptr, i32 } cleanup %153 = extractvalue { ptr, i32 } %152, 0 store ptr %153, ptr %16, align 8 %154 = extractvalue { ptr, i32 } %152, 1 store i32 %154, ptr %17, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %155 155: ; preds = %151, %147 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %156 156: ; preds = %155, %143 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %157 157: ; preds = %156, %139 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %158 158: ; preds = %157, %135 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 br label %159 159: ; preds = %158, %131 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %249 160: ; preds = %67 %161 = landingpad { ptr, i32 } cleanup %162 = extractvalue { ptr, i32 } %161, 0 store ptr %162, ptr %16, align 8 %163 = extractvalue { ptr, i32 } %161, 1 store i32 %163, ptr %17, align 4 br label %248 164: ; preds = %72 %165 = landingpad { ptr, i32 } cleanup %166 = extractvalue { ptr, i32 } %165, 0 store ptr %166, ptr %16, align 8 %167 = extractvalue { ptr, i32 } %165, 1 store i32 %167, ptr %17, align 4 br label %247 168: ; preds = %73 %169 = landingpad { ptr, i32 } cleanup %170 = extractvalue { ptr, i32 } %169, 0 store ptr %170, ptr %16, align 8 %171 = extractvalue { ptr, i32 } %169, 1 store i32 %171, ptr %17, align 4 br label %246 172: ; preds = %74 %173 = landingpad { ptr, i32 } cleanup %174 = extractvalue { ptr, i32 } %173, 0 store ptr %174, ptr %16, align 8 %175 = extractvalue { ptr, i32 } %173, 1 store i32 %175, ptr %17, align 4 br label %245 176: ; preds = %75 %177 = landingpad { ptr, i32 } cleanup %178 = extractvalue { ptr, i32 } %177, 0 store ptr %178, ptr %16, align 8 %179 = extractvalue { ptr, i32 } %177, 1 store i32 %179, ptr %17, align 4 br label %244 180: ; preds = %78, %76 %181 = landingpad { ptr, i32 } cleanup %182 = extractvalue { ptr, i32 } %181, 0 store ptr %182, ptr %16, align 8 %183 = extractvalue { ptr, i32 } %181, 1 store i32 %183, ptr %17, align 4 br label %243 184: ; preds = %79 %185 = landingpad { ptr, i32 } cleanup %186 = extractvalue { ptr, i32 } %185, 0 store ptr %186, ptr %16, align 8 %187 = extractvalue { ptr, i32 } %185, 1 store i32 %187, ptr %17, align 4 br label %242 188: ; preds = %82 %189 = landingpad { ptr, i32 } cleanup %190 = extractvalue { ptr, i32 } %189, 0 store ptr %190, ptr %16, align 8 %191 = extractvalue { ptr, i32 } %189, 1 store i32 %191, ptr %17, align 4 br label %241 192: ; preds = %84 %193 = landingpad { ptr, i32 } cleanup %194 = extractvalue { ptr, i32 } %193, 0 store ptr %194, ptr %16, align 8 %195 = extractvalue { ptr, i32 } %193, 1 store i32 %195, ptr %17, align 4 br label %240 196: ; preds = %85 %197 = landingpad { ptr, i32 } cleanup %198 = extractvalue { ptr, i32 } %197, 0 store ptr %198, ptr %16, align 8 %199 = extractvalue { ptr, i32 } %197, 1 store i32 %199, ptr %17, align 4 br label %239 200: ; preds = %86 %201 = landingpad { ptr, i32 } cleanup %202 = extractvalue { ptr, i32 } %201, 0 store ptr %202, ptr %16, align 8 %203 = extractvalue { ptr, i32 } %201, 1 store i32 %203, ptr %17, align 4 br label %238 204: ; preds = %87 %205 = landingpad { ptr, i32 } cleanup %206 = extractvalue { ptr, i32 } %205, 0 store ptr %206, ptr %16, align 8 %207 = extractvalue { ptr, i32 } %205, 1 store i32 %207, ptr %17, align 4 br label %237 208: ; preds = %90, %88 %209 = landingpad { ptr, i32 } cleanup %210 = extractvalue { ptr, i32 } %209, 0 store ptr %210, ptr %16, align 8 %211 = extractvalue { ptr, i32 } %209, 1 store i32 %211, ptr %17, align 4 br label %236 212: ; preds = %91 %213 = landingpad { ptr, i32 } cleanup %214 = extractvalue { ptr, i32 } %213, 0 store ptr %214, ptr %16, align 8 %215 = extractvalue { ptr, i32 } %213, 1 store i32 %215, ptr %17, align 4 br label %235 216: ; preds = %92 %217 = landingpad { ptr, i32 } cleanup %218 = extractvalue { ptr, i32 } %217, 0 store ptr %218, ptr %16, align 8 %219 = extractvalue { ptr, i32 } %217, 1 store i32 %219, ptr %17, align 4 br label %234 220: ; preds = %93 %221 = landingpad { ptr, i32 } cleanup %222 = extractvalue { ptr, i32 } %221, 0 store ptr %222, ptr %16, align 8 %223 = extractvalue { ptr, i32 } %221, 1 store i32 %223, ptr %17, align 4 br label %233 224: ; preds = %94 %225 = landingpad { ptr, i32 } cleanup %226 = extractvalue { ptr, i32 } %225, 0 store ptr %226, ptr %16, align 8 %227 = extractvalue { ptr, i32 } %225, 1 store i32 %227, ptr %17, align 4 br label %232 228: ; preds = %95 %229 = landingpad { ptr, i32 } cleanup %230 = extractvalue { ptr, i32 } %229, 0 store ptr %230, ptr %16, align 8 %231 = extractvalue { ptr, i32 } %229, 1 store i32 %231, ptr %17, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #18 br label %232 232: ; preds = %228, %224 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #18 br label %233 233: ; preds = %232, %220 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #18 br label %234 234: ; preds = %233, %216 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #18 br label %235 235: ; preds = %234, %212 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 br label %236 236: ; preds = %235, %208 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #18 br label %237 237: ; preds = %236, %204 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #18 br label %238 238: ; preds = %237, %200 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #18 br label %239 239: ; preds = %238, %196 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #18 br label %240 240: ; preds = %239, %192 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #18 br label %241 241: ; preds = %240, %188 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 br label %242 242: ; preds = %241, %184 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %243 243: ; preds = %242, %180 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 br label %244 244: ; preds = %243, %176 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 br label %245 245: ; preds = %244, %172 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 br label %246 246: ; preds = %245, %168 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 br label %247 247: ; preds = %246, %164 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %248 248: ; preds = %247, %160 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %29) #18 br label %249 249: ; preds = %248, %159 call void @llvm.lifetime.end.p0(i64 4, ptr %22) #18 br label %250 250: ; preds = %249, %130 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 br label %251 251: ; preds = %250 %252 = load ptr, ptr %16, align 8 %253 = load i32, ptr %17, align 4 %254 = insertvalue { ptr, i32 } poison, ptr %252, 0 %255 = insertvalue { ptr, i32 } %254, i32 %253, 1 resume { ptr, i32 } %255 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_subERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i1, align 1 %10 = alloca %"class.std::allocator.16", align 1 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca i32, align 4 %15 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !68 %16 = load ptr, ptr %6, align 8 store i1 false, ptr %9, align 1 %17 = load ptr, ptr %7, align 8, !tbaa !68 %18 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %18, ptr noundef nonnull align 1 dereferenceable(1) %10) to label %19 unwind label %27 19: ; preds = %4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 store i32 1, ptr %13, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %14) #18 store i32 0, ptr %14, align 4, !tbaa !72 br label %20 20: ; preds = %50, %19 %21 = load i32, ptr %14, align 4, !tbaa !72 %22 = load ptr, ptr %7, align 8, !tbaa !68 %23 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #18 %24 = trunc i64 %23 to i32 %25 = icmp slt i32 %21, %24 br i1 %25, label %31, label %26 26: ; preds = %20 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 br label %62 27: ; preds = %4 %28 = landingpad { ptr, i32 } cleanup %29 = extractvalue { ptr, i32 } %28, 0 store ptr %29, ptr %11, align 8 %30 = extractvalue { ptr, i32 } %28, 1 store i32 %30, ptr %12, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 br label %66 31: ; preds = %20 %32 = load ptr, ptr %7, align 8, !tbaa !68 %33 = load i32, ptr %14, align 4, !tbaa !72 %34 = sext i32 %33 to i64 %35 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %32, i64 noundef %34) #18 %36 = load i32, ptr %35, align 4, !tbaa !72 %37 = load ptr, ptr %8, align 8, !tbaa !68 %38 = load i32, ptr %14, align 4, !tbaa !72 %39 = sext i32 %38 to i64 %40 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %39) #18 %41 = load i32, ptr %40, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef %41) to label %42 unwind label %53 42: ; preds = %31 %43 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %16, ptr noundef %15) to label %44 unwind label %57 44: ; preds = %42 %45 = load i32, ptr %13, align 4, !tbaa !72 %46 = load i32, ptr %14, align 4, !tbaa !72 %47 = sext i32 %46 to i64 %48 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %47) #18 invoke void @_ZL9fulladderP5ezSATiiiRiS1_(ptr noundef %16, i32 noundef %36, i32 noundef %43, i32 noundef %45, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %48) to label %49 unwind label %57 49: ; preds = %44 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %50 50: ; preds = %49 %51 = load i32, ptr %14, align 4, !tbaa !72 %52 = add nsw i32 %51, 1 store i32 %52, ptr %14, align 4, !tbaa !72 br label %20, !llvm.loop !161 53: ; preds = %31 %54 = landingpad { ptr, i32 } cleanup %55 = extractvalue { ptr, i32 } %54, 0 store ptr %55, ptr %11, align 8 %56 = extractvalue { ptr, i32 } %54, 1 store i32 %56, ptr %12, align 4 br label %61 57: ; preds = %44, %42 %58 = landingpad { ptr, i32 } cleanup %59 = extractvalue { ptr, i32 } %58, 0 store ptr %59, ptr %11, align 8 %60 = extractvalue { ptr, i32 } %58, 1 store i32 %60, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %61 61: ; preds = %57, %53 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %66 62: ; preds = %26 store i1 true, ptr %9, align 1 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 %63 = load i1, ptr %9, align 1 br i1 %63, label %65, label %64 64: ; preds = %62 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %65 65: ; preds = %64, %62 ret void 66: ; preds = %61, %27 %67 = load ptr, ptr %11, align 8 %68 = load i32, ptr %12, align 4 %69 = insertvalue { ptr, i32 } poison, ptr %67, 0 %70 = insertvalue { ptr, i32 } %69, i32 %68, 1 resume { ptr, i32 } %70 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_negERKSt6vectorIiSaIiEE(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.std::vector.14", align 8 %8 = alloca %"class.std::allocator.16", align 1 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !6 store ptr %2, ptr %6, align 8, !tbaa !68 %11 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %7) #18 %12 = load ptr, ptr %6, align 8, !tbaa !68 %13 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %13, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5ezSAT11CONST_FALSEE, ptr noundef nonnull align 1 dereferenceable(1) %8) to label %14 unwind label %17 14: ; preds = %3 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 %15 = load ptr, ptr %6, align 8, !tbaa !68 invoke void @_ZN5ezSAT7vec_subERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %11, ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %15) to label %16 unwind label %21 16: ; preds = %14 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %7) #18 ret void 17: ; preds = %3 %18 = landingpad { ptr, i32 } cleanup %19 = extractvalue { ptr, i32 } %18, 0 store ptr %19, ptr %9, align 8 %20 = extractvalue { ptr, i32 } %18, 1 store i32 %20, ptr %10, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 br label %25 21: ; preds = %14 %22 = landingpad { ptr, i32 } cleanup %23 = extractvalue { ptr, i32 } %22, 0 store ptr %23, ptr %9, align 8 %24 = extractvalue { ptr, i32 } %22, 1 store i32 %24, ptr %10, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 br label %25 25: ; preds = %21, %17 call void @llvm.lifetime.end.p0(i64 24, ptr %7) #18 br label %26 26: ; preds = %25 %27 = load ptr, ptr %9, align 8 %28 = load i32, ptr %10, align 4 %29 = insertvalue { ptr, i32 } poison, ptr %27, 0 %30 = insertvalue { ptr, i32 } %29, i32 %28, 1 resume { ptr, i32 } %30 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull align 4 dereferenceable(4) %6) #0 align 2 personality ptr @__gxx_personality_v0 { %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca ptr, align 8 %18 = alloca i32, align 4 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca %"struct.ezSAT::_V", align 8 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca %"struct.ezSAT::_V", align 8 %25 = alloca %"struct.ezSAT::_V", align 8 %26 = alloca %"struct.ezSAT::_V", align 8 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca %"struct.ezSAT::_V", align 8 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %8, align 8, !tbaa !6 store ptr %1, ptr %9, align 8, !tbaa !68 store ptr %2, ptr %10, align 8, !tbaa !68 store ptr %3, ptr %11, align 8, !tbaa !100 store ptr %4, ptr %12, align 8, !tbaa !100 store ptr %5, ptr %13, align 8, !tbaa !100 store ptr %6, ptr %14, align 8, !tbaa !100 %33 = load ptr, ptr %8, align 8 %34 = load ptr, ptr %11, align 8, !tbaa !100 store i32 1, ptr %34, align 4, !tbaa !72 %35 = load ptr, ptr %14, align 8, !tbaa !100 store i32 2, ptr %35, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 store i32 0, ptr %15, align 4, !tbaa !72 br label %36 36: ; preds = %76, %7 %37 = load i32, ptr %15, align 4, !tbaa !72 %38 = load ptr, ptr %9, align 8, !tbaa !68 %39 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %40 = trunc i64 %39 to i32 %41 = icmp slt i32 %37, %40 br i1 %41, label %43, label %42 42: ; preds = %36 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %113 43: ; preds = %36 %44 = load ptr, ptr %11, align 8, !tbaa !100 %45 = load i32, ptr %44, align 4, !tbaa !72 %46 = load ptr, ptr %12, align 8, !tbaa !100 store i32 %45, ptr %46, align 4, !tbaa !72 %47 = load ptr, ptr %9, align 8, !tbaa !68 %48 = load i32, ptr %15, align 4, !tbaa !72 %49 = sext i32 %48 to i64 %50 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %49) #18 %51 = load i32, ptr %50, align 4, !tbaa !72 %52 = load ptr, ptr %10, align 8, !tbaa !68 %53 = load i32, ptr %15, align 4, !tbaa !72 %54 = sext i32 %53 to i64 %55 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %52, i64 noundef %54) #18 %56 = load i32, ptr %55, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %56) %57 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %16) to label %58 unwind label %79 58: ; preds = %43 %59 = load ptr, ptr %11, align 8, !tbaa !100 %60 = load i32, ptr %59, align 4, !tbaa !72 %61 = load ptr, ptr %11, align 8, !tbaa !100 %62 = load ptr, ptr %13, align 8, !tbaa !100 invoke void @_ZL9fulladderP5ezSATiiiRiS1_(ptr noundef %33, i32 noundef %51, i32 noundef %57, i32 noundef %60, ptr noundef nonnull align 4 dereferenceable(4) %61, ptr noundef nonnull align 4 dereferenceable(4) %62) to label %63 unwind label %79 63: ; preds = %58 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 %64 = load ptr, ptr %14, align 8, !tbaa !100 %65 = load i32, ptr %64, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef %65) %66 = load ptr, ptr %13, align 8, !tbaa !100 %67 = load i32, ptr %66, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef %67) to label %68 unwind label %83 68: ; preds = %63 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef 0) to label %69 unwind label %87 69: ; preds = %68 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %22, i32 noundef 0) to label %70 unwind label %91 70: ; preds = %69 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef 0) to label %71 unwind label %95 71: ; preds = %70 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef 0) to label %72 unwind label %99 72: ; preds = %71 %73 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr noundef %24) to label %74 unwind label %103 74: ; preds = %72 %75 = load ptr, ptr %14, align 8, !tbaa !100 store i32 %73, ptr %75, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %76 76: ; preds = %74 %77 = load i32, ptr %15, align 4, !tbaa !72 %78 = add nsw i32 %77, 1 store i32 %78, ptr %15, align 4, !tbaa !72 br label %36, !llvm.loop !162 79: ; preds = %58, %43 %80 = landingpad { ptr, i32 } cleanup %81 = extractvalue { ptr, i32 } %80, 0 store ptr %81, ptr %17, align 8 %82 = extractvalue { ptr, i32 } %80, 1 store i32 %82, ptr %18, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %112 83: ; preds = %63 %84 = landingpad { ptr, i32 } cleanup %85 = extractvalue { ptr, i32 } %84, 0 store ptr %85, ptr %17, align 8 %86 = extractvalue { ptr, i32 } %84, 1 store i32 %86, ptr %18, align 4 br label %111 87: ; preds = %68 %88 = landingpad { ptr, i32 } cleanup %89 = extractvalue { ptr, i32 } %88, 0 store ptr %89, ptr %17, align 8 %90 = extractvalue { ptr, i32 } %88, 1 store i32 %90, ptr %18, align 4 br label %110 91: ; preds = %69 %92 = landingpad { ptr, i32 } cleanup %93 = extractvalue { ptr, i32 } %92, 0 store ptr %93, ptr %17, align 8 %94 = extractvalue { ptr, i32 } %92, 1 store i32 %94, ptr %18, align 4 br label %109 95: ; preds = %70 %96 = landingpad { ptr, i32 } cleanup %97 = extractvalue { ptr, i32 } %96, 0 store ptr %97, ptr %17, align 8 %98 = extractvalue { ptr, i32 } %96, 1 store i32 %98, ptr %18, align 4 br label %108 99: ; preds = %71 %100 = landingpad { ptr, i32 } cleanup %101 = extractvalue { ptr, i32 } %100, 0 store ptr %101, ptr %17, align 8 %102 = extractvalue { ptr, i32 } %100, 1 store i32 %102, ptr %18, align 4 br label %107 103: ; preds = %72 %104 = landingpad { ptr, i32 } cleanup %105 = extractvalue { ptr, i32 } %104, 0 store ptr %105, ptr %17, align 8 %106 = extractvalue { ptr, i32 } %104, 1 store i32 %106, ptr %18, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 br label %107 107: ; preds = %103, %99 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %108 108: ; preds = %107, %95 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 br label %109 109: ; preds = %108, %91 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %110 110: ; preds = %109, %87 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %111 111: ; preds = %110, %83 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %112 112: ; preds = %111, %79 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %173 113: ; preds = %42 %114 = load ptr, ptr %12, align 8, !tbaa !100 %115 = load i32, ptr %114, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef %115) %116 = load ptr, ptr %11, align 8, !tbaa !100 %117 = load i32, ptr %116, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef %117) to label %118 unwind label %136 118: ; preds = %113 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef 0) to label %119 unwind label %140 119: ; preds = %118 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef 0) to label %120 unwind label %144 120: ; preds = %119 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %29, i32 noundef 0) to label %121 unwind label %148 121: ; preds = %120 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 0) to label %122 unwind label %152 122: ; preds = %121 %123 = invoke noundef i32 @_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %25, ptr noundef %26, ptr noundef %27, ptr noundef %28, ptr noundef %29, ptr noundef %30) to label %124 unwind label %156 124: ; preds = %122 %125 = load ptr, ptr %12, align 8, !tbaa !100 store i32 %123, ptr %125, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 %126 = load ptr, ptr %11, align 8, !tbaa !100 %127 = load i32, ptr %126, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef %127) %128 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %31) to label %129 unwind label %165 129: ; preds = %124 %130 = load ptr, ptr %11, align 8, !tbaa !100 store i32 %128, ptr %130, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 %131 = load ptr, ptr %14, align 8, !tbaa !100 %132 = load i32, ptr %131, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef %132) %133 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %32) to label %134 unwind label %169 134: ; preds = %129 %135 = load ptr, ptr %14, align 8, !tbaa !100 store i32 %133, ptr %135, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 ret void 136: ; preds = %113 %137 = landingpad { ptr, i32 } cleanup %138 = extractvalue { ptr, i32 } %137, 0 store ptr %138, ptr %17, align 8 %139 = extractvalue { ptr, i32 } %137, 1 store i32 %139, ptr %18, align 4 br label %164 140: ; preds = %118 %141 = landingpad { ptr, i32 } cleanup %142 = extractvalue { ptr, i32 } %141, 0 store ptr %142, ptr %17, align 8 %143 = extractvalue { ptr, i32 } %141, 1 store i32 %143, ptr %18, align 4 br label %163 144: ; preds = %119 %145 = landingpad { ptr, i32 } cleanup %146 = extractvalue { ptr, i32 } %145, 0 store ptr %146, ptr %17, align 8 %147 = extractvalue { ptr, i32 } %145, 1 store i32 %147, ptr %18, align 4 br label %162 148: ; preds = %120 %149 = landingpad { ptr, i32 } cleanup %150 = extractvalue { ptr, i32 } %149, 0 store ptr %150, ptr %17, align 8 %151 = extractvalue { ptr, i32 } %149, 1 store i32 %151, ptr %18, align 4 br label %161 152: ; preds = %121 %153 = landingpad { ptr, i32 } cleanup %154 = extractvalue { ptr, i32 } %153, 0 store ptr %154, ptr %17, align 8 %155 = extractvalue { ptr, i32 } %153, 1 store i32 %155, ptr %18, align 4 br label %160 156: ; preds = %122 %157 = landingpad { ptr, i32 } cleanup %158 = extractvalue { ptr, i32 } %157, 0 store ptr %158, ptr %17, align 8 %159 = extractvalue { ptr, i32 } %157, 1 store i32 %159, ptr %18, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %160 160: ; preds = %156, %152 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 br label %161 161: ; preds = %160, %148 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %162 162: ; preds = %161, %144 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %163 163: ; preds = %162, %140 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %164 164: ; preds = %163, %136 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %173 165: ; preds = %124 %166 = landingpad { ptr, i32 } cleanup %167 = extractvalue { ptr, i32 } %166, 0 store ptr %167, ptr %17, align 8 %168 = extractvalue { ptr, i32 } %166, 1 store i32 %168, ptr %18, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 br label %173 169: ; preds = %129 %170 = landingpad { ptr, i32 } cleanup %171 = extractvalue { ptr, i32 } %170, 0 store ptr %171, ptr %17, align 8 %172 = extractvalue { ptr, i32 } %170, 1 store i32 %172, ptr %18, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %173 173: ; preds = %169, %165, %164, %112 %174 = load ptr, ptr %17, align 8 %175 = load i32, ptr %18, align 4 %176 = insertvalue { ptr, i32 } poison, ptr %174, 0 %177 = insertvalue { ptr, i32 } %176, i32 %175, 1 resume { ptr, i32 } %177 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT13vec_lt_signedERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca %"struct.ezSAT::_V", align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca %"struct.ezSAT::_V", align 8 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca %"struct.ezSAT::_V", align 8 %25 = alloca %"struct.ezSAT::_V", align 8 %26 = alloca %"struct.ezSAT::_V", align 8 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca %"struct.ezSAT::_V", align 8 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %33 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %34 = load ptr, ptr %5, align 8, !tbaa !68 %35 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10) %36 = load i32, ptr %8, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %13, i32 noundef %36) %37 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %13) to label %38 unwind label %69 38: ; preds = %3 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %37) to label %39 unwind label %69 39: ; preds = %38 %40 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %40) to label %41 unwind label %73 41: ; preds = %39 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %42 unwind label %77 42: ; preds = %41 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %43 unwind label %81 43: ; preds = %42 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %44 unwind label %85 44: ; preds = %43 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef 0) to label %45 unwind label %89 45: ; preds = %44 %46 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %12, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19, ptr noundef %20) to label %47 unwind label %93 47: ; preds = %45 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %46) to label %48 unwind label %93 48: ; preds = %47 %49 = load i32, ptr %8, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %22, i32 noundef %49) to label %50 unwind label %97 50: ; preds = %48 %51 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %51) to label %52 unwind label %101 52: ; preds = %50 %53 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %24) to label %54 unwind label %105 54: ; preds = %52 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef %53) to label %55 unwind label %105 55: ; preds = %54 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef 0) to label %56 unwind label %109 56: ; preds = %55 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef 0) to label %57 unwind label %113 57: ; preds = %56 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef 0) to label %58 unwind label %117 58: ; preds = %57 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef 0) to label %59 unwind label %121 59: ; preds = %58 %60 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %22, ptr noundef %23, ptr noundef %25, ptr noundef %26, ptr noundef %27, ptr noundef %28) to label %61 unwind label %125 61: ; preds = %59 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef %60) to label %62 unwind label %125 62: ; preds = %61 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %29, i32 noundef 0) to label %63 unwind label %129 63: ; preds = %62 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 0) to label %64 unwind label %133 64: ; preds = %63 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef 0) to label %65 unwind label %137 65: ; preds = %64 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef 0) to label %66 unwind label %141 66: ; preds = %65 %67 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %11, ptr noundef %21, ptr noundef %29, ptr noundef %30, ptr noundef %31, ptr noundef %32) to label %68 unwind label %145 68: ; preds = %66 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %67 69: ; preds = %38, %3 %70 = landingpad { ptr, i32 } cleanup %71 = extractvalue { ptr, i32 } %70, 0 store ptr %71, ptr %14, align 8 %72 = extractvalue { ptr, i32 } %70, 1 store i32 %72, ptr %15, align 4 br label %167 73: ; preds = %39 %74 = landingpad { ptr, i32 } cleanup %75 = extractvalue { ptr, i32 } %74, 0 store ptr %75, ptr %14, align 8 %76 = extractvalue { ptr, i32 } %74, 1 store i32 %76, ptr %15, align 4 br label %166 77: ; preds = %41 %78 = landingpad { ptr, i32 } cleanup %79 = extractvalue { ptr, i32 } %78, 0 store ptr %79, ptr %14, align 8 %80 = extractvalue { ptr, i32 } %78, 1 store i32 %80, ptr %15, align 4 br label %165 81: ; preds = %42 %82 = landingpad { ptr, i32 } cleanup %83 = extractvalue { ptr, i32 } %82, 0 store ptr %83, ptr %14, align 8 %84 = extractvalue { ptr, i32 } %82, 1 store i32 %84, ptr %15, align 4 br label %164 85: ; preds = %43 %86 = landingpad { ptr, i32 } cleanup %87 = extractvalue { ptr, i32 } %86, 0 store ptr %87, ptr %14, align 8 %88 = extractvalue { ptr, i32 } %86, 1 store i32 %88, ptr %15, align 4 br label %163 89: ; preds = %44 %90 = landingpad { ptr, i32 } cleanup %91 = extractvalue { ptr, i32 } %90, 0 store ptr %91, ptr %14, align 8 %92 = extractvalue { ptr, i32 } %90, 1 store i32 %92, ptr %15, align 4 br label %162 93: ; preds = %47, %45 %94 = landingpad { ptr, i32 } cleanup %95 = extractvalue { ptr, i32 } %94, 0 store ptr %95, ptr %14, align 8 %96 = extractvalue { ptr, i32 } %94, 1 store i32 %96, ptr %15, align 4 br label %161 97: ; preds = %48 %98 = landingpad { ptr, i32 } cleanup %99 = extractvalue { ptr, i32 } %98, 0 store ptr %99, ptr %14, align 8 %100 = extractvalue { ptr, i32 } %98, 1 store i32 %100, ptr %15, align 4 br label %160 101: ; preds = %50 %102 = landingpad { ptr, i32 } cleanup %103 = extractvalue { ptr, i32 } %102, 0 store ptr %103, ptr %14, align 8 %104 = extractvalue { ptr, i32 } %102, 1 store i32 %104, ptr %15, align 4 br label %159 105: ; preds = %54, %52 %106 = landingpad { ptr, i32 } cleanup %107 = extractvalue { ptr, i32 } %106, 0 store ptr %107, ptr %14, align 8 %108 = extractvalue { ptr, i32 } %106, 1 store i32 %108, ptr %15, align 4 br label %158 109: ; preds = %55 %110 = landingpad { ptr, i32 } cleanup %111 = extractvalue { ptr, i32 } %110, 0 store ptr %111, ptr %14, align 8 %112 = extractvalue { ptr, i32 } %110, 1 store i32 %112, ptr %15, align 4 br label %157 113: ; preds = %56 %114 = landingpad { ptr, i32 } cleanup %115 = extractvalue { ptr, i32 } %114, 0 store ptr %115, ptr %14, align 8 %116 = extractvalue { ptr, i32 } %114, 1 store i32 %116, ptr %15, align 4 br label %156 117: ; preds = %57 %118 = landingpad { ptr, i32 } cleanup %119 = extractvalue { ptr, i32 } %118, 0 store ptr %119, ptr %14, align 8 %120 = extractvalue { ptr, i32 } %118, 1 store i32 %120, ptr %15, align 4 br label %155 121: ; preds = %58 %122 = landingpad { ptr, i32 } cleanup %123 = extractvalue { ptr, i32 } %122, 0 store ptr %123, ptr %14, align 8 %124 = extractvalue { ptr, i32 } %122, 1 store i32 %124, ptr %15, align 4 br label %154 125: ; preds = %61, %59 %126 = landingpad { ptr, i32 } cleanup %127 = extractvalue { ptr, i32 } %126, 0 store ptr %127, ptr %14, align 8 %128 = extractvalue { ptr, i32 } %126, 1 store i32 %128, ptr %15, align 4 br label %153 129: ; preds = %62 %130 = landingpad { ptr, i32 } cleanup %131 = extractvalue { ptr, i32 } %130, 0 store ptr %131, ptr %14, align 8 %132 = extractvalue { ptr, i32 } %130, 1 store i32 %132, ptr %15, align 4 br label %152 133: ; preds = %63 %134 = landingpad { ptr, i32 } cleanup %135 = extractvalue { ptr, i32 } %134, 0 store ptr %135, ptr %14, align 8 %136 = extractvalue { ptr, i32 } %134, 1 store i32 %136, ptr %15, align 4 br label %151 137: ; preds = %64 %138 = landingpad { ptr, i32 } cleanup %139 = extractvalue { ptr, i32 } %138, 0 store ptr %139, ptr %14, align 8 %140 = extractvalue { ptr, i32 } %138, 1 store i32 %140, ptr %15, align 4 br label %150 141: ; preds = %65 %142 = landingpad { ptr, i32 } cleanup %143 = extractvalue { ptr, i32 } %142, 0 store ptr %143, ptr %14, align 8 %144 = extractvalue { ptr, i32 } %142, 1 store i32 %144, ptr %15, align 4 br label %149 145: ; preds = %66 %146 = landingpad { ptr, i32 } cleanup %147 = extractvalue { ptr, i32 } %146, 0 store ptr %147, ptr %14, align 8 %148 = extractvalue { ptr, i32 } %146, 1 store i32 %148, ptr %15, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %149 149: ; preds = %145, %141 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 br label %150 150: ; preds = %149, %137 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %151 151: ; preds = %150, %133 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 br label %152 152: ; preds = %151, %129 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %153 153: ; preds = %152, %125 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %154 154: ; preds = %153, %121 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %155 155: ; preds = %154, %117 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %156 156: ; preds = %155, %113 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %157 157: ; preds = %156, %109 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %158 158: ; preds = %157, %105 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 br label %159 159: ; preds = %158, %101 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 br label %160 160: ; preds = %159, %97 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 br label %161 161: ; preds = %160, %93 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %162 162: ; preds = %161, %89 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %163 163: ; preds = %162, %85 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %164 164: ; preds = %163, %81 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %165 165: ; preds = %164, %77 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %166 166: ; preds = %165, %73 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 br label %167 167: ; preds = %166, %69 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %168 168: ; preds = %167 %169 = load ptr, ptr %14, align 8 %170 = load i32, ptr %15, align 4 %171 = insertvalue { ptr, i32 } poison, ptr %169, 0 %172 = insertvalue { ptr, i32 } %171, i32 %170, 1 resume { ptr, i32 } %172 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT13vec_le_signedERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca %"struct.ezSAT::_V", align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca %"struct.ezSAT::_V", align 8 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca %"struct.ezSAT::_V", align 8 %25 = alloca %"struct.ezSAT::_V", align 8 %26 = alloca %"struct.ezSAT::_V", align 8 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca %"struct.ezSAT::_V", align 8 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %33 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %34 = load ptr, ptr %5, align 8, !tbaa !68 %35 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10) %36 = load i32, ptr %8, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %13, i32 noundef %36) %37 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %13) to label %38 unwind label %70 38: ; preds = %3 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %37) to label %39 unwind label %70 39: ; preds = %38 %40 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %40) to label %41 unwind label %74 41: ; preds = %39 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %42 unwind label %78 42: ; preds = %41 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %43 unwind label %82 43: ; preds = %42 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %44 unwind label %86 44: ; preds = %43 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef 0) to label %45 unwind label %90 45: ; preds = %44 %46 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %12, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19, ptr noundef %20) to label %47 unwind label %94 47: ; preds = %45 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %46) to label %48 unwind label %94 48: ; preds = %47 %49 = load i32, ptr %8, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %22, i32 noundef %49) to label %50 unwind label %98 50: ; preds = %48 %51 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %51) to label %52 unwind label %102 52: ; preds = %50 %53 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %24) to label %54 unwind label %106 54: ; preds = %52 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef %53) to label %55 unwind label %106 55: ; preds = %54 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef 0) to label %56 unwind label %110 56: ; preds = %55 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef 0) to label %57 unwind label %114 57: ; preds = %56 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef 0) to label %58 unwind label %118 58: ; preds = %57 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef 0) to label %59 unwind label %122 59: ; preds = %58 %60 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %22, ptr noundef %23, ptr noundef %25, ptr noundef %26, ptr noundef %27, ptr noundef %28) to label %61 unwind label %126 61: ; preds = %59 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef %60) to label %62 unwind label %126 62: ; preds = %61 %63 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %29, i32 noundef %63) to label %64 unwind label %130 64: ; preds = %62 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 0) to label %65 unwind label %134 65: ; preds = %64 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef 0) to label %66 unwind label %138 66: ; preds = %65 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef 0) to label %67 unwind label %142 67: ; preds = %66 %68 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %11, ptr noundef %21, ptr noundef %29, ptr noundef %30, ptr noundef %31, ptr noundef %32) to label %69 unwind label %146 69: ; preds = %67 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %68 70: ; preds = %38, %3 %71 = landingpad { ptr, i32 } cleanup %72 = extractvalue { ptr, i32 } %71, 0 store ptr %72, ptr %14, align 8 %73 = extractvalue { ptr, i32 } %71, 1 store i32 %73, ptr %15, align 4 br label %168 74: ; preds = %39 %75 = landingpad { ptr, i32 } cleanup %76 = extractvalue { ptr, i32 } %75, 0 store ptr %76, ptr %14, align 8 %77 = extractvalue { ptr, i32 } %75, 1 store i32 %77, ptr %15, align 4 br label %167 78: ; preds = %41 %79 = landingpad { ptr, i32 } cleanup %80 = extractvalue { ptr, i32 } %79, 0 store ptr %80, ptr %14, align 8 %81 = extractvalue { ptr, i32 } %79, 1 store i32 %81, ptr %15, align 4 br label %166 82: ; preds = %42 %83 = landingpad { ptr, i32 } cleanup %84 = extractvalue { ptr, i32 } %83, 0 store ptr %84, ptr %14, align 8 %85 = extractvalue { ptr, i32 } %83, 1 store i32 %85, ptr %15, align 4 br label %165 86: ; preds = %43 %87 = landingpad { ptr, i32 } cleanup %88 = extractvalue { ptr, i32 } %87, 0 store ptr %88, ptr %14, align 8 %89 = extractvalue { ptr, i32 } %87, 1 store i32 %89, ptr %15, align 4 br label %164 90: ; preds = %44 %91 = landingpad { ptr, i32 } cleanup %92 = extractvalue { ptr, i32 } %91, 0 store ptr %92, ptr %14, align 8 %93 = extractvalue { ptr, i32 } %91, 1 store i32 %93, ptr %15, align 4 br label %163 94: ; preds = %47, %45 %95 = landingpad { ptr, i32 } cleanup %96 = extractvalue { ptr, i32 } %95, 0 store ptr %96, ptr %14, align 8 %97 = extractvalue { ptr, i32 } %95, 1 store i32 %97, ptr %15, align 4 br label %162 98: ; preds = %48 %99 = landingpad { ptr, i32 } cleanup %100 = extractvalue { ptr, i32 } %99, 0 store ptr %100, ptr %14, align 8 %101 = extractvalue { ptr, i32 } %99, 1 store i32 %101, ptr %15, align 4 br label %161 102: ; preds = %50 %103 = landingpad { ptr, i32 } cleanup %104 = extractvalue { ptr, i32 } %103, 0 store ptr %104, ptr %14, align 8 %105 = extractvalue { ptr, i32 } %103, 1 store i32 %105, ptr %15, align 4 br label %160 106: ; preds = %54, %52 %107 = landingpad { ptr, i32 } cleanup %108 = extractvalue { ptr, i32 } %107, 0 store ptr %108, ptr %14, align 8 %109 = extractvalue { ptr, i32 } %107, 1 store i32 %109, ptr %15, align 4 br label %159 110: ; preds = %55 %111 = landingpad { ptr, i32 } cleanup %112 = extractvalue { ptr, i32 } %111, 0 store ptr %112, ptr %14, align 8 %113 = extractvalue { ptr, i32 } %111, 1 store i32 %113, ptr %15, align 4 br label %158 114: ; preds = %56 %115 = landingpad { ptr, i32 } cleanup %116 = extractvalue { ptr, i32 } %115, 0 store ptr %116, ptr %14, align 8 %117 = extractvalue { ptr, i32 } %115, 1 store i32 %117, ptr %15, align 4 br label %157 118: ; preds = %57 %119 = landingpad { ptr, i32 } cleanup %120 = extractvalue { ptr, i32 } %119, 0 store ptr %120, ptr %14, align 8 %121 = extractvalue { ptr, i32 } %119, 1 store i32 %121, ptr %15, align 4 br label %156 122: ; preds = %58 %123 = landingpad { ptr, i32 } cleanup %124 = extractvalue { ptr, i32 } %123, 0 store ptr %124, ptr %14, align 8 %125 = extractvalue { ptr, i32 } %123, 1 store i32 %125, ptr %15, align 4 br label %155 126: ; preds = %61, %59 %127 = landingpad { ptr, i32 } cleanup %128 = extractvalue { ptr, i32 } %127, 0 store ptr %128, ptr %14, align 8 %129 = extractvalue { ptr, i32 } %127, 1 store i32 %129, ptr %15, align 4 br label %154 130: ; preds = %62 %131 = landingpad { ptr, i32 } cleanup %132 = extractvalue { ptr, i32 } %131, 0 store ptr %132, ptr %14, align 8 %133 = extractvalue { ptr, i32 } %131, 1 store i32 %133, ptr %15, align 4 br label %153 134: ; preds = %64 %135 = landingpad { ptr, i32 } cleanup %136 = extractvalue { ptr, i32 } %135, 0 store ptr %136, ptr %14, align 8 %137 = extractvalue { ptr, i32 } %135, 1 store i32 %137, ptr %15, align 4 br label %152 138: ; preds = %65 %139 = landingpad { ptr, i32 } cleanup %140 = extractvalue { ptr, i32 } %139, 0 store ptr %140, ptr %14, align 8 %141 = extractvalue { ptr, i32 } %139, 1 store i32 %141, ptr %15, align 4 br label %151 142: ; preds = %66 %143 = landingpad { ptr, i32 } cleanup %144 = extractvalue { ptr, i32 } %143, 0 store ptr %144, ptr %14, align 8 %145 = extractvalue { ptr, i32 } %143, 1 store i32 %145, ptr %15, align 4 br label %150 146: ; preds = %67 %147 = landingpad { ptr, i32 } cleanup %148 = extractvalue { ptr, i32 } %147, 0 store ptr %148, ptr %14, align 8 %149 = extractvalue { ptr, i32 } %147, 1 store i32 %149, ptr %15, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %150 150: ; preds = %146, %142 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 br label %151 151: ; preds = %150, %138 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %152 152: ; preds = %151, %134 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 br label %153 153: ; preds = %152, %130 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %154 154: ; preds = %153, %126 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %155 155: ; preds = %154, %122 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %156 156: ; preds = %155, %118 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %157 157: ; preds = %156, %114 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %158 158: ; preds = %157, %110 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %159 159: ; preds = %158, %106 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 br label %160 160: ; preds = %159, %102 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 br label %161 161: ; preds = %160, %98 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 br label %162 162: ; preds = %161, %94 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %163 163: ; preds = %162, %90 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %164 164: ; preds = %163, %86 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %165 165: ; preds = %164, %82 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %166 166: ; preds = %165, %78 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %167 167: ; preds = %166, %74 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 br label %168 168: ; preds = %167, %70 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %169 169: ; preds = %168 %170 = load ptr, ptr %14, align 8 %171 = load i32, ptr %15, align 4 %172 = insertvalue { ptr, i32 } poison, ptr %170, 0 %173 = insertvalue { ptr, i32 } %172, i32 %171, 1 resume { ptr, i32 } %173 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT13vec_ge_signedERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca %"struct.ezSAT::_V", align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca %"struct.ezSAT::_V", align 8 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca %"struct.ezSAT::_V", align 8 %25 = alloca %"struct.ezSAT::_V", align 8 %26 = alloca %"struct.ezSAT::_V", align 8 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca %"struct.ezSAT::_V", align 8 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %33 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %34 = load ptr, ptr %5, align 8, !tbaa !68 %35 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10) %36 = load i32, ptr %8, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %13, i32 noundef %36) %37 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %13) to label %38 unwind label %69 38: ; preds = %3 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %37) to label %39 unwind label %69 39: ; preds = %38 %40 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef %40) to label %41 unwind label %73 41: ; preds = %39 %42 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %17) to label %43 unwind label %77 43: ; preds = %41 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %42) to label %44 unwind label %77 44: ; preds = %43 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %45 unwind label %81 45: ; preds = %44 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %46 unwind label %85 46: ; preds = %45 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef 0) to label %47 unwind label %89 47: ; preds = %46 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef 0) to label %48 unwind label %93 48: ; preds = %47 %49 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %12, ptr noundef %16, ptr noundef %18, ptr noundef %19, ptr noundef %20, ptr noundef %21) to label %50 unwind label %97 50: ; preds = %48 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %49) to label %51 unwind label %97 51: ; preds = %50 %52 = load i32, ptr %8, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef %52) to label %53 unwind label %101 53: ; preds = %51 %54 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %54) to label %55 unwind label %105 55: ; preds = %53 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef 0) to label %56 unwind label %109 56: ; preds = %55 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef 0) to label %57 unwind label %113 57: ; preds = %56 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef 0) to label %58 unwind label %117 58: ; preds = %57 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef 0) to label %59 unwind label %121 59: ; preds = %58 %60 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %23, ptr noundef %24, ptr noundef %25, ptr noundef %26, ptr noundef %27, ptr noundef %28) to label %61 unwind label %125 61: ; preds = %59 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %22, i32 noundef %60) to label %62 unwind label %125 62: ; preds = %61 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %29, i32 noundef 0) to label %63 unwind label %129 63: ; preds = %62 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 0) to label %64 unwind label %133 64: ; preds = %63 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef 0) to label %65 unwind label %137 65: ; preds = %64 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef 0) to label %66 unwind label %141 66: ; preds = %65 %67 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %33, ptr noundef %11, ptr noundef %22, ptr noundef %29, ptr noundef %30, ptr noundef %31, ptr noundef %32) to label %68 unwind label %145 68: ; preds = %66 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %67 69: ; preds = %38, %3 %70 = landingpad { ptr, i32 } cleanup %71 = extractvalue { ptr, i32 } %70, 0 store ptr %71, ptr %14, align 8 %72 = extractvalue { ptr, i32 } %70, 1 store i32 %72, ptr %15, align 4 br label %167 73: ; preds = %39 %74 = landingpad { ptr, i32 } cleanup %75 = extractvalue { ptr, i32 } %74, 0 store ptr %75, ptr %14, align 8 %76 = extractvalue { ptr, i32 } %74, 1 store i32 %76, ptr %15, align 4 br label %166 77: ; preds = %43, %41 %78 = landingpad { ptr, i32 } cleanup %79 = extractvalue { ptr, i32 } %78, 0 store ptr %79, ptr %14, align 8 %80 = extractvalue { ptr, i32 } %78, 1 store i32 %80, ptr %15, align 4 br label %165 81: ; preds = %44 %82 = landingpad { ptr, i32 } cleanup %83 = extractvalue { ptr, i32 } %82, 0 store ptr %83, ptr %14, align 8 %84 = extractvalue { ptr, i32 } %82, 1 store i32 %84, ptr %15, align 4 br label %164 85: ; preds = %45 %86 = landingpad { ptr, i32 } cleanup %87 = extractvalue { ptr, i32 } %86, 0 store ptr %87, ptr %14, align 8 %88 = extractvalue { ptr, i32 } %86, 1 store i32 %88, ptr %15, align 4 br label %163 89: ; preds = %46 %90 = landingpad { ptr, i32 } cleanup %91 = extractvalue { ptr, i32 } %90, 0 store ptr %91, ptr %14, align 8 %92 = extractvalue { ptr, i32 } %90, 1 store i32 %92, ptr %15, align 4 br label %162 93: ; preds = %47 %94 = landingpad { ptr, i32 } cleanup %95 = extractvalue { ptr, i32 } %94, 0 store ptr %95, ptr %14, align 8 %96 = extractvalue { ptr, i32 } %94, 1 store i32 %96, ptr %15, align 4 br label %161 97: ; preds = %50, %48 %98 = landingpad { ptr, i32 } cleanup %99 = extractvalue { ptr, i32 } %98, 0 store ptr %99, ptr %14, align 8 %100 = extractvalue { ptr, i32 } %98, 1 store i32 %100, ptr %15, align 4 br label %160 101: ; preds = %51 %102 = landingpad { ptr, i32 } cleanup %103 = extractvalue { ptr, i32 } %102, 0 store ptr %103, ptr %14, align 8 %104 = extractvalue { ptr, i32 } %102, 1 store i32 %104, ptr %15, align 4 br label %159 105: ; preds = %53 %106 = landingpad { ptr, i32 } cleanup %107 = extractvalue { ptr, i32 } %106, 0 store ptr %107, ptr %14, align 8 %108 = extractvalue { ptr, i32 } %106, 1 store i32 %108, ptr %15, align 4 br label %158 109: ; preds = %55 %110 = landingpad { ptr, i32 } cleanup %111 = extractvalue { ptr, i32 } %110, 0 store ptr %111, ptr %14, align 8 %112 = extractvalue { ptr, i32 } %110, 1 store i32 %112, ptr %15, align 4 br label %157 113: ; preds = %56 %114 = landingpad { ptr, i32 } cleanup %115 = extractvalue { ptr, i32 } %114, 0 store ptr %115, ptr %14, align 8 %116 = extractvalue { ptr, i32 } %114, 1 store i32 %116, ptr %15, align 4 br label %156 117: ; preds = %57 %118 = landingpad { ptr, i32 } cleanup %119 = extractvalue { ptr, i32 } %118, 0 store ptr %119, ptr %14, align 8 %120 = extractvalue { ptr, i32 } %118, 1 store i32 %120, ptr %15, align 4 br label %155 121: ; preds = %58 %122 = landingpad { ptr, i32 } cleanup %123 = extractvalue { ptr, i32 } %122, 0 store ptr %123, ptr %14, align 8 %124 = extractvalue { ptr, i32 } %122, 1 store i32 %124, ptr %15, align 4 br label %154 125: ; preds = %61, %59 %126 = landingpad { ptr, i32 } cleanup %127 = extractvalue { ptr, i32 } %126, 0 store ptr %127, ptr %14, align 8 %128 = extractvalue { ptr, i32 } %126, 1 store i32 %128, ptr %15, align 4 br label %153 129: ; preds = %62 %130 = landingpad { ptr, i32 } cleanup %131 = extractvalue { ptr, i32 } %130, 0 store ptr %131, ptr %14, align 8 %132 = extractvalue { ptr, i32 } %130, 1 store i32 %132, ptr %15, align 4 br label %152 133: ; preds = %63 %134 = landingpad { ptr, i32 } cleanup %135 = extractvalue { ptr, i32 } %134, 0 store ptr %135, ptr %14, align 8 %136 = extractvalue { ptr, i32 } %134, 1 store i32 %136, ptr %15, align 4 br label %151 137: ; preds = %64 %138 = landingpad { ptr, i32 } cleanup %139 = extractvalue { ptr, i32 } %138, 0 store ptr %139, ptr %14, align 8 %140 = extractvalue { ptr, i32 } %138, 1 store i32 %140, ptr %15, align 4 br label %150 141: ; preds = %65 %142 = landingpad { ptr, i32 } cleanup %143 = extractvalue { ptr, i32 } %142, 0 store ptr %143, ptr %14, align 8 %144 = extractvalue { ptr, i32 } %142, 1 store i32 %144, ptr %15, align 4 br label %149 145: ; preds = %66 %146 = landingpad { ptr, i32 } cleanup %147 = extractvalue { ptr, i32 } %146, 0 store ptr %147, ptr %14, align 8 %148 = extractvalue { ptr, i32 } %146, 1 store i32 %148, ptr %15, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %149 149: ; preds = %145, %141 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 br label %150 150: ; preds = %149, %137 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %151 151: ; preds = %150, %133 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 br label %152 152: ; preds = %151, %129 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 br label %153 153: ; preds = %152, %125 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %154 154: ; preds = %153, %121 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %155 155: ; preds = %154, %117 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %156 156: ; preds = %155, %113 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %157 157: ; preds = %156, %109 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 br label %158 158: ; preds = %157, %105 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %159 159: ; preds = %158, %101 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 br label %160 160: ; preds = %159, %97 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %161 161: ; preds = %160, %93 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %162 162: ; preds = %161, %89 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %163 163: ; preds = %162, %85 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %164 164: ; preds = %163, %81 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %165 165: ; preds = %164, %77 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %166 166: ; preds = %165, %73 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 br label %167 167: ; preds = %166, %69 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %168 168: ; preds = %167 %169 = load ptr, ptr %14, align 8 %170 = load i32, ptr %15, align 4 %171 = insertvalue { ptr, i32 } poison, ptr %169, 0 %172 = insertvalue { ptr, i32 } %171, i32 %170, 1 resume { ptr, i32 } %172 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT13vec_gt_signedERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca %"struct.ezSAT::_V", align 8 %14 = alloca %"struct.ezSAT::_V", align 8 %15 = alloca ptr, align 8 %16 = alloca i32, align 4 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca %"struct.ezSAT::_V", align 8 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca %"struct.ezSAT::_V", align 8 %25 = alloca %"struct.ezSAT::_V", align 8 %26 = alloca %"struct.ezSAT::_V", align 8 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca %"struct.ezSAT::_V", align 8 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca %"struct.ezSAT::_V", align 8 %33 = alloca %"struct.ezSAT::_V", align 8 %34 = alloca %"struct.ezSAT::_V", align 8 %35 = alloca %"struct.ezSAT::_V", align 8 %36 = alloca %"struct.ezSAT::_V", align 8 %37 = alloca %"struct.ezSAT::_V", align 8 %38 = alloca %"struct.ezSAT::_V", align 8 %39 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %40 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %41 = load ptr, ptr %5, align 8, !tbaa !68 %42 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %40, ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10) %43 = load i32, ptr %8, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %14, i32 noundef %43) %44 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %40, ptr noundef %14) to label %45 unwind label %88 45: ; preds = %3 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %13, i32 noundef %44) to label %46 unwind label %88 46: ; preds = %45 %47 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef %47) to label %48 unwind label %92 48: ; preds = %46 %49 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %40, ptr noundef %18) to label %50 unwind label %96 50: ; preds = %48 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef %49) to label %51 unwind label %96 51: ; preds = %50 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %52 unwind label %100 52: ; preds = %51 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef 0) to label %53 unwind label %104 53: ; preds = %52 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef 0) to label %54 unwind label %108 54: ; preds = %53 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %22, i32 noundef 0) to label %55 unwind label %112 55: ; preds = %54 %56 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %40, ptr noundef %13, ptr noundef %17, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22) to label %57 unwind label %116 57: ; preds = %55 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %56) to label %58 unwind label %116 58: ; preds = %57 %59 = load i32, ptr %8, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %24, i32 noundef %59) to label %60 unwind label %120 60: ; preds = %58 %61 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %25, i32 noundef %61) to label %62 unwind label %124 62: ; preds = %60 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef 0) to label %63 unwind label %128 63: ; preds = %62 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef 0) to label %64 unwind label %132 64: ; preds = %63 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef 0) to label %65 unwind label %136 65: ; preds = %64 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %29, i32 noundef 0) to label %66 unwind label %140 66: ; preds = %65 %67 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %40, ptr noundef %24, ptr noundef %25, ptr noundef %26, ptr noundef %27, ptr noundef %28, ptr noundef %29) to label %68 unwind label %144 68: ; preds = %66 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef %67) to label %69 unwind label %144 69: ; preds = %68 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 0) to label %70 unwind label %148 70: ; preds = %69 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef 0) to label %71 unwind label %152 71: ; preds = %70 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef 0) to label %72 unwind label %156 72: ; preds = %71 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 0) to label %73 unwind label %160 73: ; preds = %72 %74 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %40, ptr noundef %12, ptr noundef %23, ptr noundef %30, ptr noundef %31, ptr noundef %32, ptr noundef %33) to label %75 unwind label %164 75: ; preds = %73 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %74) to label %76 unwind label %164 76: ; preds = %75 %77 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %35, i32 noundef %77) to label %78 unwind label %168 78: ; preds = %76 %79 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %40, ptr noundef %35) to label %80 unwind label %172 80: ; preds = %78 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %34, i32 noundef %79) to label %81 unwind label %172 81: ; preds = %80 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %36, i32 noundef 0) to label %82 unwind label %176 82: ; preds = %81 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %37, i32 noundef 0) to label %83 unwind label %180 83: ; preds = %82 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %38, i32 noundef 0) to label %84 unwind label %184 84: ; preds = %83 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %39, i32 noundef 0) to label %85 unwind label %188 85: ; preds = %84 %86 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %40, ptr noundef %11, ptr noundef %34, ptr noundef %36, ptr noundef %37, ptr noundef %38, ptr noundef %39) to label %87 unwind label %192 87: ; preds = %85 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %86 88: ; preds = %45, %3 %89 = landingpad { ptr, i32 } cleanup %90 = extractvalue { ptr, i32 } %89, 0 store ptr %90, ptr %15, align 8 %91 = extractvalue { ptr, i32 } %89, 1 store i32 %91, ptr %16, align 4 br label %221 92: ; preds = %46 %93 = landingpad { ptr, i32 } cleanup %94 = extractvalue { ptr, i32 } %93, 0 store ptr %94, ptr %15, align 8 %95 = extractvalue { ptr, i32 } %93, 1 store i32 %95, ptr %16, align 4 br label %220 96: ; preds = %50, %48 %97 = landingpad { ptr, i32 } cleanup %98 = extractvalue { ptr, i32 } %97, 0 store ptr %98, ptr %15, align 8 %99 = extractvalue { ptr, i32 } %97, 1 store i32 %99, ptr %16, align 4 br label %219 100: ; preds = %51 %101 = landingpad { ptr, i32 } cleanup %102 = extractvalue { ptr, i32 } %101, 0 store ptr %102, ptr %15, align 8 %103 = extractvalue { ptr, i32 } %101, 1 store i32 %103, ptr %16, align 4 br label %218 104: ; preds = %52 %105 = landingpad { ptr, i32 } cleanup %106 = extractvalue { ptr, i32 } %105, 0 store ptr %106, ptr %15, align 8 %107 = extractvalue { ptr, i32 } %105, 1 store i32 %107, ptr %16, align 4 br label %217 108: ; preds = %53 %109 = landingpad { ptr, i32 } cleanup %110 = extractvalue { ptr, i32 } %109, 0 store ptr %110, ptr %15, align 8 %111 = extractvalue { ptr, i32 } %109, 1 store i32 %111, ptr %16, align 4 br label %216 112: ; preds = %54 %113 = landingpad { ptr, i32 } cleanup %114 = extractvalue { ptr, i32 } %113, 0 store ptr %114, ptr %15, align 8 %115 = extractvalue { ptr, i32 } %113, 1 store i32 %115, ptr %16, align 4 br label %215 116: ; preds = %57, %55 %117 = landingpad { ptr, i32 } cleanup %118 = extractvalue { ptr, i32 } %117, 0 store ptr %118, ptr %15, align 8 %119 = extractvalue { ptr, i32 } %117, 1 store i32 %119, ptr %16, align 4 br label %214 120: ; preds = %58 %121 = landingpad { ptr, i32 } cleanup %122 = extractvalue { ptr, i32 } %121, 0 store ptr %122, ptr %15, align 8 %123 = extractvalue { ptr, i32 } %121, 1 store i32 %123, ptr %16, align 4 br label %213 124: ; preds = %60 %125 = landingpad { ptr, i32 } cleanup %126 = extractvalue { ptr, i32 } %125, 0 store ptr %126, ptr %15, align 8 %127 = extractvalue { ptr, i32 } %125, 1 store i32 %127, ptr %16, align 4 br label %212 128: ; preds = %62 %129 = landingpad { ptr, i32 } cleanup %130 = extractvalue { ptr, i32 } %129, 0 store ptr %130, ptr %15, align 8 %131 = extractvalue { ptr, i32 } %129, 1 store i32 %131, ptr %16, align 4 br label %211 132: ; preds = %63 %133 = landingpad { ptr, i32 } cleanup %134 = extractvalue { ptr, i32 } %133, 0 store ptr %134, ptr %15, align 8 %135 = extractvalue { ptr, i32 } %133, 1 store i32 %135, ptr %16, align 4 br label %210 136: ; preds = %64 %137 = landingpad { ptr, i32 } cleanup %138 = extractvalue { ptr, i32 } %137, 0 store ptr %138, ptr %15, align 8 %139 = extractvalue { ptr, i32 } %137, 1 store i32 %139, ptr %16, align 4 br label %209 140: ; preds = %65 %141 = landingpad { ptr, i32 } cleanup %142 = extractvalue { ptr, i32 } %141, 0 store ptr %142, ptr %15, align 8 %143 = extractvalue { ptr, i32 } %141, 1 store i32 %143, ptr %16, align 4 br label %208 144: ; preds = %68, %66 %145 = landingpad { ptr, i32 } cleanup %146 = extractvalue { ptr, i32 } %145, 0 store ptr %146, ptr %15, align 8 %147 = extractvalue { ptr, i32 } %145, 1 store i32 %147, ptr %16, align 4 br label %207 148: ; preds = %69 %149 = landingpad { ptr, i32 } cleanup %150 = extractvalue { ptr, i32 } %149, 0 store ptr %150, ptr %15, align 8 %151 = extractvalue { ptr, i32 } %149, 1 store i32 %151, ptr %16, align 4 br label %206 152: ; preds = %70 %153 = landingpad { ptr, i32 } cleanup %154 = extractvalue { ptr, i32 } %153, 0 store ptr %154, ptr %15, align 8 %155 = extractvalue { ptr, i32 } %153, 1 store i32 %155, ptr %16, align 4 br label %205 156: ; preds = %71 %157 = landingpad { ptr, i32 } cleanup %158 = extractvalue { ptr, i32 } %157, 0 store ptr %158, ptr %15, align 8 %159 = extractvalue { ptr, i32 } %157, 1 store i32 %159, ptr %16, align 4 br label %204 160: ; preds = %72 %161 = landingpad { ptr, i32 } cleanup %162 = extractvalue { ptr, i32 } %161, 0 store ptr %162, ptr %15, align 8 %163 = extractvalue { ptr, i32 } %161, 1 store i32 %163, ptr %16, align 4 br label %203 164: ; preds = %75, %73 %165 = landingpad { ptr, i32 } cleanup %166 = extractvalue { ptr, i32 } %165, 0 store ptr %166, ptr %15, align 8 %167 = extractvalue { ptr, i32 } %165, 1 store i32 %167, ptr %16, align 4 br label %202 168: ; preds = %76 %169 = landingpad { ptr, i32 } cleanup %170 = extractvalue { ptr, i32 } %169, 0 store ptr %170, ptr %15, align 8 %171 = extractvalue { ptr, i32 } %169, 1 store i32 %171, ptr %16, align 4 br label %201 172: ; preds = %80, %78 %173 = landingpad { ptr, i32 } cleanup %174 = extractvalue { ptr, i32 } %173, 0 store ptr %174, ptr %15, align 8 %175 = extractvalue { ptr, i32 } %173, 1 store i32 %175, ptr %16, align 4 br label %200 176: ; preds = %81 %177 = landingpad { ptr, i32 } cleanup %178 = extractvalue { ptr, i32 } %177, 0 store ptr %178, ptr %15, align 8 %179 = extractvalue { ptr, i32 } %177, 1 store i32 %179, ptr %16, align 4 br label %199 180: ; preds = %82 %181 = landingpad { ptr, i32 } cleanup %182 = extractvalue { ptr, i32 } %181, 0 store ptr %182, ptr %15, align 8 %183 = extractvalue { ptr, i32 } %181, 1 store i32 %183, ptr %16, align 4 br label %198 184: ; preds = %83 %185 = landingpad { ptr, i32 } cleanup %186 = extractvalue { ptr, i32 } %185, 0 store ptr %186, ptr %15, align 8 %187 = extractvalue { ptr, i32 } %185, 1 store i32 %187, ptr %16, align 4 br label %197 188: ; preds = %84 %189 = landingpad { ptr, i32 } cleanup %190 = extractvalue { ptr, i32 } %189, 0 store ptr %190, ptr %15, align 8 %191 = extractvalue { ptr, i32 } %189, 1 store i32 %191, ptr %16, align 4 br label %196 192: ; preds = %85 %193 = landingpad { ptr, i32 } cleanup %194 = extractvalue { ptr, i32 } %193, 0 store ptr %194, ptr %15, align 8 %195 = extractvalue { ptr, i32 } %193, 1 store i32 %195, ptr %16, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #18 br label %196 196: ; preds = %192, %188 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 br label %197 197: ; preds = %196, %184 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 br label %198 198: ; preds = %197, %180 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 br label %199 199: ; preds = %198, %176 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 br label %200 200: ; preds = %199, %172 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 br label %201 201: ; preds = %200, %168 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 br label %202 202: ; preds = %201, %164 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 br label %203 203: ; preds = %202, %160 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %204 204: ; preds = %203, %156 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 br label %205 205: ; preds = %204, %152 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %206 206: ; preds = %205, %148 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %207 207: ; preds = %206, %144 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 br label %208 208: ; preds = %207, %140 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %209 209: ; preds = %208, %136 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %210 210: ; preds = %209, %132 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %211 211: ; preds = %210, %128 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #18 br label %212 212: ; preds = %211, %124 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #18 br label %213 213: ; preds = %212, %120 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 br label %214 214: ; preds = %213, %116 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 br label %215 215: ; preds = %214, %112 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %216 216: ; preds = %215, %108 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %217 217: ; preds = %216, %104 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %218 218: ; preds = %217, %100 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %219 219: ; preds = %218, %96 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %220 220: ; preds = %219, %92 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 br label %221 221: ; preds = %220, %88 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %222 222: ; preds = %221 %223 = load ptr, ptr %15, align 8 %224 = load i32, ptr %16, align 4 %225 = insertvalue { ptr, i32 } poison, ptr %223, 0 %226 = insertvalue { ptr, i32 } %225, i32 %224, 1 resume { ptr, i32 } %226 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT15vec_lt_unsignedERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %11 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %12 = load ptr, ptr %5, align 8, !tbaa !68 %13 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %11, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10) %14 = load i32, ptr %7, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %14 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT15vec_le_unsignedERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca ptr, align 8 %14 = alloca i32, align 4 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %19 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %20 = load ptr, ptr %5, align 8, !tbaa !68 %21 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %19, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10) %22 = load i32, ptr %7, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %22) %23 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %23) to label %24 unwind label %31 24: ; preds = %3 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef 0) to label %25 unwind label %35 25: ; preds = %24 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef 0) to label %26 unwind label %39 26: ; preds = %25 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %27 unwind label %43 27: ; preds = %26 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %28 unwind label %47 28: ; preds = %27 %29 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %19, ptr noundef %11, ptr noundef %12, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18) to label %30 unwind label %51 30: ; preds = %28 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %29 31: ; preds = %3 %32 = landingpad { ptr, i32 } cleanup %33 = extractvalue { ptr, i32 } %32, 0 store ptr %33, ptr %13, align 8 %34 = extractvalue { ptr, i32 } %32, 1 store i32 %34, ptr %14, align 4 br label %59 35: ; preds = %24 %36 = landingpad { ptr, i32 } cleanup %37 = extractvalue { ptr, i32 } %36, 0 store ptr %37, ptr %13, align 8 %38 = extractvalue { ptr, i32 } %36, 1 store i32 %38, ptr %14, align 4 br label %58 39: ; preds = %25 %40 = landingpad { ptr, i32 } cleanup %41 = extractvalue { ptr, i32 } %40, 0 store ptr %41, ptr %13, align 8 %42 = extractvalue { ptr, i32 } %40, 1 store i32 %42, ptr %14, align 4 br label %57 43: ; preds = %26 %44 = landingpad { ptr, i32 } cleanup %45 = extractvalue { ptr, i32 } %44, 0 store ptr %45, ptr %13, align 8 %46 = extractvalue { ptr, i32 } %44, 1 store i32 %46, ptr %14, align 4 br label %56 47: ; preds = %27 %48 = landingpad { ptr, i32 } cleanup %49 = extractvalue { ptr, i32 } %48, 0 store ptr %49, ptr %13, align 8 %50 = extractvalue { ptr, i32 } %48, 1 store i32 %50, ptr %14, align 4 br label %55 51: ; preds = %28 %52 = landingpad { ptr, i32 } cleanup %53 = extractvalue { ptr, i32 } %52, 0 store ptr %53, ptr %13, align 8 %54 = extractvalue { ptr, i32 } %52, 1 store i32 %54, ptr %14, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %55 55: ; preds = %51, %47 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %56 56: ; preds = %55, %43 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %57 57: ; preds = %56, %39 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %58 58: ; preds = %57, %35 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 br label %59 59: ; preds = %58, %31 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %60 60: ; preds = %59 %61 = load ptr, ptr %13, align 8 %62 = load i32, ptr %14, align 4 %63 = insertvalue { ptr, i32 } poison, ptr %61, 0 %64 = insertvalue { ptr, i32 } %63, i32 %62, 1 resume { ptr, i32 } %64 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT15vec_ge_unsignedERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca ptr, align 8 %13 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %14 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %15 = load ptr, ptr %5, align 8, !tbaa !68 %16 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %14, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10) %17 = load i32, ptr %7, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %17) %18 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %14, ptr noundef %11) to label %19 unwind label %20 19: ; preds = %3 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %18 20: ; preds = %3 %21 = landingpad { ptr, i32 } cleanup %22 = extractvalue { ptr, i32 } %21, 0 store ptr %22, ptr %12, align 8 %23 = extractvalue { ptr, i32 } %21, 1 store i32 %23, ptr %13, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %24 24: ; preds = %20 %25 = load ptr, ptr %12, align 8 %26 = load i32, ptr %13, align 4 %27 = insertvalue { ptr, i32 } poison, ptr %25, 0 %28 = insertvalue { ptr, i32 } %27, i32 %26, 1 resume { ptr, i32 } %28 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT15vec_gt_unsignedERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca ptr, align 8 %14 = alloca i32, align 4 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %21 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %22 = load ptr, ptr %5, align 8, !tbaa !68 %23 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_cmpERKSt6vectorIiSaIiEES4_RiS5_S5_S5_(ptr noundef nonnull align 8 dereferenceable(284) %21, ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10) %24 = load i32, ptr %7, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef %24) %25 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %21, ptr noundef %12) to label %26 unwind label %39 26: ; preds = %3 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %25) to label %27 unwind label %39 27: ; preds = %26 %28 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %28) to label %29 unwind label %43 29: ; preds = %27 %30 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %21, ptr noundef %16) to label %31 unwind label %47 31: ; preds = %29 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef %30) to label %32 unwind label %47 32: ; preds = %31 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %33 unwind label %51 33: ; preds = %32 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %34 unwind label %55 34: ; preds = %33 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef 0) to label %35 unwind label %59 35: ; preds = %34 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef 0) to label %36 unwind label %63 36: ; preds = %35 %37 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %21, ptr noundef %11, ptr noundef %15, ptr noundef %17, ptr noundef %18, ptr noundef %19, ptr noundef %20) to label %38 unwind label %67 38: ; preds = %36 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %37 39: ; preds = %26, %3 %40 = landingpad { ptr, i32 } cleanup %41 = extractvalue { ptr, i32 } %40, 0 store ptr %41, ptr %13, align 8 %42 = extractvalue { ptr, i32 } %40, 1 store i32 %42, ptr %14, align 4 br label %77 43: ; preds = %27 %44 = landingpad { ptr, i32 } cleanup %45 = extractvalue { ptr, i32 } %44, 0 store ptr %45, ptr %13, align 8 %46 = extractvalue { ptr, i32 } %44, 1 store i32 %46, ptr %14, align 4 br label %76 47: ; preds = %31, %29 %48 = landingpad { ptr, i32 } cleanup %49 = extractvalue { ptr, i32 } %48, 0 store ptr %49, ptr %13, align 8 %50 = extractvalue { ptr, i32 } %48, 1 store i32 %50, ptr %14, align 4 br label %75 51: ; preds = %32 %52 = landingpad { ptr, i32 } cleanup %53 = extractvalue { ptr, i32 } %52, 0 store ptr %53, ptr %13, align 8 %54 = extractvalue { ptr, i32 } %52, 1 store i32 %54, ptr %14, align 4 br label %74 55: ; preds = %33 %56 = landingpad { ptr, i32 } cleanup %57 = extractvalue { ptr, i32 } %56, 0 store ptr %57, ptr %13, align 8 %58 = extractvalue { ptr, i32 } %56, 1 store i32 %58, ptr %14, align 4 br label %73 59: ; preds = %34 %60 = landingpad { ptr, i32 } cleanup %61 = extractvalue { ptr, i32 } %60, 0 store ptr %61, ptr %13, align 8 %62 = extractvalue { ptr, i32 } %60, 1 store i32 %62, ptr %14, align 4 br label %72 63: ; preds = %35 %64 = landingpad { ptr, i32 } cleanup %65 = extractvalue { ptr, i32 } %64, 0 store ptr %65, ptr %13, align 8 %66 = extractvalue { ptr, i32 } %64, 1 store i32 %66, ptr %14, align 4 br label %71 67: ; preds = %36 %68 = landingpad { ptr, i32 } cleanup %69 = extractvalue { ptr, i32 } %68, 0 store ptr %69, ptr %13, align 8 %70 = extractvalue { ptr, i32 } %68, 1 store i32 %70, ptr %14, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %71 71: ; preds = %67, %63 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %72 72: ; preds = %71, %59 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %73 73: ; preds = %72, %55 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %74 74: ; preds = %73, %51 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %75 75: ; preds = %74, %47 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %76 76: ; preds = %75, %43 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 br label %77 77: ; preds = %76, %39 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %78 78: ; preds = %77 %79 = load ptr, ptr %13, align 8 %80 = load i32, ptr %14, align 4 %81 = insertvalue { ptr, i32 } poison, ptr %79, 0 %82 = insertvalue { ptr, i32 } %81, i32 %80, 1 resume { ptr, i32 } %82 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT6vec_eqERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.std::vector.14", align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %10 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %7) #18 %11 = load ptr, ptr %5, align 8, !tbaa !68 %12 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_iffERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %7, ptr noundef nonnull align 8 dereferenceable(284) %10, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %12) %13 = invoke noundef i32 @_ZN5ezSAT14vec_reduce_andERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %10, ptr noundef nonnull align 8 dereferenceable(24) %7) to label %14 unwind label %15 14: ; preds = %3 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %7) #18 ret i32 %13 15: ; preds = %3 %16 = landingpad { ptr, i32 } cleanup %17 = extractvalue { ptr, i32 } %16, 0 store ptr %17, ptr %8, align 8 %18 = extractvalue { ptr, i32 } %16, 1 store i32 %18, ptr %9, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %7) #18 br label %19 19: ; preds = %15 %20 = load ptr, ptr %8, align 8 %21 = load i32, ptr %9, align 4 %22 = insertvalue { ptr, i32 } poison, ptr %20, 0 %23 = insertvalue { ptr, i32 } %22, i32 %21, 1 resume { ptr, i32 } %23 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT14vec_reduce_andERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !68 %7 = call noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %5, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %6) ret i32 %7 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT6vec_neERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca %"struct.ezSAT::_V", align 8 %8 = alloca %"class.std::vector.14", align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %11 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %8) #18 %12 = load ptr, ptr %5, align 8, !tbaa !68 %13 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN5ezSAT7vec_iffERKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %8, ptr noundef nonnull align 8 dereferenceable(284) %11, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %13) %14 = invoke noundef i32 @_ZN5ezSAT14vec_reduce_andERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %11, ptr noundef nonnull align 8 dereferenceable(24) %8) to label %15 unwind label %19 15: ; preds = %3 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %7, i32 noundef %14) to label %16 unwind label %19 16: ; preds = %15 %17 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %11, ptr noundef %7) to label %18 unwind label %23 18: ; preds = %16 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %8) #18 ret i32 %17 19: ; preds = %15, %3 %20 = landingpad { ptr, i32 } cleanup %21 = extractvalue { ptr, i32 } %20, 0 store ptr %21, ptr %9, align 8 %22 = extractvalue { ptr, i32 } %20, 1 store i32 %22, ptr %10, align 4 br label %27 23: ; preds = %16 %24 = landingpad { ptr, i32 } cleanup %25 = extractvalue { ptr, i32 } %24, 0 store ptr %25, ptr %9, align 8 %26 = extractvalue { ptr, i32 } %24, 1 store i32 %26, ptr %10, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #18 br label %27 27: ; preds = %23, %19 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %8) #18 br label %28 28: ; preds = %27 %29 = load ptr, ptr %9, align 8 %30 = load i32, ptr %10, align 4 %31 = insertvalue { ptr, i32 } poison, ptr %29, 0 %32 = insertvalue { ptr, i32 } %31, i32 %30, 1 resume { ptr, i32 } %32 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_shlERKSt6vectorIiSaIiEEib(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef %3, i1 noundef zeroext %4) #0 align 2 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = alloca i8, align 1 %11 = alloca i1, align 1 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 store ptr %0, ptr %6, align 8 store ptr %1, ptr %7, align 8, !tbaa !6 store ptr %2, ptr %8, align 8, !tbaa !68 store i32 %3, ptr %9, align 4, !tbaa !72 %16 = zext i1 %4 to i8 store i8 %16, ptr %10, align 1, !tbaa !87 store i1 false, ptr %11, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %12) #18 store i32 0, ptr %12, align 4, !tbaa !72 br label %17 17: ; preds = %60, %5 %18 = load i32, ptr %12, align 4, !tbaa !72 %19 = load ptr, ptr %8, align 8, !tbaa !68 %20 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #18 %21 = trunc i64 %20 to i32 %22 = icmp slt i32 %18, %21 br i1 %22, label %24, label %23 23: ; preds = %17 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 br label %63 24: ; preds = %17 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 %25 = load i32, ptr %12, align 4, !tbaa !72 %26 = load i32, ptr %9, align 4, !tbaa !72 %27 = sub nsw i32 %25, %26 store i32 %27, ptr %13, align 4, !tbaa !72 %28 = load ptr, ptr %8, align 8, !tbaa !68 %29 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #18 %30 = trunc i64 %29 to i32 %31 = load i32, ptr %13, align 4, !tbaa !72 %32 = icmp sle i32 %30, %31 br i1 %32, label %33, label %47 33: ; preds = %24 %34 = load i8, ptr %10, align 1, !tbaa !87, !range !88, !noundef !89 %35 = trunc i8 %34 to i1 br i1 %35, label %36, label %39 36: ; preds = %33 %37 = load ptr, ptr %8, align 8, !tbaa !68 %38 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %37) #18 br label %40 39: ; preds = %33 br label %40 40: ; preds = %39, %36 %41 = phi ptr [ %38, %36 ], [ @_ZN5ezSAT11CONST_FALSEE, %39 ] invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %41) to label %42 unwind label %43 42: ; preds = %40 br label %59 43: ; preds = %56, %50, %40 %44 = landingpad { ptr, i32 } cleanup %45 = extractvalue { ptr, i32 } %44, 0 store ptr %45, ptr %14, align 8 %46 = extractvalue { ptr, i32 } %44, 1 store i32 %46, ptr %15, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %67 47: ; preds = %24 %48 = load i32, ptr %13, align 4, !tbaa !72 %49 = icmp sle i32 0, %48 br i1 %49, label %50, label %56 50: ; preds = %47 %51 = load ptr, ptr %8, align 8, !tbaa !68 %52 = load i32, ptr %13, align 4, !tbaa !72 %53 = sext i32 %52 to i64 %54 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %53) #18 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %54) to label %55 unwind label %43 55: ; preds = %50 br label %58 56: ; preds = %47 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) @_ZN5ezSAT11CONST_FALSEE) to label %57 unwind label %43 57: ; preds = %56 br label %58 58: ; preds = %57, %55 br label %59 59: ; preds = %58, %42 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 br label %60 60: ; preds = %59 %61 = load i32, ptr %12, align 4, !tbaa !72 %62 = add nsw i32 %61, 1 store i32 %62, ptr %12, align 4, !tbaa !72 br label %17, !llvm.loop !163 63: ; preds = %23 store i1 true, ptr %11, align 1 %64 = load i1, ptr %11, align 1 br i1 %64, label %66, label %65 65: ; preds = %63 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %66 66: ; preds = %65, %63 ret void 67: ; preds = %43 %68 = load ptr, ptr %14, align 8 %69 = load i32, ptr %15, align 4 %70 = insertvalue { ptr, i32 } poison, ptr %68, 0 %71 = insertvalue { ptr, i32 } %70, i32 %69, 1 resume { ptr, i32 } %71 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_srlERKSt6vectorIiSaIiEEi(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 %9 = alloca i1, align 1 %10 = alloca i32, align 4 %11 = alloca i32, align 4 %12 = alloca ptr, align 8 %13 = alloca i32, align 4 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !68 store i32 %3, ptr %8, align 4, !tbaa !72 store i1 false, ptr %9, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 store i32 0, ptr %10, align 4, !tbaa !72 br label %14 14: ; preds = %55, %4 %15 = load i32, ptr %10, align 4, !tbaa !72 %16 = load ptr, ptr %7, align 8, !tbaa !68 %17 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #18 %18 = trunc i64 %17 to i32 %19 = icmp slt i32 %15, %18 br i1 %19, label %21, label %20 20: ; preds = %14 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %62 21: ; preds = %14 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 %22 = load i32, ptr %10, align 4, !tbaa !72 %23 = load i32, ptr %8, align 4, !tbaa !72 %24 = sub nsw i32 %22, %23 store i32 %24, ptr %11, align 4, !tbaa !72 br label %25 25: ; preds = %28, %21 %26 = load i32, ptr %11, align 4, !tbaa !72 %27 = icmp slt i32 %26, 0 br i1 %27, label %28, label %35 28: ; preds = %25 %29 = load ptr, ptr %7, align 8, !tbaa !68 %30 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #18 %31 = load i32, ptr %11, align 4, !tbaa !72 %32 = sext i32 %31 to i64 %33 = add i64 %32, %30 %34 = trunc i64 %33 to i32 store i32 %34, ptr %11, align 4, !tbaa !72 br label %25, !llvm.loop !164 35: ; preds = %25 br label %36 36: ; preds = %42, %35 %37 = load i32, ptr %11, align 4, !tbaa !72 %38 = load ptr, ptr %7, align 8, !tbaa !68 %39 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %40 = trunc i64 %39 to i32 %41 = icmp sge i32 %37, %40 br i1 %41, label %42, label %49 42: ; preds = %36 %43 = load ptr, ptr %7, align 8, !tbaa !68 %44 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %43) #18 %45 = load i32, ptr %11, align 4, !tbaa !72 %46 = sext i32 %45 to i64 %47 = sub i64 %46, %44 %48 = trunc i64 %47 to i32 store i32 %48, ptr %11, align 4, !tbaa !72 br label %36, !llvm.loop !165 49: ; preds = %36 %50 = load ptr, ptr %7, align 8, !tbaa !68 %51 = load i32, ptr %11, align 4, !tbaa !72 %52 = sext i32 %51 to i64 %53 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %50, i64 noundef %52) #18 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %53) to label %54 unwind label %58 54: ; preds = %49 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %55 55: ; preds = %54 %56 = load i32, ptr %10, align 4, !tbaa !72 %57 = add nsw i32 %56, 1 store i32 %57, ptr %10, align 4, !tbaa !72 br label %14, !llvm.loop !166 58: ; preds = %49 %59 = landingpad { ptr, i32 } cleanup %60 = extractvalue { ptr, i32 } %59, 0 store ptr %60, ptr %12, align 8 %61 = extractvalue { ptr, i32 } %59, 1 store i32 %61, ptr %13, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %66 62: ; preds = %20 store i1 true, ptr %9, align 1 %63 = load i1, ptr %9, align 1 br i1 %63, label %65, label %64 64: ; preds = %62 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %65 65: ; preds = %64, %62 ret void 66: ; preds = %58 %67 = load ptr, ptr %12, align 8 %68 = load i32, ptr %13, align 4 %69 = insertvalue { ptr, i32 } poison, ptr %67, 0 %70 = insertvalue { ptr, i32 } %69, i32 %68, 1 resume { ptr, i32 } %70 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT9vec_shiftERKSt6vectorIiSaIiEEiii(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef %3, i32 noundef %4, i32 noundef %5) #0 align 2 personality ptr @__gxx_personality_v0 { %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca i1, align 1 %14 = alloca i32, align 4 %15 = alloca i32, align 4 %16 = alloca ptr, align 8 %17 = alloca i32, align 4 store ptr %0, ptr %7, align 8 store ptr %1, ptr %8, align 8, !tbaa !6 store ptr %2, ptr %9, align 8, !tbaa !68 store i32 %3, ptr %10, align 4, !tbaa !72 store i32 %4, ptr %11, align 4, !tbaa !72 store i32 %5, ptr %12, align 4, !tbaa !72 store i1 false, ptr %13, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %14) #18 store i32 0, ptr %14, align 4, !tbaa !72 br label %18 18: ; preds = %53, %6 %19 = load i32, ptr %14, align 4, !tbaa !72 %20 = load ptr, ptr %9, align 8, !tbaa !68 %21 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #18 %22 = trunc i64 %21 to i32 %23 = icmp slt i32 %19, %22 br i1 %23, label %25, label %24 24: ; preds = %18 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 br label %56 25: ; preds = %18 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 %26 = load i32, ptr %14, align 4, !tbaa !72 %27 = load i32, ptr %10, align 4, !tbaa !72 %28 = add nsw i32 %26, %27 store i32 %28, ptr %15, align 4, !tbaa !72 %29 = load i32, ptr %15, align 4, !tbaa !72 %30 = icmp slt i32 %29, 0 br i1 %30, label %31, label %37 31: ; preds = %25 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %12) to label %32 unwind label %33 32: ; preds = %31 br label %52 33: ; preds = %45, %43, %31 %34 = landingpad { ptr, i32 } cleanup %35 = extractvalue { ptr, i32 } %34, 0 store ptr %35, ptr %16, align 8 %36 = extractvalue { ptr, i32 } %34, 1 store i32 %36, ptr %17, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %60 37: ; preds = %25 %38 = load i32, ptr %15, align 4, !tbaa !72 %39 = load ptr, ptr %9, align 8, !tbaa !68 %40 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %39) #18 %41 = trunc i64 %40 to i32 %42 = icmp sge i32 %38, %41 br i1 %42, label %43, label %45 43: ; preds = %37 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %11) to label %44 unwind label %33 44: ; preds = %43 br label %51 45: ; preds = %37 %46 = load ptr, ptr %9, align 8, !tbaa !68 %47 = load i32, ptr %15, align 4, !tbaa !72 %48 = sext i32 %47 to i64 %49 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %48) #18 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %49) to label %50 unwind label %33 50: ; preds = %45 br label %51 51: ; preds = %50, %44 br label %52 52: ; preds = %51, %32 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %53 53: ; preds = %52 %54 = load i32, ptr %14, align 4, !tbaa !72 %55 = add nsw i32 %54, 1 store i32 %55, ptr %14, align 4, !tbaa !72 br label %18, !llvm.loop !167 56: ; preds = %24 store i1 true, ptr %13, align 1 %57 = load i1, ptr %13, align 1 br i1 %57, label %59, label %58 58: ; preds = %56 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %59 59: ; preds = %58, %56 ret void 60: ; preds = %33 %61 = load ptr, ptr %16, align 8 %62 = load i32, ptr %17, align 4 %63 = insertvalue { ptr, i32 } poison, ptr %61, 0 %64 = insertvalue { ptr, i32 } %63, i32 %62, 1 resume { ptr, i32 } %64 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT15vec_shift_rightERKSt6vectorIiSaIiEES4_bii(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3, i1 noundef zeroext %4, i32 noundef %5, i32 noundef %6) #0 align 2 personality ptr @__gxx_personality_v0 { %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca i8, align 1 %13 = alloca i32, align 4 %14 = alloca i32, align 4 %15 = alloca i32, align 4 %16 = alloca i32, align 4 %17 = alloca i32, align 4 %18 = alloca %"class.std::vector.14", align 8 %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %20 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %21 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %22 = alloca %"class.std::allocator.16", align 1 %23 = alloca ptr, align 8 %24 = alloca i32, align 4 %25 = alloca i32, align 4 %26 = alloca i32, align 4 %27 = alloca i32, align 4 %28 = alloca ptr, align 8 %29 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %30 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %31 = alloca i32, align 4 %32 = alloca %"struct.ezSAT::_V", align 8 %33 = alloca %"struct.ezSAT::_V", align 8 %34 = alloca %"struct.ezSAT::_V", align 8 %35 = alloca %"struct.ezSAT::_V", align 8 %36 = alloca %"struct.ezSAT::_V", align 8 %37 = alloca %"struct.ezSAT::_V", align 8 %38 = alloca %"struct.ezSAT::_V", align 8 %39 = alloca %"struct.ezSAT::_V", align 8 %40 = alloca %"struct.ezSAT::_V", align 8 %41 = alloca %"struct.ezSAT::_V", align 8 %42 = alloca %"struct.ezSAT::_V", align 8 %43 = alloca %"struct.ezSAT::_V", align 8 %44 = alloca %"struct.ezSAT::_V", align 8 %45 = alloca %"struct.ezSAT::_V", align 8 %46 = alloca %"struct.ezSAT::_V", align 8 %47 = alloca %"struct.ezSAT::_V", align 8 %48 = alloca %"struct.ezSAT::_V", align 8 %49 = alloca %"struct.ezSAT::_V", align 8 %50 = alloca %"struct.ezSAT::_V", align 8 %51 = alloca %"struct.ezSAT::_V", align 8 %52 = alloca %"struct.ezSAT::_V", align 8 %53 = alloca %"struct.ezSAT::_V", align 8 %54 = alloca %"struct.ezSAT::_V", align 8 %55 = alloca %"struct.ezSAT::_V", align 8 %56 = alloca %"struct.ezSAT::_V", align 8 %57 = alloca i1, align 1 %58 = alloca %"class.std::vector.14", align 8 %59 = alloca %"class.std::allocator.16", align 1 %60 = alloca %"class.std::vector.14", align 8 %61 = alloca %"class.std::allocator.16", align 1 %62 = alloca %"class.std::vector.14", align 8 %63 = alloca %"class.std::vector.14", align 8 %64 = alloca i32, align 4 %65 = alloca %"class.std::vector.14", align 8 %66 = alloca %"class.std::vector.14", align 8 %67 = alloca %"class.std::vector.14", align 8 %68 = alloca %"class.std::vector.14", align 8 store ptr %0, ptr %8, align 8 store ptr %1, ptr %9, align 8, !tbaa !6 store ptr %2, ptr %10, align 8, !tbaa !68 store ptr %3, ptr %11, align 8, !tbaa !68 %69 = zext i1 %4 to i8 store i8 %69, ptr %12, align 1, !tbaa !87 store i32 %5, ptr %13, align 4, !tbaa !72 store i32 %6, ptr %14, align 4, !tbaa !72 %70 = load ptr, ptr %9, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %16) #18 %71 = load ptr, ptr %10, align 8, !tbaa !68 %72 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %71) #18 %73 = trunc i64 %72 to i32 %74 = call noundef i32 @_ZL8my_clog2i(i32 noundef %73) %75 = load i8, ptr %12, align 1, !tbaa !87, !range !88, !noundef !89 %76 = trunc i8 %75 to i1 %77 = select i1 %76, i32 1, i32 0 %78 = add nsw i32 %74, %77 store i32 %78, ptr %16, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %17) #18 %79 = load ptr, ptr %11, align 8, !tbaa !68 %80 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %79) #18 %81 = trunc i64 %80 to i32 store i32 %81, ptr %17, align 4, !tbaa !72 %82 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %17) %83 = load i32, ptr %82, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %16) #18 store i32 %83, ptr %15, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 24, ptr %18) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %20) #18 %84 = load ptr, ptr %11, align 8, !tbaa !68 %85 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %84) #18 %86 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %20, i32 0, i32 0 store ptr %85, ptr %86, align 8 %87 = load i32, ptr %15, align 4, !tbaa !72 %88 = sext i32 %87 to i64 %89 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %20, i64 noundef %88) #18 %90 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0 store ptr %89, ptr %90, align 8 %91 = load ptr, ptr %11, align 8, !tbaa !68 %92 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %91) #18 %93 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %21, i32 0, i32 0 store ptr %92, ptr %93, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr %22) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #18 %94 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0 %95 = load ptr, ptr %94, align 8 %96 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %21, i32 0, i32 0 %97 = load ptr, ptr %96, align 8 invoke void @_ZNSt6vectorIiSaIiEEC2IN9__gnu_cxx17__normal_iteratorIPKiS1_EEvEET_S8_RKS0_(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr %95, ptr %97, ptr noundef nonnull align 1 dereferenceable(1) %22) to label %98 unwind label %111 98: ; preds = %7 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %20) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %25) #18 store i32 2, ptr %25, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %26) #18 store i32 2, ptr %26, align 4, !tbaa !72 %99 = load i8, ptr %12, align 1, !tbaa !87, !range !88, !noundef !89 %100 = trunc i8 %99 to i1 br i1 %100, label %101, label %304 101: ; preds = %98 call void @llvm.lifetime.start.p0(i64 4, ptr %27) #18 store i32 2, ptr %27, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %28) #18 store ptr %18, ptr %28, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %29) #18 %102 = load ptr, ptr %28, align 8, !tbaa !68 %103 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %102) #18 %104 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %29, i32 0, i32 0 store ptr %103, ptr %104, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %30) #18 %105 = load ptr, ptr %28, align 8, !tbaa !68 %106 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %105) #18 %107 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %30, i32 0, i32 0 store ptr %106, ptr %107, align 8 br label %108 108: ; preds = %142, %101 %109 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #18 br i1 %109, label %115, label %110 110: ; preds = %108 call void @llvm.lifetime.end.p0(i64 8, ptr %30) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %28) #18 br label %208 111: ; preds = %7 %112 = landingpad { ptr, i32 } cleanup %113 = extractvalue { ptr, i32 } %112, 0 store ptr %113, ptr %23, align 8 %114 = extractvalue { ptr, i32 } %112, 1 store i32 %114, ptr %24, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %20) #18 br label %433 115: ; preds = %108 call void @llvm.lifetime.start.p0(i64 4, ptr %31) #18 %116 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #18 %117 = load i32, ptr %116, align 4, !tbaa !72 store i32 %117, ptr %31, align 4, !tbaa !72 %118 = load i32, ptr %27, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef %118) to label %119 unwind label %144 119: ; preds = %115 %120 = load i32, ptr %31, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %34, i32 noundef %120) to label %121 unwind label %148 121: ; preds = %119 %122 = load ptr, ptr %11, align 8, !tbaa !68 %123 = load i32, ptr %15, align 4, !tbaa !72 %124 = sub nsw i32 %123, 1 %125 = sext i32 %124 to i64 %126 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %122, i64 noundef %125) #18 %127 = load i32, ptr %126, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %35, i32 noundef %127) to label %128 unwind label %152 128: ; preds = %121 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %36, i32 noundef 0) to label %129 unwind label %156 129: ; preds = %128 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %37, i32 noundef 0) to label %130 unwind label %160 130: ; preds = %129 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %38, i32 noundef 0) to label %131 unwind label %164 131: ; preds = %130 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %39, i32 noundef 0) to label %132 unwind label %168 132: ; preds = %131 %133 = invoke noundef i32 @_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %70, ptr noundef %34, ptr noundef %35, ptr noundef %36, ptr noundef %37, ptr noundef %38, ptr noundef %39) to label %134 unwind label %172 134: ; preds = %132 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef %133) to label %135 unwind label %172 135: ; preds = %134 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %40, i32 noundef 0) to label %136 unwind label %176 136: ; preds = %135 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %41, i32 noundef 0) to label %137 unwind label %180 137: ; preds = %136 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %42, i32 noundef 0) to label %138 unwind label %184 138: ; preds = %137 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %43, i32 noundef 0) to label %139 unwind label %188 139: ; preds = %138 %140 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %70, ptr noundef %32, ptr noundef %33, ptr noundef %40, ptr noundef %41, ptr noundef %42, ptr noundef %43) to label %141 unwind label %192 141: ; preds = %139 store i32 %140, ptr %27, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %31) #18 br label %142 142: ; preds = %141 %143 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #18 br label %108 144: ; preds = %115 %145 = landingpad { ptr, i32 } cleanup %146 = extractvalue { ptr, i32 } %145, 0 store ptr %146, ptr %23, align 8 %147 = extractvalue { ptr, i32 } %145, 1 store i32 %147, ptr %24, align 4 br label %207 148: ; preds = %119 %149 = landingpad { ptr, i32 } cleanup %150 = extractvalue { ptr, i32 } %149, 0 store ptr %150, ptr %23, align 8 %151 = extractvalue { ptr, i32 } %149, 1 store i32 %151, ptr %24, align 4 br label %206 152: ; preds = %121 %153 = landingpad { ptr, i32 } cleanup %154 = extractvalue { ptr, i32 } %153, 0 store ptr %154, ptr %23, align 8 %155 = extractvalue { ptr, i32 } %153, 1 store i32 %155, ptr %24, align 4 br label %205 156: ; preds = %128 %157 = landingpad { ptr, i32 } cleanup %158 = extractvalue { ptr, i32 } %157, 0 store ptr %158, ptr %23, align 8 %159 = extractvalue { ptr, i32 } %157, 1 store i32 %159, ptr %24, align 4 br label %204 160: ; preds = %129 %161 = landingpad { ptr, i32 } cleanup %162 = extractvalue { ptr, i32 } %161, 0 store ptr %162, ptr %23, align 8 %163 = extractvalue { ptr, i32 } %161, 1 store i32 %163, ptr %24, align 4 br label %203 164: ; preds = %130 %165 = landingpad { ptr, i32 } cleanup %166 = extractvalue { ptr, i32 } %165, 0 store ptr %166, ptr %23, align 8 %167 = extractvalue { ptr, i32 } %165, 1 store i32 %167, ptr %24, align 4 br label %202 168: ; preds = %131 %169 = landingpad { ptr, i32 } cleanup %170 = extractvalue { ptr, i32 } %169, 0 store ptr %170, ptr %23, align 8 %171 = extractvalue { ptr, i32 } %169, 1 store i32 %171, ptr %24, align 4 br label %201 172: ; preds = %134, %132 %173 = landingpad { ptr, i32 } cleanup %174 = extractvalue { ptr, i32 } %173, 0 store ptr %174, ptr %23, align 8 %175 = extractvalue { ptr, i32 } %173, 1 store i32 %175, ptr %24, align 4 br label %200 176: ; preds = %135 %177 = landingpad { ptr, i32 } cleanup %178 = extractvalue { ptr, i32 } %177, 0 store ptr %178, ptr %23, align 8 %179 = extractvalue { ptr, i32 } %177, 1 store i32 %179, ptr %24, align 4 br label %199 180: ; preds = %136 %181 = landingpad { ptr, i32 } cleanup %182 = extractvalue { ptr, i32 } %181, 0 store ptr %182, ptr %23, align 8 %183 = extractvalue { ptr, i32 } %181, 1 store i32 %183, ptr %24, align 4 br label %198 184: ; preds = %137 %185 = landingpad { ptr, i32 } cleanup %186 = extractvalue { ptr, i32 } %185, 0 store ptr %186, ptr %23, align 8 %187 = extractvalue { ptr, i32 } %185, 1 store i32 %187, ptr %24, align 4 br label %197 188: ; preds = %138 %189 = landingpad { ptr, i32 } cleanup %190 = extractvalue { ptr, i32 } %189, 0 store ptr %190, ptr %23, align 8 %191 = extractvalue { ptr, i32 } %189, 1 store i32 %191, ptr %24, align 4 br label %196 192: ; preds = %139 %193 = landingpad { ptr, i32 } cleanup %194 = extractvalue { ptr, i32 } %193, 0 store ptr %194, ptr %23, align 8 %195 = extractvalue { ptr, i32 } %193, 1 store i32 %195, ptr %24, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #18 br label %196 196: ; preds = %192, %188 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #18 br label %197 197: ; preds = %196, %184 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #18 br label %198 198: ; preds = %197, %180 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #18 br label %199 199: ; preds = %198, %176 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 br label %200 200: ; preds = %199, %172 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #18 br label %201 201: ; preds = %200, %168 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 br label %202 202: ; preds = %201, %164 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 br label %203 203: ; preds = %202, %160 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 br label %204 204: ; preds = %203, %156 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 br label %205 205: ; preds = %204, %152 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 br label %206 206: ; preds = %205, %148 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %207 207: ; preds = %206, %144 call void @llvm.lifetime.end.p0(i64 4, ptr %31) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %30) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %28) #18 br label %303 208: ; preds = %110 %209 = load i32, ptr %27, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %44, i32 noundef %209) to label %210 unwind label %236 210: ; preds = %208 %211 = load ptr, ptr %11, align 8, !tbaa !68 %212 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %211) #18 %213 = load i32, ptr %212, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %46, i32 noundef %213) to label %214 unwind label %240 214: ; preds = %210 %215 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %70, ptr noundef %46) to label %216 unwind label %244 216: ; preds = %214 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %45, i32 noundef %215) to label %217 unwind label %244 217: ; preds = %216 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %47, i32 noundef 0) to label %218 unwind label %248 218: ; preds = %217 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %48, i32 noundef 0) to label %219 unwind label %252 219: ; preds = %218 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %49, i32 noundef 0) to label %220 unwind label %256 220: ; preds = %219 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %50, i32 noundef 0) to label %221 unwind label %260 221: ; preds = %220 %222 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %70, ptr noundef %44, ptr noundef %45, ptr noundef %47, ptr noundef %48, ptr noundef %49, ptr noundef %50) to label %223 unwind label %264 223: ; preds = %221 store i32 %222, ptr %25, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %48) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #18 %224 = load i32, ptr %27, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %51, i32 noundef %224) to label %225 unwind label %236 225: ; preds = %223 %226 = load ptr, ptr %11, align 8, !tbaa !68 %227 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %226) #18 %228 = load i32, ptr %227, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %52, i32 noundef %228) to label %229 unwind label %274 229: ; preds = %225 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %53, i32 noundef 0) to label %230 unwind label %278 230: ; preds = %229 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %54, i32 noundef 0) to label %231 unwind label %282 231: ; preds = %230 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %55, i32 noundef 0) to label %232 unwind label %286 232: ; preds = %231 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %56, i32 noundef 0) to label %233 unwind label %290 233: ; preds = %232 %234 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %70, ptr noundef %51, ptr noundef %52, ptr noundef %53, ptr noundef %54, ptr noundef %55, ptr noundef %56) to label %235 unwind label %294 235: ; preds = %233 store i32 %234, ptr %26, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %56) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %54) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %53) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %27) #18 br label %311 236: ; preds = %223, %208 %237 = landingpad { ptr, i32 } cleanup %238 = extractvalue { ptr, i32 } %237, 0 store ptr %238, ptr %23, align 8 %239 = extractvalue { ptr, i32 } %237, 1 store i32 %239, ptr %24, align 4 br label %303 240: ; preds = %210 %241 = landingpad { ptr, i32 } cleanup %242 = extractvalue { ptr, i32 } %241, 0 store ptr %242, ptr %23, align 8 %243 = extractvalue { ptr, i32 } %241, 1 store i32 %243, ptr %24, align 4 br label %273 244: ; preds = %216, %214 %245 = landingpad { ptr, i32 } cleanup %246 = extractvalue { ptr, i32 } %245, 0 store ptr %246, ptr %23, align 8 %247 = extractvalue { ptr, i32 } %245, 1 store i32 %247, ptr %24, align 4 br label %272 248: ; preds = %217 %249 = landingpad { ptr, i32 } cleanup %250 = extractvalue { ptr, i32 } %249, 0 store ptr %250, ptr %23, align 8 %251 = extractvalue { ptr, i32 } %249, 1 store i32 %251, ptr %24, align 4 br label %271 252: ; preds = %218 %253 = landingpad { ptr, i32 } cleanup %254 = extractvalue { ptr, i32 } %253, 0 store ptr %254, ptr %23, align 8 %255 = extractvalue { ptr, i32 } %253, 1 store i32 %255, ptr %24, align 4 br label %270 256: ; preds = %219 %257 = landingpad { ptr, i32 } cleanup %258 = extractvalue { ptr, i32 } %257, 0 store ptr %258, ptr %23, align 8 %259 = extractvalue { ptr, i32 } %257, 1 store i32 %259, ptr %24, align 4 br label %269 260: ; preds = %220 %261 = landingpad { ptr, i32 } cleanup %262 = extractvalue { ptr, i32 } %261, 0 store ptr %262, ptr %23, align 8 %263 = extractvalue { ptr, i32 } %261, 1 store i32 %263, ptr %24, align 4 br label %268 264: ; preds = %221 %265 = landingpad { ptr, i32 } cleanup %266 = extractvalue { ptr, i32 } %265, 0 store ptr %266, ptr %23, align 8 %267 = extractvalue { ptr, i32 } %265, 1 store i32 %267, ptr %24, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #18 br label %268 268: ; preds = %264, %260 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #18 br label %269 269: ; preds = %268, %256 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %48) #18 br label %270 270: ; preds = %269, %252 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #18 br label %271 271: ; preds = %270, %248 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #18 br label %272 272: ; preds = %271, %244 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #18 br label %273 273: ; preds = %272, %240 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #18 br label %303 274: ; preds = %225 %275 = landingpad { ptr, i32 } cleanup %276 = extractvalue { ptr, i32 } %275, 0 store ptr %276, ptr %23, align 8 %277 = extractvalue { ptr, i32 } %275, 1 store i32 %277, ptr %24, align 4 br label %302 278: ; preds = %229 %279 = landingpad { ptr, i32 } cleanup %280 = extractvalue { ptr, i32 } %279, 0 store ptr %280, ptr %23, align 8 %281 = extractvalue { ptr, i32 } %279, 1 store i32 %281, ptr %24, align 4 br label %301 282: ; preds = %230 %283 = landingpad { ptr, i32 } cleanup %284 = extractvalue { ptr, i32 } %283, 0 store ptr %284, ptr %23, align 8 %285 = extractvalue { ptr, i32 } %283, 1 store i32 %285, ptr %24, align 4 br label %300 286: ; preds = %231 %287 = landingpad { ptr, i32 } cleanup %288 = extractvalue { ptr, i32 } %287, 0 store ptr %288, ptr %23, align 8 %289 = extractvalue { ptr, i32 } %287, 1 store i32 %289, ptr %24, align 4 br label %299 290: ; preds = %232 %291 = landingpad { ptr, i32 } cleanup %292 = extractvalue { ptr, i32 } %291, 0 store ptr %292, ptr %23, align 8 %293 = extractvalue { ptr, i32 } %291, 1 store i32 %293, ptr %24, align 4 br label %298 294: ; preds = %233 %295 = landingpad { ptr, i32 } cleanup %296 = extractvalue { ptr, i32 } %295, 0 store ptr %296, ptr %23, align 8 %297 = extractvalue { ptr, i32 } %295, 1 store i32 %297, ptr %24, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %56) #18 br label %298 298: ; preds = %294, %290 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #18 br label %299 299: ; preds = %298, %286 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %54) #18 br label %300 300: ; preds = %299, %282 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %53) #18 br label %301 301: ; preds = %300, %278 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #18 br label %302 302: ; preds = %301, %274 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #18 br label %303 303: ; preds = %302, %273, %236, %207 call void @llvm.lifetime.end.p0(i64 4, ptr %27) #18 br label %432 304: ; preds = %98 %305 = invoke noundef i32 @_ZN5ezSAT13vec_reduce_orERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %70, ptr noundef nonnull align 8 dereferenceable(24) %18) to label %306 unwind label %307 306: ; preds = %304 store i32 %305, ptr %25, align 4, !tbaa !72 br label %311 307: ; preds = %311, %304 %308 = landingpad { ptr, i32 } cleanup %309 = extractvalue { ptr, i32 } %308, 0 store ptr %309, ptr %23, align 8 %310 = extractvalue { ptr, i32 } %308, 1 store i32 %310, ptr %24, align 4 br label %432 311: ; preds = %306, %235 store i1 false, ptr %57, align 1 %312 = load ptr, ptr %10, align 8, !tbaa !68 invoke void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %312) to label %313 unwind label %307 313: ; preds = %311 %314 = load i8, ptr %12, align 1, !tbaa !87, !range !88, !noundef !89 %315 = trunc i8 %314 to i1 br i1 %315, label %316, label %333 316: ; preds = %313 br label %317 317: ; preds = %327, %316 %318 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 %319 = load ptr, ptr %10, align 8, !tbaa !68 %320 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %319) #18 %321 = load i32, ptr %15, align 4, !tbaa !72 %322 = shl i32 1, %321 %323 = sext i32 %322 to i64 %324 = add i64 %320, %323 %325 = icmp ult i64 %318, %324 br i1 %325, label %326, label %332 326: ; preds = %317 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %13) to label %327 unwind label %328 327: ; preds = %326 br label %317, !llvm.loop !168 328: ; preds = %326 %329 = landingpad { ptr, i32 } cleanup %330 = extractvalue { ptr, i32 } %329, 0 store ptr %330, ptr %23, align 8 %331 = extractvalue { ptr, i32 } %329, 1 store i32 %331, ptr %24, align 4 br label %431 332: ; preds = %317 br label %333 333: ; preds = %332, %313 call void @llvm.lifetime.start.p0(i64 24, ptr %58) #18 %334 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %59) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %334, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 1 dereferenceable(1) %59) to label %335 unwind label %347 335: ; preds = %333 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %59) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %60) #18 %336 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %61) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %60, i64 noundef %336, ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 1 dereferenceable(1) %61) to label %337 unwind label %351 337: ; preds = %335 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %61) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %62) #18 %338 = load i32, ptr %25, align 4, !tbaa !72 invoke void @_ZN5ezSAT7vec_iteEiRKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %62, ptr noundef nonnull align 8 dereferenceable(284) %70, i32 noundef %338, ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 8 dereferenceable(24) %0) to label %339 unwind label %355 339: ; preds = %337 %340 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %62) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %62) #18 %341 = load i8, ptr %12, align 1, !tbaa !87, !range !88, !noundef !89 %342 = trunc i8 %341 to i1 br i1 %342, label %343, label %363 343: ; preds = %339 call void @llvm.lifetime.start.p0(i64 24, ptr %63) #18 %344 = load i32, ptr %26, align 4, !tbaa !72 invoke void @_ZN5ezSAT7vec_iteEiRKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %63, ptr noundef nonnull align 8 dereferenceable(284) %70, i32 noundef %344, ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 8 dereferenceable(24) %0) to label %345 unwind label %359 345: ; preds = %343 %346 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %63) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %63) #18 br label %363 347: ; preds = %333 %348 = landingpad { ptr, i32 } cleanup %349 = extractvalue { ptr, i32 } %348, 0 store ptr %349, ptr %23, align 8 %350 = extractvalue { ptr, i32 } %348, 1 store i32 %350, ptr %24, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %59) #18 br label %428 351: ; preds = %335 %352 = landingpad { ptr, i32 } cleanup %353 = extractvalue { ptr, i32 } %352, 0 store ptr %353, ptr %23, align 8 %354 = extractvalue { ptr, i32 } %352, 1 store i32 %354, ptr %24, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %61) #18 br label %427 355: ; preds = %337 %356 = landingpad { ptr, i32 } cleanup %357 = extractvalue { ptr, i32 } %356, 0 store ptr %357, ptr %23, align 8 %358 = extractvalue { ptr, i32 } %356, 1 store i32 %358, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %62) #18 br label %426 359: ; preds = %343 %360 = landingpad { ptr, i32 } cleanup %361 = extractvalue { ptr, i32 } %360, 0 store ptr %361, ptr %23, align 8 %362 = extractvalue { ptr, i32 } %360, 1 store i32 %362, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %63) #18 br label %426 363: ; preds = %345, %339 call void @llvm.lifetime.start.p0(i64 4, ptr %64) #18 %364 = load i32, ptr %15, align 4, !tbaa !72 %365 = sub nsw i32 %364, 1 store i32 %365, ptr %64, align 4, !tbaa !72 br label %366 366: ; preds = %409, %363 %367 = load i32, ptr %64, align 4, !tbaa !72 %368 = icmp sge i32 %367, 0 br i1 %368, label %370, label %369 369: ; preds = %366 call void @llvm.lifetime.end.p0(i64 4, ptr %64) #18 br label %417 370: ; preds = %366 call void @llvm.lifetime.start.p0(i64 24, ptr %65) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #18 %371 = load i8, ptr %12, align 1, !tbaa !87, !range !88, !noundef !89 %372 = trunc i8 %371 to i1 br i1 %372, label %373, label %390 373: ; preds = %370 %374 = load i32, ptr %64, align 4, !tbaa !72 %375 = load i32, ptr %15, align 4, !tbaa !72 %376 = sub nsw i32 %375, 1 %377 = icmp eq i32 %374, %376 br i1 %377, label %378, label %390 378: ; preds = %373 call void @llvm.lifetime.start.p0(i64 24, ptr %66) #18 %379 = load i32, ptr %64, align 4, !tbaa !72 %380 = shl i32 1, %379 %381 = sub nsw i32 0, %380 %382 = load i32, ptr %13, align 4, !tbaa !72 %383 = load i32, ptr %14, align 4, !tbaa !72 invoke void @_ZN5ezSAT9vec_shiftERKSt6vectorIiSaIiEEiii(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %66, ptr noundef nonnull align 8 dereferenceable(284) %70, ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef %381, i32 noundef %382, i32 noundef %383) to label %384 unwind label %386 384: ; preds = %378 %385 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(24) %66) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %66) #18 br label %401 386: ; preds = %378 %387 = landingpad { ptr, i32 } cleanup %388 = extractvalue { ptr, i32 } %387, 0 store ptr %388, ptr %23, align 8 %389 = extractvalue { ptr, i32 } %387, 1 store i32 %389, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %66) #18 br label %416 390: ; preds = %373, %370 call void @llvm.lifetime.start.p0(i64 24, ptr %67) #18 %391 = load i32, ptr %64, align 4, !tbaa !72 %392 = shl i32 1, %391 %393 = load i32, ptr %13, align 4, !tbaa !72 %394 = load i32, ptr %14, align 4, !tbaa !72 invoke void @_ZN5ezSAT9vec_shiftERKSt6vectorIiSaIiEEiii(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %67, ptr noundef nonnull align 8 dereferenceable(284) %70, ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef %392, i32 noundef %393, i32 noundef %394) to label %395 unwind label %397 395: ; preds = %390 %396 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(24) %67) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %67) #18 br label %401 397: ; preds = %390 %398 = landingpad { ptr, i32 } cleanup %399 = extractvalue { ptr, i32 } %398, 0 store ptr %399, ptr %23, align 8 %400 = extractvalue { ptr, i32 } %398, 1 store i32 %400, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %67) #18 br label %416 401: ; preds = %395, %384 call void @llvm.lifetime.start.p0(i64 24, ptr %68) #18 %402 = load ptr, ptr %11, align 8, !tbaa !68 %403 = load i32, ptr %64, align 4, !tbaa !72 %404 = sext i32 %403 to i64 %405 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %402, i64 noundef %404) #18 %406 = load i32, ptr %405, align 4, !tbaa !72 invoke void @_ZN5ezSAT7vec_iteEiRKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %68, ptr noundef nonnull align 8 dereferenceable(284) %70, i32 noundef %406, ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(24) %0) to label %407 unwind label %412 407: ; preds = %401 %408 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %68) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %68) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %65) #18 br label %409 409: ; preds = %407 %410 = load i32, ptr %64, align 4, !tbaa !72 %411 = add nsw i32 %410, -1 store i32 %411, ptr %64, align 4, !tbaa !72 br label %366, !llvm.loop !169 412: ; preds = %401 %413 = landingpad { ptr, i32 } cleanup %414 = extractvalue { ptr, i32 } %413, 0 store ptr %414, ptr %23, align 8 %415 = extractvalue { ptr, i32 } %413, 1 store i32 %415, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %68) #18 br label %416 416: ; preds = %412, %397, %386 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %65) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %64) #18 br label %426 417: ; preds = %369 %418 = load ptr, ptr %10, align 8, !tbaa !68 %419 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %418) #18 invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %419) to label %420 unwind label %422 420: ; preds = %417 store i1 true, ptr %57, align 1 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %60) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %58) #18 %421 = load i1, ptr %57, align 1 br i1 %421, label %430, label %429 422: ; preds = %417 %423 = landingpad { ptr, i32 } cleanup %424 = extractvalue { ptr, i32 } %423, 0 store ptr %424, ptr %23, align 8 %425 = extractvalue { ptr, i32 } %423, 1 store i32 %425, ptr %24, align 4 br label %426 426: ; preds = %422, %416, %359, %355 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #18 br label %427 427: ; preds = %426, %351 call void @llvm.lifetime.end.p0(i64 24, ptr %60) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #18 br label %428 428: ; preds = %427, %347 call void @llvm.lifetime.end.p0(i64 24, ptr %58) #18 br label %431 429: ; preds = %420 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %430 430: ; preds = %429, %420 call void @llvm.lifetime.end.p0(i64 4, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 ret void 431: ; preds = %428, %328 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %432 432: ; preds = %431, %307, %303 call void @llvm.lifetime.end.p0(i64 4, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 br label %433 433: ; preds = %432, %111 call void @llvm.lifetime.end.p0(i64 24, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %434 434: ; preds = %433 %435 = load ptr, ptr %23, align 8 %436 = load i32, ptr %24, align 4 %437 = insertvalue { ptr, i32 } poison, ptr %435, 0 %438 = insertvalue { ptr, i32 } %437, i32 %436, 1 resume { ptr, i32 } %438 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 %6 = load ptr, ptr %5, align 8, !tbaa !100 %7 = load i32, ptr %6, align 4, !tbaa !72 %8 = load ptr, ptr %4, align 8, !tbaa !100 %9 = load i32, ptr %8, align 4, !tbaa !72 %10 = icmp slt i32 %7, %9 br i1 %10, label %11, label %13 11: ; preds = %2 %12 = load ptr, ptr %5, align 8, !tbaa !100 store ptr %12, ptr %3, align 8 br label %15 13: ; preds = %2 %14 = load ptr, ptr %4, align 8, !tbaa !100 store ptr %14, ptr %3, align 8 br label %15 15: ; preds = %13, %11 %16 = load ptr, ptr %3, align 8 ret ptr %16 } ; Function Attrs: mustprogress nounwind uwtable define internal noundef i32 @_ZL8my_clog2i(i32 noundef %0) #1 { %2 = alloca i32, align 4 %3 = alloca i32, align 4 store i32 %0, ptr %2, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %3) #18 store i32 0, ptr %3, align 4, !tbaa !72 %4 = load i32, ptr %2, align 4, !tbaa !72 %5 = add nsw i32 %4, -1 store i32 %5, ptr %2, align 4, !tbaa !72 br label %6 6: ; preds = %12, %1 %7 = load i32, ptr %2, align 4, !tbaa !72 %8 = icmp sgt i32 %7, 0 br i1 %8, label %9, label %15 9: ; preds = %6 %10 = load i32, ptr %2, align 4, !tbaa !72 %11 = ashr i32 %10, 1 store i32 %11, ptr %2, align 4, !tbaa !72 br label %12 12: ; preds = %9 %13 = load i32, ptr %3, align 4, !tbaa !72 %14 = add nsw i32 %13, 1 store i32 %14, ptr %3, align 4, !tbaa !72 br label %6, !llvm.loop !170 15: ; preds = %6 %16 = load i32, ptr %3, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %3) #18 ret i32 %16 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !102 store i64 %1, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !104 %10 = load i64, ptr %5, align 8, !tbaa !97 %11 = getelementptr inbounds i32, ptr %9, i64 %10 store ptr %11, ptr %6, align 8, !tbaa !100 call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 ret ptr %13 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEEC2IN9__gnu_cxx17__normal_iteratorIPKiS1_EEvEET_S8_RKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr %2, ptr noundef nonnull align 1 dereferenceable(1) %3) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %2, ptr %14, align 8 store ptr %0, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !95 %15 = load ptr, ptr %7, align 8 %16 = load ptr, ptr %8, align 8, !tbaa !95 call void @_ZNSt12_Vector_baseIiSaIiEEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 1 dereferenceable(1) %16) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 invoke void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E17iterator_categoryERKS9_(ptr noundef nonnull align 8 dereferenceable(8) %5) to label %17 unwind label %23 17: ; preds = %4 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 invoke void @_ZNSt6vectorIiSaIiEE19_M_range_initializeIN9__gnu_cxx17__normal_iteratorIPKiS1_EEEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr %19, ptr %21) to label %22 unwind label %23 22: ; preds = %17 ret void 23: ; preds = %17, %4 %24 = landingpad { ptr, i32 } cleanup %25 = extractvalue { ptr, i32 } %24, 0 store ptr %25, ptr %11, align 8 %26 = extractvalue { ptr, i32 } %24, 1 store i32 %26, ptr %12, align 4 call void @_ZNSt12_Vector_baseIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 br label %27 27: ; preds = %23 %28 = load ptr, ptr %11, align 8 %29 = load i32, ptr %12, align 4 %30 = insertvalue { ptr, i32 } poison, ptr %28, 0 %31 = insertvalue { ptr, i32 } %30, i32 %29, 1 resume { ptr, i32 } %31 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.std::allocator.16", align 1 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %10 = load ptr, ptr %3, align 8 %11 = load ptr, ptr %4, align 8, !tbaa !68 %12 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !68 %14 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 call void @_ZN9__gnu_cxx14__alloc_traitsISaIiEiE17_S_select_on_copyERKS1_(ptr dead_on_unwind writable sret(%"class.std::allocator.16") align 1 %5, ptr noundef nonnull align 1 dereferenceable(1) %14) invoke void @_ZNSt12_Vector_baseIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %5) to label %15 unwind label %34 15: ; preds = %2 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 %16 = load ptr, ptr %4, align 8, !tbaa !68 %17 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #18 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %17, ptr %18, align 8 %19 = load ptr, ptr %4, align 8, !tbaa !68 %20 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #18 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 store ptr %20, ptr %21, align 8 %22 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %10, i32 0, i32 0 %23 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %22, i32 0, i32 0 %24 = load ptr, ptr %23, align 8, !tbaa !81 %25 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 %30 = invoke noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E(ptr %27, ptr %29, ptr noundef %24, ptr noundef nonnull align 1 dereferenceable(1) %25) to label %31 unwind label %38 31: ; preds = %15 %32 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %10, i32 0, i32 0 %33 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %32, i32 0, i32 1 store ptr %30, ptr %33, align 8, !tbaa !82 ret void 34: ; preds = %2 %35 = landingpad { ptr, i32 } cleanup %36 = extractvalue { ptr, i32 } %35, 0 store ptr %36, ptr %6, align 8 %37 = extractvalue { ptr, i32 } %35, 1 store i32 %37, ptr %7, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 br label %42 38: ; preds = %15 %39 = landingpad { ptr, i32 } cleanup %40 = extractvalue { ptr, i32 } %39, 0 store ptr %40, ptr %6, align 8 %41 = extractvalue { ptr, i32 } %39, 1 store i32 %41, ptr %7, align 4 call void @_ZNSt12_Vector_baseIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 br label %42 42: ; preds = %38, %34 %43 = load ptr, ptr %6, align 8 %44 = load i32, ptr %7, align 4 %45 = insertvalue { ptr, i32 } poison, ptr %43, 0 %46 = insertvalue { ptr, i32 } %45, i32 %44, 1 resume { ptr, i32 } %46 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT14vec_shift_leftERKSt6vectorIiSaIiEES4_bii(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3, i1 noundef zeroext %4, i32 noundef %5, i32 noundef %6) #0 align 2 personality ptr @__gxx_personality_v0 { %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca i8, align 1 %13 = alloca i32, align 4 %14 = alloca i32, align 4 %15 = alloca i32, align 4 %16 = alloca i32, align 4 %17 = alloca i32, align 4 %18 = alloca %"class.std::vector.14", align 8 %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %20 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %21 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %22 = alloca %"class.std::allocator.16", align 1 %23 = alloca ptr, align 8 %24 = alloca i32, align 4 %25 = alloca i32, align 4 %26 = alloca i1, align 1 %27 = alloca %"class.std::vector.14", align 8 %28 = alloca %"class.std::allocator.16", align 1 %29 = alloca %"class.std::vector.14", align 8 %30 = alloca i32, align 4 %31 = alloca %"class.std::vector.14", align 8 %32 = alloca %"class.std::vector.14", align 8 %33 = alloca %"class.std::vector.14", align 8 store ptr %0, ptr %8, align 8 store ptr %1, ptr %9, align 8, !tbaa !6 store ptr %2, ptr %10, align 8, !tbaa !68 store ptr %3, ptr %11, align 8, !tbaa !68 %34 = zext i1 %4 to i8 store i8 %34, ptr %12, align 1, !tbaa !87 store i32 %5, ptr %13, align 4, !tbaa !72 store i32 %6, ptr %14, align 4, !tbaa !72 %35 = load ptr, ptr %9, align 8 %36 = load i8, ptr %12, align 1, !tbaa !87, !range !88, !noundef !89 %37 = trunc i8 %36 to i1 br i1 %37, label %38, label %39 38: ; preds = %7 br label %39 39: ; preds = %38, %7 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %16) #18 %40 = load ptr, ptr %10, align 8, !tbaa !68 %41 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %40) #18 %42 = trunc i64 %41 to i32 %43 = call noundef i32 @_ZL8my_clog2i(i32 noundef %42) store i32 %43, ptr %16, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %17) #18 %44 = load ptr, ptr %11, align 8, !tbaa !68 %45 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %44) #18 %46 = trunc i64 %45 to i32 store i32 %46, ptr %17, align 4, !tbaa !72 %47 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %17) %48 = load i32, ptr %47, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %16) #18 store i32 %48, ptr %15, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 24, ptr %18) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %20) #18 %49 = load ptr, ptr %11, align 8, !tbaa !68 %50 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %49) #18 %51 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %20, i32 0, i32 0 store ptr %50, ptr %51, align 8 %52 = load i32, ptr %15, align 4, !tbaa !72 %53 = sext i32 %52 to i64 %54 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %20, i64 noundef %53) #18 %55 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0 store ptr %54, ptr %55, align 8 %56 = load ptr, ptr %11, align 8, !tbaa !68 %57 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %56) #18 %58 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %21, i32 0, i32 0 store ptr %57, ptr %58, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr %22) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #18 %59 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %19, i32 0, i32 0 %60 = load ptr, ptr %59, align 8 %61 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %21, i32 0, i32 0 %62 = load ptr, ptr %61, align 8 invoke void @_ZNSt6vectorIiSaIiEEC2IN9__gnu_cxx17__normal_iteratorIPKiS1_EEvEET_S8_RKS0_(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr %60, ptr %62, ptr noundef nonnull align 1 dereferenceable(1) %22) to label %63 unwind label %78 63: ; preds = %39 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %20) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %25) #18 %64 = invoke noundef i32 @_ZN5ezSAT13vec_reduce_orERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %35, ptr noundef nonnull align 8 dereferenceable(24) %18) to label %65 unwind label %82 65: ; preds = %63 store i32 %64, ptr %25, align 4, !tbaa !72 store i1 false, ptr %26, align 1 %66 = load ptr, ptr %10, align 8, !tbaa !68 invoke void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %66) to label %67 unwind label %82 67: ; preds = %65 call void @llvm.lifetime.start.p0(i64 24, ptr %27) #18 %68 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %28) #18 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #18 invoke void @_ZNSt6vectorIiSaIiEEC2EmRKiRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef %68, ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 1 dereferenceable(1) %28) to label %69 unwind label %86 69: ; preds = %67 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %28) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %29) #18 %70 = load i32, ptr %25, align 4, !tbaa !72 invoke void @_ZN5ezSAT7vec_iteEiRKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %29, ptr noundef nonnull align 8 dereferenceable(284) %35, i32 noundef %70, ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %0) to label %71 unwind label %90 71: ; preds = %69 %72 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %29) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %29) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %30) #18 store i32 0, ptr %30, align 4, !tbaa !72 br label %73 73: ; preds = %109, %71 %74 = load i32, ptr %30, align 4, !tbaa !72 %75 = load i32, ptr %15, align 4, !tbaa !72 %76 = icmp slt i32 %74, %75 br i1 %76, label %94, label %77 77: ; preds = %73 call void @llvm.lifetime.end.p0(i64 4, ptr %30) #18 br label %121 78: ; preds = %39 %79 = landingpad { ptr, i32 } cleanup %80 = extractvalue { ptr, i32 } %79, 0 store ptr %80, ptr %23, align 8 %81 = extractvalue { ptr, i32 } %79, 1 store i32 %81, ptr %24, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %20) #18 br label %135 82: ; preds = %65, %63 %83 = landingpad { ptr, i32 } cleanup %84 = extractvalue { ptr, i32 } %83, 0 store ptr %84, ptr %23, align 8 %85 = extractvalue { ptr, i32 } %83, 1 store i32 %85, ptr %24, align 4 br label %134 86: ; preds = %67 %87 = landingpad { ptr, i32 } cleanup %88 = extractvalue { ptr, i32 } %87, 0 store ptr %88, ptr %23, align 8 %89 = extractvalue { ptr, i32 } %87, 1 store i32 %89, ptr %24, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %28) #18 br label %131 90: ; preds = %69 %91 = landingpad { ptr, i32 } cleanup %92 = extractvalue { ptr, i32 } %91, 0 store ptr %92, ptr %23, align 8 %93 = extractvalue { ptr, i32 } %91, 1 store i32 %93, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %29) #18 br label %130 94: ; preds = %73 call void @llvm.lifetime.start.p0(i64 24, ptr %31) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %32) #18 %95 = load i32, ptr %30, align 4, !tbaa !72 %96 = shl i32 1, %95 %97 = sub nsw i32 0, %96 %98 = load i32, ptr %13, align 4, !tbaa !72 %99 = load i32, ptr %14, align 4, !tbaa !72 invoke void @_ZN5ezSAT9vec_shiftERKSt6vectorIiSaIiEEiii(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %32, ptr noundef nonnull align 8 dereferenceable(284) %35, ptr noundef nonnull align 8 dereferenceable(24) %0, i32 noundef %97, i32 noundef %98, i32 noundef %99) to label %100 unwind label %112 100: ; preds = %94 %101 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %32) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %32) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %33) #18 %102 = load ptr, ptr %11, align 8, !tbaa !68 %103 = load i32, ptr %30, align 4, !tbaa !72 %104 = sext i32 %103 to i64 %105 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %102, i64 noundef %104) #18 %106 = load i32, ptr %105, align 4, !tbaa !72 invoke void @_ZN5ezSAT7vec_iteEiRKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %33, ptr noundef nonnull align 8 dereferenceable(284) %35, i32 noundef %106, ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %0) to label %107 unwind label %116 107: ; preds = %100 %108 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %33) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %33) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %31) #18 br label %109 109: ; preds = %107 %110 = load i32, ptr %30, align 4, !tbaa !72 %111 = add nsw i32 %110, 1 store i32 %111, ptr %30, align 4, !tbaa !72 br label %73, !llvm.loop !171 112: ; preds = %94 %113 = landingpad { ptr, i32 } cleanup %114 = extractvalue { ptr, i32 } %113, 0 store ptr %114, ptr %23, align 8 %115 = extractvalue { ptr, i32 } %113, 1 store i32 %115, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %32) #18 br label %120 116: ; preds = %100 %117 = landingpad { ptr, i32 } cleanup %118 = extractvalue { ptr, i32 } %117, 0 store ptr %118, ptr %23, align 8 %119 = extractvalue { ptr, i32 } %117, 1 store i32 %119, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %33) #18 br label %120 120: ; preds = %116, %112 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %31) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %30) #18 br label %130 121: ; preds = %77 %122 = load ptr, ptr %10, align 8, !tbaa !68 %123 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %122) #18 invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %123) to label %124 unwind label %126 124: ; preds = %121 store i1 true, ptr %26, align 1 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %27) #18 %125 = load i1, ptr %26, align 1 br i1 %125, label %133, label %132 126: ; preds = %121 %127 = landingpad { ptr, i32 } cleanup %128 = extractvalue { ptr, i32 } %127, 0 store ptr %128, ptr %23, align 8 %129 = extractvalue { ptr, i32 } %127, 1 store i32 %129, ptr %24, align 4 br label %130 130: ; preds = %126, %120, %90 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #18 br label %131 131: ; preds = %130, %86 call void @llvm.lifetime.end.p0(i64 24, ptr %27) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %134 132: ; preds = %124 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %133 133: ; preds = %132, %124 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 ret void 134: ; preds = %131, %82 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 br label %135 135: ; preds = %134, %78 call void @llvm.lifetime.end.p0(i64 24, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %136 136: ; preds = %135 %137 = load ptr, ptr %23, align 8 %138 = load i32, ptr %24, align 4 %139 = insertvalue { ptr, i32 } poison, ptr %137, 0 %140 = insertvalue { ptr, i32 } %139, i32 %138, 1 resume { ptr, i32 } %140 } ; Function Attrs: mustprogress uwtable define void @_ZNK5ezSAT10vec_appendERSt6vectorIiSaIiEERKS2_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %11 = load ptr, ptr %6, align 8, !tbaa !68 store ptr %11, ptr %7, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %12 = load ptr, ptr %7, align 8, !tbaa !68 %13 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %13, ptr %14, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %15 = load ptr, ptr %7, align 8, !tbaa !68 %16 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 store ptr %16, ptr %17, align 8 br label %18 18: ; preds = %25, %3 %19 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #18 br i1 %19, label %21, label %20 20: ; preds = %18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %27 21: ; preds = %18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %22 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %23 = load i32, ptr %22, align 4, !tbaa !72 store i32 %23, ptr %10, align 4, !tbaa !72 %24 = load ptr, ptr %5, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 4 dereferenceable(4) %10) call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %25 25: ; preds = %21 %26 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 br label %18 27: ; preds = %20 ret void } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT17vec_append_signedERSt6vectorIiSaIiEERKS2_l(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i64, align 8 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca ptr, align 8 %13 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !6 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !68 store i64 %3, ptr %8, align 8, !tbaa !97 %14 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 store i32 0, ptr %9, align 4, !tbaa !72 br label %15 15: ; preds = %50, %4 %16 = load i32, ptr %9, align 4, !tbaa !72 %17 = load ptr, ptr %7, align 8, !tbaa !68 %18 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %19 = trunc i64 %18 to i32 %20 = icmp slt i32 %16, %19 br i1 %20, label %22, label %21 21: ; preds = %15 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %53 22: ; preds = %15 %23 = load i64, ptr %8, align 8, !tbaa !97 %24 = load i32, ptr %9, align 4, !tbaa !72 %25 = zext i32 %24 to i64 %26 = ashr i64 %23, %25 %27 = and i64 %26, 1 %28 = icmp ne i64 %27, 0 br i1 %28, label %29, label %35 29: ; preds = %22 %30 = load ptr, ptr %6, align 8, !tbaa !68 %31 = load ptr, ptr %7, align 8, !tbaa !68 %32 = load i32, ptr %9, align 4, !tbaa !72 %33 = sext i32 %32 to i64 %34 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %33) #18 call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 4 dereferenceable(4) %34) br label %49 35: ; preds = %22 %36 = load ptr, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %37 = load ptr, ptr %7, align 8, !tbaa !68 %38 = load i32, ptr %9, align 4, !tbaa !72 %39 = sext i32 %38 to i64 %40 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %39) #18 %41 = load i32, ptr %40, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %41) %42 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %14, ptr noundef %11) to label %43 unwind label %45 43: ; preds = %35 store i32 %42, ptr %10, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 4 dereferenceable(4) %10) to label %44 unwind label %45 44: ; preds = %43 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %49 45: ; preds = %43, %35 %46 = landingpad { ptr, i32 } cleanup %47 = extractvalue { ptr, i32 } %46, 0 store ptr %47, ptr %12, align 8 %48 = extractvalue { ptr, i32 } %46, 1 store i32 %48, ptr %13, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %54 49: ; preds = %44, %29 br label %50 50: ; preds = %49 %51 = load i32, ptr %9, align 4, !tbaa !72 %52 = add nsw i32 %51, 1 store i32 %52, ptr %9, align 4, !tbaa !72 br label %15, !llvm.loop !172 53: ; preds = %21 ret void 54: ; preds = %45 %55 = load ptr, ptr %12, align 8 %56 = load i32, ptr %13, align 4 %57 = insertvalue { ptr, i32 } poison, ptr %55, 0 %58 = insertvalue { ptr, i32 } %57, i32 %56, 1 resume { ptr, i32 } %58 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT19vec_append_unsignedERSt6vectorIiSaIiEERKS2_m(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i64 noundef %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i64, align 8 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca ptr, align 8 %13 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !6 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !68 store i64 %3, ptr %8, align 8, !tbaa !97 %14 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 store i32 0, ptr %9, align 4, !tbaa !72 br label %15 15: ; preds = %50, %4 %16 = load i32, ptr %9, align 4, !tbaa !72 %17 = load ptr, ptr %7, align 8, !tbaa !68 %18 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %19 = trunc i64 %18 to i32 %20 = icmp slt i32 %16, %19 br i1 %20, label %22, label %21 21: ; preds = %15 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %53 22: ; preds = %15 %23 = load i64, ptr %8, align 8, !tbaa !97 %24 = load i32, ptr %9, align 4, !tbaa !72 %25 = zext i32 %24 to i64 %26 = lshr i64 %23, %25 %27 = and i64 %26, 1 %28 = icmp ne i64 %27, 0 br i1 %28, label %29, label %35 29: ; preds = %22 %30 = load ptr, ptr %6, align 8, !tbaa !68 %31 = load ptr, ptr %7, align 8, !tbaa !68 %32 = load i32, ptr %9, align 4, !tbaa !72 %33 = sext i32 %32 to i64 %34 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %33) #18 call void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 4 dereferenceable(4) %34) br label %49 35: ; preds = %22 %36 = load ptr, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 %37 = load ptr, ptr %7, align 8, !tbaa !68 %38 = load i32, ptr %9, align 4, !tbaa !72 %39 = sext i32 %38 to i64 %40 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %39) #18 %41 = load i32, ptr %40, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef %41) %42 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %14, ptr noundef %11) to label %43 unwind label %45 43: ; preds = %35 store i32 %42, ptr %10, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 4 dereferenceable(4) %10) to label %44 unwind label %45 44: ; preds = %43 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %49 45: ; preds = %43, %35 %46 = landingpad { ptr, i32 } cleanup %47 = extractvalue { ptr, i32 } %46, 0 store ptr %47, ptr %12, align 8 %48 = extractvalue { ptr, i32 } %46, 1 store i32 %48, ptr %13, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %54 49: ; preds = %44, %29 br label %50 50: ; preds = %49 %51 = load i32, ptr %9, align 4, !tbaa !72 %52 = add nsw i32 %51, 1 store i32 %52, ptr %9, align 4, !tbaa !72 br label %15, !llvm.loop !173 53: ; preds = %21 ret void 54: ; preds = %45 %55 = load ptr, ptr %12, align 8 %56 = load i32, ptr %13, align 4 %57 = insertvalue { ptr, i32 } poison, ptr %55, 0 %58 = insertvalue { ptr, i32 } %57, i32 %56, 1 resume { ptr, i32 } %58 } ; Function Attrs: mustprogress uwtable define noundef i64 @_ZNK5ezSAT20vec_model_get_signedERKSt6vectorIiSaIiEERKS0_IbSaIbEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i64, align 8 %10 = alloca %"class.std::map.34", align 8 %11 = alloca i32, align 4 %12 = alloca ptr, align 8 %13 = alloca i32, align 4 %14 = alloca i32, align 4 %15 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !6 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !138 store ptr %3, ptr %8, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 store i64 0, ptr %9, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 48, ptr %10) #18 call void @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 store i32 0, ptr %11, align 4, !tbaa !72 br label %16 16: ; preds = %36, %4 %17 = load i32, ptr %11, align 4, !tbaa !72 %18 = load ptr, ptr %6, align 8, !tbaa !68 %19 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 %20 = trunc i64 %19 to i32 %21 = icmp slt i32 %17, %20 br i1 %21, label %23, label %22 22: ; preds = %16 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %43 23: ; preds = %16 %24 = load ptr, ptr %7, align 8, !tbaa !138 %25 = load i32, ptr %11, align 4, !tbaa !72 %26 = sext i32 %25 to i64 %27 = invoke noundef zeroext i1 @_ZNKSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %24, i64 noundef %26) to label %28 unwind label %39 28: ; preds = %23 %29 = load ptr, ptr %6, align 8, !tbaa !68 %30 = load i32, ptr %11, align 4, !tbaa !72 %31 = sext i32 %30 to i64 %32 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %31) #18 %33 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 4 dereferenceable(4) %32) to label %34 unwind label %39 34: ; preds = %28 %35 = zext i1 %27 to i8 store i8 %35, ptr %33, align 1, !tbaa !87 br label %36 36: ; preds = %34 %37 = load i32, ptr %11, align 4, !tbaa !72 %38 = add nsw i32 %37, 1 store i32 %38, ptr %11, align 4, !tbaa !72 br label %16, !llvm.loop !174 39: ; preds = %28, %23 %40 = landingpad { ptr, i32 } cleanup %41 = extractvalue { ptr, i32 } %40, 0 store ptr %41, ptr %12, align 8 %42 = extractvalue { ptr, i32 } %40, 1 store i32 %42, ptr %13, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %88 43: ; preds = %22 call void @llvm.lifetime.start.p0(i64 4, ptr %14) #18 store i32 0, ptr %14, align 4, !tbaa !72 br label %44 44: ; preds = %83, %43 %45 = load i32, ptr %14, align 4, !tbaa !72 %46 = icmp slt i32 %45, 64 br i1 %46, label %48, label %47 47: ; preds = %44 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 br label %86 48: ; preds = %44 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 %49 = load i32, ptr %14, align 4, !tbaa !72 %50 = load ptr, ptr %8, align 8, !tbaa !68 %51 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %50) #18 %52 = trunc i64 %51 to i32 %53 = icmp slt i32 %49, %52 br i1 %53, label %54, label %57 54: ; preds = %48 %55 = load i32, ptr %14, align 4, !tbaa !72 %56 = sext i32 %55 to i64 br label %61 57: ; preds = %48 %58 = load ptr, ptr %8, align 8, !tbaa !68 %59 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %58) #18 %60 = sub i64 %59, 1 br label %61 61: ; preds = %57, %54 %62 = phi i64 [ %56, %54 ], [ %60, %57 ] %63 = trunc i64 %62 to i32 store i32 %63, ptr %15, align 4, !tbaa !72 %64 = load ptr, ptr %8, align 8, !tbaa !68 %65 = load i32, ptr %15, align 4, !tbaa !72 %66 = sext i32 %65 to i64 %67 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %64, i64 noundef %66) #18 %68 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE2atERS3_(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 4 dereferenceable(4) %67) to label %69 unwind label %78 69: ; preds = %61 %70 = load i8, ptr %68, align 1, !tbaa !87, !range !88, !noundef !89 %71 = trunc i8 %70 to i1 br i1 %71, label %72, label %82 72: ; preds = %69 %73 = load i32, ptr %14, align 4, !tbaa !72 %74 = zext i32 %73 to i64 %75 = shl i64 1, %74 %76 = load i64, ptr %9, align 8, !tbaa !97 %77 = or i64 %76, %75 store i64 %77, ptr %9, align 8, !tbaa !97 br label %82 78: ; preds = %61 %79 = landingpad { ptr, i32 } cleanup %80 = extractvalue { ptr, i32 } %79, 0 store ptr %80, ptr %12, align 8 %81 = extractvalue { ptr, i32 } %79, 1 store i32 %81, ptr %13, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 br label %88 82: ; preds = %72, %69 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %83 83: ; preds = %82 %84 = load i32, ptr %14, align 4, !tbaa !72 %85 = add nsw i32 %84, 1 store i32 %85, ptr %14, align 4, !tbaa !72 br label %44, !llvm.loop !175 86: ; preds = %47 %87 = load i64, ptr %9, align 8, !tbaa !97 call void @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #18 call void @llvm.lifetime.end.p0(i64 48, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret i64 %87 88: ; preds = %78, %39 call void @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #18 call void @llvm.lifetime.end.p0(i64 48, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 br label %89 89: ; preds = %88 %90 = load ptr, ptr %12, align 8 %91 = load i32, ptr %13, align 4 %92 = insertvalue { ptr, i32 } poison, ptr %90, 0 %93 = insertvalue { ptr, i32 } %92, i32 %91, 1 resume { ptr, i32 } %93 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !176 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map.34", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZNKSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca %"struct.std::_Bit_const_iterator", align 8 %6 = alloca { ptr, i32 }, align 8 store ptr %0, ptr %3, align 8, !tbaa !138 store i64 %1, ptr %4, align 8, !tbaa !97 %7 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr %5) #18 %8 = call { ptr, i32 } @_ZNKSt6vectorIbSaIbEE5beginEv(ptr noundef nonnull align 8 dereferenceable(40) %7) #18 store { ptr, i32 } %8, ptr %6, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 12, i1 false) %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = call noundef zeroext i1 @_ZNKSt19_Bit_const_iteratorixEl(ptr noundef nonnull align 8 dereferenceable(12) %5, i64 noundef %9) call void @llvm.lifetime.end.p0(i64 16, ptr %5) #18 ret i1 %10 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %6 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %7 = alloca %"struct.std::less.50", align 1 %8 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %9 = alloca %"struct.std::_Rb_tree_const_iterator.71", align 8 %10 = alloca %"class.std::tuple.72", align 8 %11 = alloca %"class.std::tuple.59", align 1 store ptr %0, ptr %3, align 8, !tbaa !176 store ptr %1, ptr %4, align 8, !tbaa !100 %12 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !100 %14 = call ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE11lower_boundERS3_(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 4 dereferenceable(4) %13) %15 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %5, i32 0, i32 0 store ptr %14, ptr %15, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %16 = call ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #18 %17 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %6, i32 0, i32 0 store ptr %16, ptr %17, align 8 %18 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKibEES5_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 br i1 %18, label %24, label %19 19: ; preds = %2 call void @_ZNKSt3mapIibSt4lessIiESaISt4pairIKibEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %12) %20 = load ptr, ptr %4, align 8, !tbaa !100 %21 = call noundef nonnull align 4 dereferenceable(5) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKibEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %22 = getelementptr inbounds nuw %"struct.std::pair.54", ptr %21, i32 0, i32 0 %23 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 4 dereferenceable(4) %20, ptr noundef nonnull align 4 dereferenceable(4) %22) br label %24 24: ; preds = %19, %2 %25 = phi i1 [ true, %2 ], [ %23, %19 ] call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br i1 %25, label %26, label %33 26: ; preds = %24 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %27 = getelementptr inbounds nuw %"class.std::map.34", ptr %12, i32 0, i32 0 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKibEEC2ERKSt17_Rb_tree_iteratorIS2_E(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %5) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %28 = load ptr, ptr %4, align 8, !tbaa !100 call void @_ZNSt5tupleIJRKiEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS1_EEEbE4typeELb1EEES1_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 4 dereferenceable(4) %28) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %11) #18 %29 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.71", ptr %9, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = call ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEESt17_Rb_tree_iteratorIS2_ESt23_Rb_tree_const_iteratorIS2_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %27, ptr %30, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt19piecewise_construct, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 1 dereferenceable(1) %11) %32 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 store ptr %31, ptr %32, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 call void @llvm.lifetime.end.p0(i64 1, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 br label %33 33: ; preds = %26, %24 %34 = call noundef nonnull align 4 dereferenceable(5) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKibEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %35 = getelementptr inbounds nuw %"struct.std::pair.54", ptr %34, i32 0, i32 1 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret ptr %35 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE2atERS3_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %6 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %7 = alloca %"struct.std::less.50", align 1 store ptr %0, ptr %3, align 8, !tbaa !176 store ptr %1, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %9 = load ptr, ptr %4, align 8, !tbaa !100 %10 = call ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE11lower_boundERS3_(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef nonnull align 4 dereferenceable(4) %9) %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %5, i32 0, i32 0 store ptr %10, ptr %11, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %12 = call ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %13 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %6, i32 0, i32 0 store ptr %12, ptr %13, align 8 %14 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKibEES5_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 br i1 %14, label %20, label %15 15: ; preds = %2 call void @_ZNKSt3mapIibSt4lessIiESaISt4pairIKibEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %8) %16 = load ptr, ptr %4, align 8, !tbaa !100 %17 = call noundef nonnull align 4 dereferenceable(5) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKibEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %18 = getelementptr inbounds nuw %"struct.std::pair.54", ptr %17, i32 0, i32 0 %19 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %18) br label %20 20: ; preds = %15, %2 %21 = phi i1 [ true, %2 ], [ %19, %15 ] call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br i1 %21, label %22, label %23 22: ; preds = %20 call void @_ZSt20__throw_out_of_rangePKc(ptr noundef @.str.54) #19 unreachable 23: ; preds = %20 %24 = call noundef nonnull align 4 dereferenceable(5) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKibEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %25 = getelementptr inbounds nuw %"struct.std::pair.54", ptr %24, i32 0, i32 1 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret ptr %25 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !176 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map.34", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress uwtable define noundef i64 @_ZNK5ezSAT22vec_model_get_unsignedERKSt6vectorIiSaIiEERKS0_IbSaIbEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i64, align 8 %10 = alloca %"class.std::map.34", align 8 %11 = alloca i32, align 4 %12 = alloca ptr, align 8 %13 = alloca i32, align 4 %14 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !6 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !138 store ptr %3, ptr %8, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 store i64 0, ptr %9, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 48, ptr %10) #18 call void @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 store i32 0, ptr %11, align 4, !tbaa !72 br label %15 15: ; preds = %35, %4 %16 = load i32, ptr %11, align 4, !tbaa !72 %17 = load ptr, ptr %6, align 8, !tbaa !68 %18 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %19 = trunc i64 %18 to i32 %20 = icmp slt i32 %16, %19 br i1 %20, label %22, label %21 21: ; preds = %15 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %42 22: ; preds = %15 %23 = load ptr, ptr %7, align 8, !tbaa !138 %24 = load i32, ptr %11, align 4, !tbaa !72 %25 = sext i32 %24 to i64 %26 = invoke noundef zeroext i1 @_ZNKSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %23, i64 noundef %25) to label %27 unwind label %38 27: ; preds = %22 %28 = load ptr, ptr %6, align 8, !tbaa !68 %29 = load i32, ptr %11, align 4, !tbaa !72 %30 = sext i32 %29 to i64 %31 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %30) #18 %32 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 4 dereferenceable(4) %31) to label %33 unwind label %38 33: ; preds = %27 %34 = zext i1 %26 to i8 store i8 %34, ptr %32, align 1, !tbaa !87 br label %35 35: ; preds = %33 %36 = load i32, ptr %11, align 4, !tbaa !72 %37 = add nsw i32 %36, 1 store i32 %37, ptr %11, align 4, !tbaa !72 br label %15, !llvm.loop !178 38: ; preds = %27, %22 %39 = landingpad { ptr, i32 } cleanup %40 = extractvalue { ptr, i32 } %39, 0 store ptr %40, ptr %12, align 8 %41 = extractvalue { ptr, i32 } %39, 1 store i32 %41, ptr %13, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %75 42: ; preds = %21 call void @llvm.lifetime.start.p0(i64 4, ptr %14) #18 store i32 0, ptr %14, align 4, !tbaa !72 br label %43 43: ; preds = %70, %42 %44 = load i32, ptr %14, align 4, !tbaa !72 %45 = load ptr, ptr %8, align 8, !tbaa !68 %46 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #18 %47 = trunc i64 %46 to i32 %48 = icmp slt i32 %44, %47 br i1 %48, label %50, label %49 49: ; preds = %43 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 br label %73 50: ; preds = %43 %51 = load ptr, ptr %8, align 8, !tbaa !68 %52 = load i32, ptr %14, align 4, !tbaa !72 %53 = sext i32 %52 to i64 %54 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %53) #18 %55 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE2atERS3_(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 4 dereferenceable(4) %54) to label %56 unwind label %65 56: ; preds = %50 %57 = load i8, ptr %55, align 1, !tbaa !87, !range !88, !noundef !89 %58 = trunc i8 %57 to i1 br i1 %58, label %59, label %69 59: ; preds = %56 %60 = load i32, ptr %14, align 4, !tbaa !72 %61 = zext i32 %60 to i64 %62 = shl i64 1, %61 %63 = load i64, ptr %9, align 8, !tbaa !97 %64 = or i64 %63, %62 store i64 %64, ptr %9, align 8, !tbaa !97 br label %69 65: ; preds = %50 %66 = landingpad { ptr, i32 } cleanup %67 = extractvalue { ptr, i32 } %66, 0 store ptr %67, ptr %12, align 8 %68 = extractvalue { ptr, i32 } %66, 1 store i32 %68, ptr %13, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 br label %75 69: ; preds = %59, %56 br label %70 70: ; preds = %69 %71 = load i32, ptr %14, align 4, !tbaa !72 %72 = add nsw i32 %71, 1 store i32 %72, ptr %14, align 4, !tbaa !72 br label %43, !llvm.loop !179 73: ; preds = %49 %74 = load i64, ptr %9, align 8, !tbaa !97 call void @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #18 call void @llvm.lifetime.end.p0(i64 48, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret i64 %74 75: ; preds = %65, %38 call void @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #18 call void @llvm.lifetime.end.p0(i64 48, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 br label %76 76: ; preds = %75 %77 = load ptr, ptr %12, align 8 %78 = load i32, ptr %13, align 4 %79 = insertvalue { ptr, i32 } poison, ptr %77, 0 %80 = insertvalue { ptr, i32 } %79, i32 %78, 1 resume { ptr, i32 } %80 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT7vec_setERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca %"struct.ezSAT::_V", align 8 %9 = alloca %"struct.ezSAT::_V", align 8 %10 = alloca ptr, align 8 %11 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %12 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 store i32 0, ptr %7, align 4, !tbaa !72 br label %13 13: ; preds = %33, %3 %14 = load i32, ptr %7, align 4, !tbaa !72 %15 = load ptr, ptr %5, align 8, !tbaa !68 %16 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %17 = trunc i64 %16 to i32 %18 = icmp slt i32 %14, %17 br i1 %18, label %20, label %19 19: ; preds = %13 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %45 20: ; preds = %13 %21 = load ptr, ptr %5, align 8, !tbaa !68 %22 = load i32, ptr %7, align 4, !tbaa !72 %23 = sext i32 %22 to i64 %24 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %23) #18 %25 = load i32, ptr %24, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %8, i32 noundef %25) %26 = load ptr, ptr %6, align 8, !tbaa !68 %27 = load i32, ptr %7, align 4, !tbaa !72 %28 = sext i32 %27 to i64 %29 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef %28) #18 %30 = load i32, ptr %29, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %9, i32 noundef %30) to label %31 unwind label %36 31: ; preds = %20 invoke void @_ZN5ezSAT3SETENS_2_VES0_(ptr noundef nonnull align 8 dereferenceable(284) %12, ptr noundef %8, ptr noundef %9) to label %32 unwind label %40 32: ; preds = %31 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %9) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %8) #18 br label %33 33: ; preds = %32 %34 = load i32, ptr %7, align 4, !tbaa !72 %35 = add nsw i32 %34, 1 store i32 %35, ptr %7, align 4, !tbaa !72 br label %13, !llvm.loop !180 36: ; preds = %20 %37 = landingpad { ptr, i32 } cleanup %38 = extractvalue { ptr, i32 } %37, 0 store ptr %38, ptr %10, align 8 %39 = extractvalue { ptr, i32 } %37, 1 store i32 %39, ptr %11, align 4 br label %44 40: ; preds = %31 %41 = landingpad { ptr, i32 } cleanup %42 = extractvalue { ptr, i32 } %41, 0 store ptr %42, ptr %10, align 8 %43 = extractvalue { ptr, i32 } %41, 1 store i32 %43, ptr %11, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %9) #18 br label %44 44: ; preds = %40, %36 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %46 45: ; preds = %19 ret void 46: ; preds = %44 %47 = load ptr, ptr %10, align 8 %48 = load i32, ptr %11, align 4 %49 = insertvalue { ptr, i32 } poison, ptr %47, 0 %50 = insertvalue { ptr, i32 } %49, i32 %48, 1 resume { ptr, i32 } %50 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZN5ezSAT3SETENS_2_VES0_(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1, ptr noundef %2) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca %"struct.ezSAT::_V", align 8 %8 = alloca %"struct.ezSAT::_V", align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca %"struct.ezSAT::_V", align 8 %12 = alloca %"struct.ezSAT::_V", align 8 %13 = alloca %"struct.ezSAT::_V", align 8 %14 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !107 store ptr %2, ptr %6, align 8, !tbaa !107 %15 = load ptr, ptr %4, align 8 %16 = call noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef %15) call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %7, i32 noundef %16) %17 = invoke noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %2, ptr noundef %15) to label %18 unwind label %27 18: ; preds = %3 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %8, i32 noundef %17) to label %19 unwind label %27 19: ; preds = %18 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %11, i32 noundef 0) to label %20 unwind label %31 20: ; preds = %19 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %12, i32 noundef 0) to label %21 unwind label %35 21: ; preds = %20 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %13, i32 noundef 0) to label %22 unwind label %39 22: ; preds = %21 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %14, i32 noundef 0) to label %23 unwind label %43 23: ; preds = %22 %24 = invoke noundef i32 @_ZN5ezSAT3IFFENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %15, ptr noundef %7, ptr noundef %8, ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %14) to label %25 unwind label %47 25: ; preds = %23 invoke void @_ZN5ezSAT6assumeEi(ptr noundef nonnull align 8 dereferenceable(284) %15, i32 noundef %24) to label %26 unwind label %47 26: ; preds = %25 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %8) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #18 ret void 27: ; preds = %18, %3 %28 = landingpad { ptr, i32 } cleanup %29 = extractvalue { ptr, i32 } %28, 0 store ptr %29, ptr %9, align 8 %30 = extractvalue { ptr, i32 } %28, 1 store i32 %30, ptr %10, align 4 br label %55 31: ; preds = %19 %32 = landingpad { ptr, i32 } cleanup %33 = extractvalue { ptr, i32 } %32, 0 store ptr %33, ptr %9, align 8 %34 = extractvalue { ptr, i32 } %32, 1 store i32 %34, ptr %10, align 4 br label %54 35: ; preds = %20 %36 = landingpad { ptr, i32 } cleanup %37 = extractvalue { ptr, i32 } %36, 0 store ptr %37, ptr %9, align 8 %38 = extractvalue { ptr, i32 } %36, 1 store i32 %38, ptr %10, align 4 br label %53 39: ; preds = %21 %40 = landingpad { ptr, i32 } cleanup %41 = extractvalue { ptr, i32 } %40, 0 store ptr %41, ptr %9, align 8 %42 = extractvalue { ptr, i32 } %40, 1 store i32 %42, ptr %10, align 4 br label %52 43: ; preds = %22 %44 = landingpad { ptr, i32 } cleanup %45 = extractvalue { ptr, i32 } %44, 0 store ptr %45, ptr %9, align 8 %46 = extractvalue { ptr, i32 } %44, 1 store i32 %46, ptr %10, align 4 br label %51 47: ; preds = %25, %23 %48 = landingpad { ptr, i32 } cleanup %49 = extractvalue { ptr, i32 } %48, 0 store ptr %49, ptr %9, align 8 %50 = extractvalue { ptr, i32 } %48, 1 store i32 %50, ptr %10, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %51 51: ; preds = %47, %43 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 br label %52 52: ; preds = %51, %39 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #18 br label %53 53: ; preds = %52, %35 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #18 br label %54 54: ; preds = %53, %31 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %8) #18 br label %55 55: ; preds = %54, %27 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #18 br label %56 56: ; preds = %55 %57 = load ptr, ptr %9, align 8 %58 = load i32, ptr %10, align 4 %59 = insertvalue { ptr, i32 } poison, ptr %57, 0 %60 = insertvalue { ptr, i32 } %59, i32 %58, 1 resume { ptr, i32 } %60 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT14vec_set_signedERKSt6vectorIiSaIiEEl(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 %7 = alloca i32, align 4 %8 = alloca %"struct.ezSAT::_V", align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store i64 %2, ptr %6, align 8, !tbaa !97 %11 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 store i32 0, ptr %7, align 4, !tbaa !72 br label %12 12: ; preds = %46, %3 %13 = load i32, ptr %7, align 4, !tbaa !72 %14 = load ptr, ptr %5, align 8, !tbaa !68 %15 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %16 = trunc i64 %15 to i32 %17 = icmp slt i32 %13, %16 br i1 %17, label %19, label %18 18: ; preds = %12 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %49 19: ; preds = %12 %20 = load i64, ptr %6, align 8, !tbaa !97 %21 = load i32, ptr %7, align 4, !tbaa !72 %22 = zext i32 %21 to i64 %23 = ashr i64 %20, %22 %24 = and i64 %23, 1 %25 = icmp ne i64 %24, 0 br i1 %25, label %26, label %32 26: ; preds = %19 %27 = load ptr, ptr %5, align 8, !tbaa !68 %28 = load i32, ptr %7, align 4, !tbaa !72 %29 = sext i32 %28 to i64 %30 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef %29) #18 %31 = load i32, ptr %30, align 4, !tbaa !72 call void @_ZN5ezSAT6assumeEi(ptr noundef nonnull align 8 dereferenceable(284) %11, i32 noundef %31) br label %45 32: ; preds = %19 %33 = load ptr, ptr %5, align 8, !tbaa !68 %34 = load i32, ptr %7, align 4, !tbaa !72 %35 = sext i32 %34 to i64 %36 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef %35) #18 %37 = load i32, ptr %36, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %8, i32 noundef %37) %38 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %11, ptr noundef %8) to label %39 unwind label %41 39: ; preds = %32 invoke void @_ZN5ezSAT6assumeEi(ptr noundef nonnull align 8 dereferenceable(284) %11, i32 noundef %38) to label %40 unwind label %41 40: ; preds = %39 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %8) #18 br label %45 41: ; preds = %39, %32 %42 = landingpad { ptr, i32 } cleanup %43 = extractvalue { ptr, i32 } %42, 0 store ptr %43, ptr %9, align 8 %44 = extractvalue { ptr, i32 } %42, 1 store i32 %44, ptr %10, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %50 45: ; preds = %40, %26 br label %46 46: ; preds = %45 %47 = load i32, ptr %7, align 4, !tbaa !72 %48 = add nsw i32 %47, 1 store i32 %48, ptr %7, align 4, !tbaa !72 br label %12, !llvm.loop !181 49: ; preds = %18 ret void 50: ; preds = %41 %51 = load ptr, ptr %9, align 8 %52 = load i32, ptr %10, align 4 %53 = insertvalue { ptr, i32 } poison, ptr %51, 0 %54 = insertvalue { ptr, i32 } %53, i32 %52, 1 resume { ptr, i32 } %54 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT16vec_set_unsignedERKSt6vectorIiSaIiEEm(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 %7 = alloca i32, align 4 %8 = alloca %"struct.ezSAT::_V", align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 store i64 %2, ptr %6, align 8, !tbaa !97 %11 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 store i32 0, ptr %7, align 4, !tbaa !72 br label %12 12: ; preds = %46, %3 %13 = load i32, ptr %7, align 4, !tbaa !72 %14 = load ptr, ptr %5, align 8, !tbaa !68 %15 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %16 = trunc i64 %15 to i32 %17 = icmp slt i32 %13, %16 br i1 %17, label %19, label %18 18: ; preds = %12 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %49 19: ; preds = %12 %20 = load i64, ptr %6, align 8, !tbaa !97 %21 = load i32, ptr %7, align 4, !tbaa !72 %22 = zext i32 %21 to i64 %23 = lshr i64 %20, %22 %24 = and i64 %23, 1 %25 = icmp ne i64 %24, 0 br i1 %25, label %26, label %32 26: ; preds = %19 %27 = load ptr, ptr %5, align 8, !tbaa !68 %28 = load i32, ptr %7, align 4, !tbaa !72 %29 = sext i32 %28 to i64 %30 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %27, i64 noundef %29) #18 %31 = load i32, ptr %30, align 4, !tbaa !72 call void @_ZN5ezSAT6assumeEi(ptr noundef nonnull align 8 dereferenceable(284) %11, i32 noundef %31) br label %45 32: ; preds = %19 %33 = load ptr, ptr %5, align 8, !tbaa !68 %34 = load i32, ptr %7, align 4, !tbaa !72 %35 = sext i32 %34 to i64 %36 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef %35) #18 %37 = load i32, ptr %36, align 4, !tbaa !72 call void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %8, i32 noundef %37) %38 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %11, ptr noundef %8) to label %39 unwind label %41 39: ; preds = %32 invoke void @_ZN5ezSAT6assumeEi(ptr noundef nonnull align 8 dereferenceable(284) %11, i32 noundef %38) to label %40 unwind label %41 40: ; preds = %39 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %8) #18 br label %45 41: ; preds = %39, %32 %42 = landingpad { ptr, i32 } cleanup %43 = extractvalue { ptr, i32 } %42, 0 store ptr %43, ptr %9, align 8 %44 = extractvalue { ptr, i32 } %42, 1 store i32 %44, ptr %10, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %50 45: ; preds = %40, %26 br label %46 46: ; preds = %45 %47 = load i32, ptr %7, align 4, !tbaa !72 %48 = add nsw i32 %47, 1 store i32 %48, ptr %7, align 4, !tbaa !72 br label %12, !llvm.loop !182 49: ; preds = %18 ret void 50: ; preds = %41 %51 = load ptr, ptr %9, align 8 %52 = load i32, ptr %10, align 4 %53 = insertvalue { ptr, i32 } poison, ptr %51, 0 %54 = insertvalue { ptr, i32 } %53, i32 %52, 1 resume { ptr, i32 } %54 } ; Function Attrs: mustprogress uwtable define { ptr, i32 } @_ZN5ezSAT3bitENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1) #0 align 2 personality ptr @__gxx_personality_v0 { %3 = alloca %struct.ezSATbit, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca %"struct.ezSAT::_V", align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !107 %9 = load ptr, ptr %4, align 8 call void @_ZN5ezSAT2_VC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(40) %6, ptr noundef nonnull align 8 dereferenceable(40) %1) invoke void @_ZN8ezSATbitC2ER5ezSATNS0_2_VE(ptr noundef nonnull align 8 dereferenceable(12) %3, ptr noundef nonnull align 8 dereferenceable(284) %9, ptr noundef %6) to label %10 unwind label %12 10: ; preds = %2 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %6) #18 %11 = load { ptr, i32 }, ptr %3, align 8 ret { ptr, i32 } %11 12: ; preds = %2 %13 = landingpad { ptr, i32 } cleanup %14 = extractvalue { ptr, i32 } %13, 0 store ptr %14, ptr %7, align 8 %15 = extractvalue { ptr, i32 } %13, 1 store i32 %15, ptr %8, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %6) #18 br label %16 16: ; preds = %12 %17 = load ptr, ptr %7, align 8 %18 = load i32, ptr %8, align 4 %19 = insertvalue { ptr, i32 } poison, ptr %17, 0 %20 = insertvalue { ptr, i32 } %19, i32 %18, 1 resume { ptr, i32 } %20 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZN5ezSAT2_VC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(40) %1) unnamed_addr #5 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !107 store ptr %1, ptr %4, align 8, !tbaa !107 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !107 %8 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %7, i32 0, i32 0 %9 = load i32, ptr %8, align 8, !tbaa !109 store i32 %9, ptr %6, align 8, !tbaa !109 %10 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %5, i32 0, i32 1 %11 = load ptr, ptr %4, align 8, !tbaa !107 %12 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %11, i32 0, i32 1 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) %12) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZN8ezSATbitC2ER5ezSATNS0_2_VE(ptr noundef nonnull align 8 dereferenceable(12) %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef %2) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca %"struct.ezSAT::_V", align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !183 store ptr %1, ptr %5, align 8, !tbaa !6 store ptr %2, ptr %6, align 8, !tbaa !107 %10 = load ptr, ptr %4, align 8 %11 = getelementptr inbounds nuw %struct.ezSATbit, ptr %10, i32 0, i32 0 %12 = load ptr, ptr %5, align 8, !tbaa !6 store ptr %12, ptr %11, align 8, !tbaa !6 %13 = getelementptr inbounds nuw %struct.ezSATbit, ptr %10, i32 0, i32 1 %14 = load ptr, ptr %5, align 8, !tbaa !6 call void @_ZN5ezSAT2_VC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(40) %7, ptr noundef nonnull align 8 dereferenceable(40) %2) %15 = invoke noundef i32 @_ZN5ezSAT3VARENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %14, ptr noundef %7) to label %16 unwind label %17 16: ; preds = %3 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #18 store i32 %15, ptr %13, align 8, !tbaa !185 ret void 17: ; preds = %3 %18 = landingpad { ptr, i32 } cleanup %19 = extractvalue { ptr, i32 } %18, 0 store ptr %19, ptr %8, align 8 %20 = extractvalue { ptr, i32 } %18, 1 store i32 %20, ptr %9, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #18 br label %21 21: ; preds = %17 %22 = load ptr, ptr %8, align 8 %23 = load i32, ptr %9, align 4 %24 = insertvalue { ptr, i32 } poison, ptr %22, 0 %25 = insertvalue { ptr, i32 } %24, i32 %23, 1 resume { ptr, i32 } %25 } ; Function Attrs: mustprogress uwtable define void @_ZN5ezSAT3vecERKSt6vectorIiSaIiEE(ptr dead_on_unwind noalias writable sret(%struct.ezSATvec) align 8 %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8 store ptr %1, ptr %5, align 8, !tbaa !6 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %5, align 8 %8 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZN8ezSATvecC2ER5ezSATRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(284) %7, ptr noundef nonnull align 8 dereferenceable(24) %8) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZN8ezSATvecC2ER5ezSATRKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(284) %1, ptr noundef nonnull align 8 dereferenceable(24) %2) unnamed_addr #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !187 store ptr %1, ptr %5, align 8, !tbaa !6 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %struct.ezSATvec, ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !6 store ptr %9, ptr %8, align 8, !tbaa !6 %10 = getelementptr inbounds nuw %struct.ezSATvec, ptr %7, i32 0, i32 1 %11 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11) ret void } ; Function Attrs: mustprogress uwtable define void @_ZNK5ezSAT11printDIMACSEP8_IO_FILEb(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1, i1 noundef zeroext %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i8, align 1 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca %"class.std::vector.19", align 8 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca ptr, align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %17 = alloca ptr, align 8 %18 = alloca i32, align 4 %19 = alloca i32, align 4 %20 = alloca ptr, align 8 %21 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %22 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %23 = alloca i32, align 4 %24 = alloca ptr, align 8 %25 = alloca ptr, align 8 %26 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %27 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %28 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !119 %29 = zext i1 %2 to i8 store i8 %29, ptr %6, align 1, !tbaa !87 %30 = load ptr, ptr %4, align 8 %31 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 9 %32 = load i8, ptr %31, align 8, !tbaa !55, !range !88, !noundef !89 %33 = trunc i8 %32 to i1 br i1 %33, label %34, label %37 34: ; preds = %3 %35 = load ptr, ptr @stderr, align 8, !tbaa !119 %36 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35, ptr noundef @.str.16) #18 call void @abort() #20 unreachable 37: ; preds = %3 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 %38 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 11 %39 = load i32, ptr %38, align 4, !tbaa !56 %40 = sitofp i32 %39 to float %41 = call float @log10f(float noundef %40) #18, !tbaa !72 %42 = fpext float %41 to double %43 = call double @llvm.ceil.f64(double %42) %44 = fadd double %43, 2.000000e+00 %45 = fptosi double %44 to i32 store i32 %45, ptr %7, align 4, !tbaa !72 %46 = load ptr, ptr %5, align 8, !tbaa !119 %47 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %46, ptr noundef @.str.17) #18 %48 = load i8, ptr %6, align 1, !tbaa !87, !range !88, !noundef !89 %49 = trunc i8 %48 to i1 br i1 %49, label %50, label %138 50: ; preds = %37 %51 = load ptr, ptr %5, align 8, !tbaa !119 %52 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %51, ptr noundef @.str.18) #18 %53 = load ptr, ptr %5, align 8, !tbaa !119 %54 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %53, ptr noundef @.str.19) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 store i32 0, ptr %8, align 4, !tbaa !72 br label %55 55: ; preds = %84, %50 %56 = load i32, ptr %8, align 4, !tbaa !72 %57 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 14 %58 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %57) #18 %59 = trunc i64 %58 to i32 %60 = icmp slt i32 %56, %59 br i1 %60, label %62, label %61 61: ; preds = %55 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 br label %87 62: ; preds = %55 %63 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 14 %64 = load i32, ptr %8, align 4, !tbaa !72 %65 = sext i32 %64 to i64 %66 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %65) #18 %67 = load i32, ptr %66, align 4, !tbaa !72 %68 = icmp ne i32 %67, 0 br i1 %68, label %69, label %83 69: ; preds = %62 %70 = load ptr, ptr %5, align 8, !tbaa !119 %71 = load i32, ptr %7, align 4, !tbaa !72 %72 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 14 %73 = load i32, ptr %8, align 4, !tbaa !72 %74 = sext i32 %73 to i64 %75 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %74) #18 %76 = load i32, ptr %75, align 4, !tbaa !72 %77 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 6 %78 = load i32, ptr %8, align 4, !tbaa !72 %79 = sext i32 %78 to i64 %80 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %79) #18 %81 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %80) #18 %82 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %70, ptr noundef @.str.20, i32 noundef %71, i32 noundef %76, ptr noundef %81) #18 br label %83 83: ; preds = %69, %62 br label %84 84: ; preds = %83 %85 = load i32, ptr %8, align 4, !tbaa !72 %86 = add nsw i32 %85, 1 store i32 %86, ptr %8, align 4, !tbaa !72 br label %55, !llvm.loop !189 87: ; preds = %61 %88 = load ptr, ptr %5, align 8, !tbaa !119 %89 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %88, ptr noundef @.str.18) #18 %90 = load ptr, ptr %5, align 8, !tbaa !119 %91 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %90, ptr noundef @.str.21) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 store i32 0, ptr %9, align 4, !tbaa !72 br label %92 92: ; preds = %119, %87 %93 = load i32, ptr %9, align 4, !tbaa !72 %94 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 15 %95 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %94) #18 %96 = trunc i64 %95 to i32 %97 = icmp slt i32 %93, %96 br i1 %97, label %99, label %98 98: ; preds = %92 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %122 99: ; preds = %92 %100 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 15 %101 = load i32, ptr %9, align 4, !tbaa !72 %102 = sext i32 %101 to i64 %103 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %100, i64 noundef %102) #18 %104 = load i32, ptr %103, align 4, !tbaa !72 %105 = icmp ne i32 %104, 0 br i1 %105, label %106, label %118 106: ; preds = %99 %107 = load ptr, ptr %5, align 8, !tbaa !119 %108 = load i32, ptr %7, align 4, !tbaa !72 %109 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 15 %110 = load i32, ptr %9, align 4, !tbaa !72 %111 = sext i32 %110 to i64 %112 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %109, i64 noundef %111) #18 %113 = load i32, ptr %112, align 4, !tbaa !72 %114 = load i32, ptr %9, align 4, !tbaa !72 %115 = sub nsw i32 0, %114 %116 = sub nsw i32 %115, 1 %117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %107, ptr noundef @.str.22, i32 noundef %108, i32 noundef %113, i32 noundef %116) #18 br label %118 118: ; preds = %106, %99 br label %119 119: ; preds = %118 %120 = load i32, ptr %9, align 4, !tbaa !72 %121 = add nsw i32 %120, 1 store i32 %121, ptr %9, align 4, !tbaa !72 br label %92, !llvm.loop !190 122: ; preds = %98 %123 = call noundef zeroext i1 @_ZNK5ezSAT13mode_keep_cnfEv(ptr noundef nonnull align 8 dereferenceable(284) %30) br i1 %123, label %124, label %135 124: ; preds = %122 %125 = load ptr, ptr %5, align 8, !tbaa !119 %126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %125, ptr noundef @.str.18) #18 %127 = load ptr, ptr %5, align 8, !tbaa !119 %128 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 17 %129 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %128) #18 %130 = trunc i64 %129 to i32 %131 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 16 %132 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %131) #18 %133 = trunc i64 %132 to i32 %134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef @.str.23, i32 noundef %130, i32 noundef %133) #18 br label %135 135: ; preds = %124, %122 %136 = load ptr, ptr %5, align 8, !tbaa !119 %137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %136, ptr noundef @.str.18) #18 br label %138 138: ; preds = %135, %37 call void @llvm.lifetime.start.p0(i64 24, ptr %10) #18 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 invoke void @_ZNK5ezSAT10getFullCnfERSt6vectorIS0_IiSaIiEESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(284) %30, ptr noundef nonnull align 8 dereferenceable(24) %10) to label %139 unwind label %155 139: ; preds = %138 %140 = load ptr, ptr %5, align 8, !tbaa !119 %141 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 11 %142 = load i32, ptr %141, align 4, !tbaa !56 %143 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 12 %144 = load i32, ptr %143, align 8, !tbaa !57 %145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %140, ptr noundef @.str.24, i32 noundef %142, i32 noundef %144) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 store i32 0, ptr %13, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 store ptr %10, ptr %14, align 8, !tbaa !69 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 %146 = load ptr, ptr %14, align 8, !tbaa !69 %147 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %146) #18 %148 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %15, i32 0, i32 0 store ptr %147, ptr %148, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 %149 = load ptr, ptr %14, align 8, !tbaa !69 %150 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %149) #18 %151 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %16, i32 0, i32 0 store ptr %150, ptr %151, align 8 br label %152 152: ; preds = %167, %139 %153 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #18 br i1 %153, label %159, label %154 154: ; preds = %152 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 br label %173 155: ; preds = %138 %156 = landingpad { ptr, i32 } cleanup %157 = extractvalue { ptr, i32 } %156, 0 store ptr %157, ptr %11, align 8 %158 = extractvalue { ptr, i32 } %156, 1 store i32 %158, ptr %12, align 4 br label %244 159: ; preds = %152 call void @llvm.lifetime.start.p0(i64 8, ptr %17) #18 %160 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #18 store ptr %160, ptr %17, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 4, ptr %18) #18 %161 = load ptr, ptr %17, align 8, !tbaa !68 %162 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %161) #18 %163 = trunc i64 %162 to i32 store i32 %163, ptr %18, align 4, !tbaa !72 %164 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %13) to label %165 unwind label %169 165: ; preds = %159 %166 = load i32, ptr %164, align 4, !tbaa !72 store i32 %166, ptr %13, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %17) #18 br label %167 167: ; preds = %165 %168 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #18 br label %152 169: ; preds = %159 %170 = landingpad { ptr, i32 } cleanup %171 = extractvalue { ptr, i32 } %170, 0 store ptr %171, ptr %11, align 8 %172 = extractvalue { ptr, i32 } %170, 1 store i32 %172, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %17) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 br label %243 173: ; preds = %154 %174 = load i8, ptr %6, align 1, !tbaa !87, !range !88, !noundef !89 %175 = trunc i8 %174 to i1 br i1 %175, label %184, label %176 176: ; preds = %173 call void @llvm.lifetime.start.p0(i64 4, ptr %19) #18 store i32 3, ptr %19, align 4, !tbaa !72 %177 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %19) to label %178 unwind label %180 178: ; preds = %176 %179 = load i32, ptr %177, align 4, !tbaa !72 store i32 %179, ptr %13, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %184 180: ; preds = %176 %181 = landingpad { ptr, i32 } cleanup %182 = extractvalue { ptr, i32 } %181, 0 store ptr %182, ptr %11, align 8 %183 = extractvalue { ptr, i32 } %181, 1 store i32 %183, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %243 184: ; preds = %178, %173 call void @llvm.lifetime.start.p0(i64 8, ptr %20) #18 store ptr %10, ptr %20, align 8, !tbaa !69 call void @llvm.lifetime.start.p0(i64 8, ptr %21) #18 %185 = load ptr, ptr %20, align 8, !tbaa !69 %186 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %185) #18 %187 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %21, i32 0, i32 0 store ptr %186, ptr %187, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %22) #18 %188 = load ptr, ptr %20, align 8, !tbaa !69 %189 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %188) #18 %190 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %22, i32 0, i32 0 store ptr %189, ptr %190, align 8 br label %191 191: ; preds = %240, %184 %192 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #18 br i1 %192, label %194, label %193 193: ; preds = %191 store i32 10, ptr %23, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %21) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %20) #18 br label %242 194: ; preds = %191 call void @llvm.lifetime.start.p0(i64 8, ptr %24) #18 %195 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #18 store ptr %195, ptr %24, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %25) #18 %196 = load ptr, ptr %24, align 8, !tbaa !68 store ptr %196, ptr %25, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %26) #18 %197 = load ptr, ptr %25, align 8, !tbaa !68 %198 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %197) #18 %199 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %26, i32 0, i32 0 store ptr %198, ptr %199, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %27) #18 %200 = load ptr, ptr %25, align 8, !tbaa !68 %201 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %200) #18 %202 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %27, i32 0, i32 0 store ptr %201, ptr %202, align 8 br label %203 203: ; preds = %213, %194 %204 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(8) %27) #18 br i1 %204, label %206, label %205 205: ; preds = %203 store i32 12, ptr %23, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %27) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %25) #18 br label %215 206: ; preds = %203 call void @llvm.lifetime.start.p0(i64 4, ptr %28) #18 %207 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26) #18 %208 = load i32, ptr %207, align 4, !tbaa !72 store i32 %208, ptr %28, align 4, !tbaa !72 %209 = load ptr, ptr %5, align 8, !tbaa !119 %210 = load i32, ptr %7, align 4, !tbaa !72 %211 = load i32, ptr %28, align 4, !tbaa !72 %212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %209, ptr noundef @.str.25, i32 noundef %210, i32 noundef %211) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %28) #18 br label %213 213: ; preds = %206 %214 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %26) #18 br label %203 215: ; preds = %205 %216 = load i32, ptr %13, align 4, !tbaa !72 %217 = load ptr, ptr %24, align 8, !tbaa !68 %218 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %217) #18 %219 = trunc i64 %218 to i32 %220 = icmp sge i32 %216, %219 br i1 %220, label %221, label %235 221: ; preds = %215 %222 = load ptr, ptr %5, align 8, !tbaa !119 %223 = load i32, ptr %7, align 4, !tbaa !72 %224 = add nsw i32 %223, 1 %225 = load i32, ptr %13, align 4, !tbaa !72 %226 = sext i32 %225 to i64 %227 = load ptr, ptr %24, align 8, !tbaa !68 %228 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %227) #18 %229 = sub i64 %226, %228 %230 = trunc i64 %229 to i32 %231 = mul nsw i32 %224, %230 %232 = load i32, ptr %7, align 4, !tbaa !72 %233 = add nsw i32 %231, %232 %234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %222, ptr noundef @.str.26, i32 noundef %233, i32 noundef 0) #18 br label %239 235: ; preds = %215 %236 = load ptr, ptr %5, align 8, !tbaa !119 %237 = load i32, ptr %7, align 4, !tbaa !72 %238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %236, ptr noundef @.str.26, i32 noundef %237, i32 noundef 0) #18 br label %239 239: ; preds = %235, %221 call void @llvm.lifetime.end.p0(i64 8, ptr %24) #18 br label %240 240: ; preds = %239 %241 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #18 br label %191 242: ; preds = %193 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret void 243: ; preds = %180, %169 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 br label %244 244: ; preds = %243, %155 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 br label %245 245: ; preds = %244 %246 = load ptr, ptr %11, align 8 %247 = load i32, ptr %12, align 4 %248 = insertvalue { ptr, i32 } poison, ptr %246, 0 %249 = insertvalue { ptr, i32 } %248, i32 %247, 1 resume { ptr, i32 } %249 } ; Function Attrs: nounwind declare float @log10f(float noundef) #7 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare double @llvm.ceil.f64(double) #9 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !69 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %4, i32 0, i32 1 %6 = load ptr, ptr %5, align 8, !tbaa !80 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !79 %10 = ptrtoint ptr %6 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 24 ret i64 %13 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZN9__gnu_cxxneIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !134 store ptr %1, ptr %4, align 8, !tbaa !134 %5 = load ptr, ptr %3, align 8, !tbaa !134 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !68 %8 = load ptr, ptr %4, align 8, !tbaa !134 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !68 %11 = icmp ne ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !134 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !191 ret ptr %5 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 %6 = load ptr, ptr %4, align 8, !tbaa !100 %7 = load i32, ptr %6, align 4, !tbaa !72 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load i32, ptr %8, align 4, !tbaa !72 %10 = icmp slt i32 %7, %9 br i1 %10, label %11, label %13 11: ; preds = %2 %12 = load ptr, ptr %5, align 8, !tbaa !100 store ptr %12, ptr %3, align 8 br label %15 13: ; preds = %2 %14 = load ptr, ptr %4, align 8, !tbaa !100 store ptr %14, ptr %3, align 8 br label %15 15: ; preds = %13, %11 %16 = load ptr, ptr %3, align 8 ret ptr %16 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !134 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !191 %6 = getelementptr inbounds nuw %"class.std::vector.14", ptr %5, i32 1 store ptr %6, ptr %4, align 8, !tbaa !191 ret ptr %3 } ; Function Attrs: mustprogress uwtable define void @_ZNK5ezSAT18printInternalStateEP8_IO_FILE(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %7 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = alloca ptr, align 8 %11 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %12 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %13 = alloca ptr, align 8 %14 = alloca %"class.std::__cxx11::basic_string", align 8 %15 = alloca i32, align 4 %16 = alloca %"class.std::__cxx11::basic_string", align 8 %17 = alloca i32, align 4 %18 = alloca %"class.std::__cxx11::basic_string", align 8 %19 = alloca i32, align 4 %20 = alloca %"class.std::__cxx11::basic_string", align 8 %21 = alloca ptr, align 8 %22 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %23 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %24 = alloca i32, align 4 %25 = alloca ptr, align 8 %26 = alloca ptr, align 8 %27 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %28 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %29 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !6 store ptr %1, ptr %4, align 8, !tbaa !119 %30 = load ptr, ptr %3, align 8 %31 = load ptr, ptr %4, align 8, !tbaa !119 %32 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31, ptr noundef @.str.27) #18 %33 = load ptr, ptr %4, align 8, !tbaa !119 %34 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33, ptr noundef @.str.28) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %35 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 5 store ptr %35, ptr %5, align 8, !tbaa !60 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %36 = load ptr, ptr %5, align 8, !tbaa !60 %37 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %36) #18 %38 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %6, i32 0, i32 0 store ptr %37, ptr %38, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %39 = load ptr, ptr %5, align 8, !tbaa !60 %40 = call ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %39) #18 %41 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %7, i32 0, i32 0 store ptr %40, ptr %41, align 8 br label %42 42: ; preds = %55, %2 %43 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #18 br i1 %43, label %45, label %44 44: ; preds = %42 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %57 45: ; preds = %42 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %46 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #18 store ptr %46, ptr %8, align 8, !tbaa !193 %47 = load ptr, ptr %4, align 8, !tbaa !119 %48 = load ptr, ptr %8, align 8, !tbaa !193 %49 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %48, i32 0, i32 0 %50 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #18 %51 = load ptr, ptr %8, align 8, !tbaa !193 %52 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %51, i32 0, i32 1 %53 = load i32, ptr %52, align 8, !tbaa !195 %54 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %47, ptr noundef @.str.29, ptr noundef %50, i32 noundef %53) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 br label %55 55: ; preds = %45 %56 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #18 br label %42 57: ; preds = %44 %58 = load ptr, ptr %4, align 8, !tbaa !119 %59 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %58, ptr noundef @.str.30) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 store i32 0, ptr %9, align 4, !tbaa !72 br label %60 60: ; preds = %77, %57 %61 = load i32, ptr %9, align 4, !tbaa !72 %62 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 6 %63 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #18 %64 = trunc i64 %63 to i32 %65 = icmp slt i32 %61, %64 br i1 %65, label %67, label %66 66: ; preds = %60 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %80 67: ; preds = %60 %68 = load ptr, ptr %4, align 8, !tbaa !119 %69 = load i32, ptr %9, align 4, !tbaa !72 %70 = add nsw i32 %69, 1 %71 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 6 %72 = load i32, ptr %9, align 4, !tbaa !72 %73 = sext i32 %72 to i64 %74 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %73) #18 %75 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %74) #18 %76 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %68, ptr noundef @.str.31, i32 noundef %70, ptr noundef %75) #18 br label %77 77: ; preds = %67 %78 = load i32, ptr %9, align 4, !tbaa !72 %79 = add nsw i32 %78, 1 store i32 %79, ptr %9, align 4, !tbaa !72 br label %60, !llvm.loop !197 80: ; preds = %66 %81 = load ptr, ptr %4, align 8, !tbaa !119 %82 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %81, ptr noundef @.str.32) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %83 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 7 store ptr %83, ptr %10, align 8, !tbaa !64 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %84 = load ptr, ptr %10, align 8, !tbaa !64 %85 = call ptr @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %84) #18 %86 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %11, i32 0, i32 0 store ptr %85, ptr %86, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %87 = load ptr, ptr %10, align 8, !tbaa !64 %88 = call ptr @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %87) #18 %89 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %12, i32 0, i32 0 store ptr %88, ptr %89, align 8 br label %90 90: ; preds = %103, %80 %91 = call noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12) #18 br i1 %91, label %93, label %92 92: ; preds = %90 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 br label %105 93: ; preds = %90 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %94 = call noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #18 store ptr %94, ptr %13, align 8, !tbaa !198 %95 = load ptr, ptr %4, align 8, !tbaa !119 call void @llvm.lifetime.start.p0(i64 32, ptr %14) #18 %96 = load ptr, ptr %13, align 8, !tbaa !198 %97 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %96, i32 0, i32 0 call void @_ZL14expression2strB5cxx11RKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %97) %98 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #18 %99 = load ptr, ptr %13, align 8, !tbaa !198 %100 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %99, i32 0, i32 1 %101 = load i32, ptr %100, align 8, !tbaa !200 %102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %95, ptr noundef @.str.29, ptr noundef %98, i32 noundef %101) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 br label %103 103: ; preds = %93 %104 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #18 br label %90 105: ; preds = %92 %106 = load ptr, ptr %4, align 8, !tbaa !119 %107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %106, ptr noundef @.str.33) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 store i32 0, ptr %15, align 4, !tbaa !72 br label %108 108: ; preds = %126, %105 %109 = load i32, ptr %15, align 4, !tbaa !72 %110 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 8 %111 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %110) #18 %112 = trunc i64 %111 to i32 %113 = icmp slt i32 %109, %112 br i1 %113, label %115, label %114 114: ; preds = %108 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %129 115: ; preds = %108 %116 = load ptr, ptr %4, align 8, !tbaa !119 %117 = load i32, ptr %15, align 4, !tbaa !72 %118 = sub nsw i32 0, %117 %119 = sub nsw i32 %118, 1 call void @llvm.lifetime.start.p0(i64 32, ptr %16) #18 %120 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 8 %121 = load i32, ptr %15, align 4, !tbaa !72 %122 = sext i32 %121 to i64 %123 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %120, i64 noundef %122) #18 call void @_ZL14expression2strB5cxx11RKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %123) %124 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #18 %125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %116, ptr noundef @.str.31, i32 noundef %119, ptr noundef %124) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %16) #18 br label %126 126: ; preds = %115 %127 = load i32, ptr %15, align 4, !tbaa !72 %128 = add nsw i32 %127, 1 store i32 %128, ptr %15, align 4, !tbaa !72 br label %108, !llvm.loop !202 129: ; preds = %114 %130 = load ptr, ptr %4, align 8, !tbaa !119 %131 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 11 %132 = load i32, ptr %131, align 4, !tbaa !56 %133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %130, ptr noundef @.str.34, i32 noundef %132) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %17) #18 store i32 0, ptr %17, align 4, !tbaa !72 br label %134 134: ; preds = %162, %129 %135 = load i32, ptr %17, align 4, !tbaa !72 %136 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 14 %137 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %136) #18 %138 = trunc i64 %137 to i32 %139 = icmp slt i32 %135, %138 br i1 %139, label %141, label %140 140: ; preds = %134 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 br label %165 141: ; preds = %134 %142 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 14 %143 = load i32, ptr %17, align 4, !tbaa !72 %144 = sext i32 %143 to i64 %145 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %142, i64 noundef %144) #18 %146 = load i32, ptr %145, align 4, !tbaa !72 %147 = icmp ne i32 %146, 0 br i1 %147, label %148, label %161 148: ; preds = %141 %149 = load ptr, ptr %4, align 8, !tbaa !119 %150 = load i32, ptr %17, align 4, !tbaa !72 %151 = add nsw i32 %150, 1 %152 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 14 %153 = load i32, ptr %17, align 4, !tbaa !72 %154 = sext i32 %153 to i64 %155 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %154) #18 %156 = load i32, ptr %155, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 32, ptr %18) #18 %157 = load i32, ptr %17, align 4, !tbaa !72 %158 = add nsw i32 %157, 1 call void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef %158) %159 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %18) #18 %160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %149, ptr noundef @.str.35, i32 noundef %151, i32 noundef %156, ptr noundef %159) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %18) #18 br label %161 161: ; preds = %148, %141 br label %162 162: ; preds = %161 %163 = load i32, ptr %17, align 4, !tbaa !72 %164 = add nsw i32 %163, 1 store i32 %164, ptr %17, align 4, !tbaa !72 br label %134, !llvm.loop !203 165: ; preds = %140 call void @llvm.lifetime.start.p0(i64 4, ptr %19) #18 store i32 0, ptr %19, align 4, !tbaa !72 br label %166 166: ; preds = %196, %165 %167 = load i32, ptr %19, align 4, !tbaa !72 %168 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 15 %169 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %168) #18 %170 = trunc i64 %169 to i32 %171 = icmp slt i32 %167, %170 br i1 %171, label %173, label %172 172: ; preds = %166 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %199 173: ; preds = %166 %174 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 15 %175 = load i32, ptr %19, align 4, !tbaa !72 %176 = sext i32 %175 to i64 %177 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %174, i64 noundef %176) #18 %178 = load i32, ptr %177, align 4, !tbaa !72 %179 = icmp ne i32 %178, 0 br i1 %179, label %180, label %195 180: ; preds = %173 %181 = load ptr, ptr %4, align 8, !tbaa !119 %182 = load i32, ptr %19, align 4, !tbaa !72 %183 = sub nsw i32 0, %182 %184 = sub nsw i32 %183, 1 %185 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 15 %186 = load i32, ptr %19, align 4, !tbaa !72 %187 = sext i32 %186 to i64 %188 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %187) #18 %189 = load i32, ptr %188, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 32, ptr %20) #18 %190 = load i32, ptr %19, align 4, !tbaa !72 %191 = sub nsw i32 0, %190 %192 = sub nsw i32 %191, 1 call void @_ZNK5ezSAT9to_stringB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(284) %30, i32 noundef %192) %193 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %20) #18 %194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %181, ptr noundef @.str.36, i32 noundef %184, i32 noundef %189, ptr noundef %193) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %20) #18 br label %195 195: ; preds = %180, %173 br label %196 196: ; preds = %195 %197 = load i32, ptr %19, align 4, !tbaa !72 %198 = add nsw i32 %197, 1 store i32 %198, ptr %19, align 4, !tbaa !72 br label %166, !llvm.loop !204 199: ; preds = %172 %200 = load ptr, ptr %4, align 8, !tbaa !119 %201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %200, ptr noundef @.str.37) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %21) #18 %202 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 16 store ptr %202, ptr %21, align 8, !tbaa !69 call void @llvm.lifetime.start.p0(i64 8, ptr %22) #18 %203 = load ptr, ptr %21, align 8, !tbaa !69 %204 = call ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %203) #18 %205 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %22, i32 0, i32 0 store ptr %204, ptr %205, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %23) #18 %206 = load ptr, ptr %21, align 8, !tbaa !69 %207 = call ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %206) #18 %208 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %23, i32 0, i32 0 store ptr %207, ptr %208, align 8 br label %209 209: ; preds = %235, %199 %210 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #18 br i1 %210, label %212, label %211 211: ; preds = %209 store i32 18, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %23) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %21) #18 br label %237 212: ; preds = %209 call void @llvm.lifetime.start.p0(i64 8, ptr %25) #18 %213 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #18 store ptr %213, ptr %25, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %26) #18 %214 = load ptr, ptr %25, align 8, !tbaa !68 store ptr %214, ptr %26, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %27) #18 %215 = load ptr, ptr %26, align 8, !tbaa !68 %216 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %215) #18 %217 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %27, i32 0, i32 0 store ptr %216, ptr %217, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %28) #18 %218 = load ptr, ptr %26, align 8, !tbaa !68 %219 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %218) #18 %220 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %28, i32 0, i32 0 store ptr %219, ptr %220, align 8 br label %221 221: ; preds = %230, %212 %222 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28) #18 br i1 %222, label %224, label %223 223: ; preds = %221 store i32 20, ptr %24, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %28) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %27) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %26) #18 br label %232 224: ; preds = %221 call void @llvm.lifetime.start.p0(i64 8, ptr %29) #18 %225 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27) #18 store ptr %225, ptr %29, align 8, !tbaa !100 %226 = load ptr, ptr %4, align 8, !tbaa !119 %227 = load ptr, ptr %29, align 8, !tbaa !100 %228 = load i32, ptr %227, align 4, !tbaa !72 %229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %226, ptr noundef @.str.38, i32 noundef %228) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %29) #18 br label %230 230: ; preds = %224 %231 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %27) #18 br label %221 232: ; preds = %223 %233 = load ptr, ptr %4, align 8, !tbaa !119 %234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %233, ptr noundef @.str.39) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %25) #18 br label %235 235: ; preds = %232 %236 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #18 br label %209 237: ; preds = %211 %238 = getelementptr inbounds nuw %class.ezSAT, ptr %30, i32 0, i32 9 %239 = load i8, ptr %238, align 8, !tbaa !55, !range !88, !noundef !89 %240 = trunc i8 %239 to i1 br i1 %240, label %241, label %244 241: ; preds = %237 %242 = load ptr, ptr %4, align 8, !tbaa !119 %243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %242, ptr noundef @.str.40) #18 br label %244 244: ; preds = %241, %237 %245 = load ptr, ptr %4, align 8, !tbaa !119 %246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %245, ptr noundef @.str.41) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !60 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::map", ptr %4, i32 0, i32 0 %6 = call ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %2, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !60 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::map", ptr %4, i32 0, i32 0 %6 = call ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %2, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #1 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !205 store ptr %1, ptr %4, align 8, !tbaa !205 %5 = load ptr, ptr %3, align 8, !tbaa !205 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %6, align 8, !tbaa !207 %8 = load ptr, ptr %4, align 8, !tbaa !205 %9 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !207 %11 = icmp ne ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !205 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !207 %6 = call noundef ptr @_ZNKSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %5) ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !205 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !207 %6 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef %5) #22 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8, !tbaa !207 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !64 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::map.3", ptr %4, i32 0, i32 0 %6 = call ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %2, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !64 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::map.3", ptr %4, i32 0, i32 0 %6 = call ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %2, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #1 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !209 store ptr %1, ptr %4, align 8, !tbaa !209 %5 = load ptr, ptr %3, align 8, !tbaa !209 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %6, align 8, !tbaa !211 %8 = load ptr, ptr %4, align 8, !tbaa !209 %9 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !211 %11 = icmp ne ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !209 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !211 %6 = call noundef ptr @_ZNKSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %5) ret ptr %6 } ; Function Attrs: mustprogress uwtable define internal void @_ZL14expression2strB5cxx11RKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEE(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i1, align 1 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca ptr, align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca i32, align 4 %12 = alloca %"class.std::__cxx11::basic_string", align 8 %13 = alloca %"class.std::__cxx11::basic_string", align 8 store ptr %0, ptr %3, align 8 store ptr %1, ptr %4, align 8, !tbaa !113 store i1 false, ptr %5, align 1 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #18 %14 = load ptr, ptr %4, align 8, !tbaa !113 %15 = getelementptr inbounds nuw %"struct.std::pair", ptr %14, i32 0, i32 0 %16 = load i32, ptr %15, align 8, !tbaa !115 switch i32 %16, label %39 [ i32 0, label %17 i32 1, label %24 i32 2, label %27 i32 3, label %30 i32 4, label %33 i32 5, label %36 ] 17: ; preds = %2 %18 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.42) to label %19 unwind label %20 19: ; preds = %17 br label %40 20: ; preds = %40, %36, %33, %30, %27, %24, %17 %21 = landingpad { ptr, i32 } cleanup %22 = extractvalue { ptr, i32 } %21, 0 store ptr %22, ptr %6, align 8 %23 = extractvalue { ptr, i32 } %21, 1 store i32 %23, ptr %7, align 4 br label %76 24: ; preds = %2 %25 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.43) to label %26 unwind label %20 26: ; preds = %24 br label %40 27: ; preds = %2 %28 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.44) to label %29 unwind label %20 29: ; preds = %27 br label %40 30: ; preds = %2 %31 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.45) to label %32 unwind label %20 32: ; preds = %30 br label %40 33: ; preds = %2 %34 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.46) to label %35 unwind label %20 35: ; preds = %33 br label %40 36: ; preds = %2 %37 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.47) to label %38 unwind label %20 38: ; preds = %36 br label %40 39: ; preds = %2 call void @abort() #20 unreachable 40: ; preds = %38, %35, %32, %29, %26, %19 %41 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.48) to label %42 unwind label %20 42: ; preds = %40 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %43 = load ptr, ptr %4, align 8, !tbaa !113 %44 = getelementptr inbounds nuw %"struct.std::pair", ptr %43, i32 0, i32 1 store ptr %44, ptr %8, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %45 = load ptr, ptr %8, align 8, !tbaa !68 %46 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #18 %47 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 store ptr %46, ptr %47, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %48 = load ptr, ptr %8, align 8, !tbaa !68 %49 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #18 %50 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 store ptr %49, ptr %50, align 8 br label %51 51: ; preds = %61, %42 %52 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #18 br i1 %52, label %54, label %53 53: ; preds = %51 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 br label %72 54: ; preds = %51 call void @llvm.lifetime.start.p0(i64 4, ptr %11) #18 %55 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 %56 = load i32, ptr %55, align 4, !tbaa !72 store i32 %56, ptr %11, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 32, ptr %12) #18 call void @llvm.lifetime.start.p0(i64 32, ptr %13) #18 %57 = load i32, ptr %11, align 4, !tbaa !72 call void @_ZL16my_int_to_stringB5cxx11i(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, i32 noundef %57) invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef @.str.49, ptr noundef nonnull align 8 dereferenceable(32) %13) to label %58 unwind label %63 58: ; preds = %54 %59 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %12) to label %60 unwind label %67 60: ; preds = %58 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 br label %61 61: ; preds = %60 %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 br label %51 63: ; preds = %54 %64 = landingpad { ptr, i32 } cleanup %65 = extractvalue { ptr, i32 } %64, 0 store ptr %65, ptr %6, align 8 %66 = extractvalue { ptr, i32 } %64, 1 store i32 %66, ptr %7, align 4 br label %71 67: ; preds = %58 %68 = landingpad { ptr, i32 } cleanup %69 = extractvalue { ptr, i32 } %68, 0 store ptr %69, ptr %6, align 8 %70 = extractvalue { ptr, i32 } %68, 1 store i32 %70, ptr %7, align 4 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #18 br label %71 71: ; preds = %67, %63 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 32, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 br label %76 72: ; preds = %53 store i1 true, ptr %5, align 1 %73 = load i1, ptr %5, align 1 br i1 %73, label %75, label %74 74: ; preds = %72 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #18 br label %75 75: ; preds = %74, %72 ret void 76: ; preds = %71, %20 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #18 br label %77 77: ; preds = %76 %78 = load ptr, ptr %6, align 8 %79 = load i32, ptr %7, align 4 %80 = insertvalue { ptr, i32 } poison, ptr %78, 0 %81 = insertvalue { ptr, i32 } %80, i32 %79, 1 resume { ptr, i32 } %81 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !209 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !211 %6 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef %5) #22 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8, !tbaa !211 ret ptr %3 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !132 store ptr %1, ptr %4, align 8, !tbaa !132 %5 = load ptr, ptr %3, align 8, !tbaa !132 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !68 %8 = load ptr, ptr %4, align 8, !tbaa !132 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !68 %11 = icmp ne ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !132 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !136 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !132 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !136 %6 = getelementptr inbounds nuw %"class.std::vector.14", ptr %5, i32 1 store ptr %6, ptr %4, align 8, !tbaa !136 ret ptr %3 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT6onehotERKSt6vectorIiSaIiEEb(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, i1 noundef zeroext %2) #0 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i8, align 1 %7 = alloca %"class.std::vector.14", align 8 %8 = alloca i32, align 4 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca i64, align 8 %12 = alloca i32, align 4 %13 = alloca i64, align 8 %14 = alloca %"class.std::vector.14", align 8 %15 = alloca i32, align 4 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca i32, align 4 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca i32, align 4 %20 = alloca i32, align 4 %21 = alloca %"class.std::vector.14", align 8 %22 = alloca i32, align 4 %23 = alloca i32, align 4 %24 = alloca i64, align 8 %25 = alloca i32, align 4 %26 = alloca %"class.std::vector.14", align 8 %27 = alloca i32, align 4 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca i32, align 4 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca i1, align 1 %32 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !6 store ptr %1, ptr %5, align 8, !tbaa !68 %33 = zext i1 %2 to i8 store i8 %33, ptr %6, align 1, !tbaa !87 %34 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %7) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %35 = load i8, ptr %6, align 1, !tbaa !87, !range !88, !noundef !89 %36 = trunc i8 %35 to i1 %37 = zext i1 %36 to i32 %38 = icmp eq i32 %37, 0 br i1 %38, label %39, label %48 39: ; preds = %3 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 %40 = load ptr, ptr %5, align 8, !tbaa !68 %41 = invoke noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %34, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(24) %40) to label %42 unwind label %44 42: ; preds = %39 store i32 %41, ptr %8, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %8) to label %43 unwind label %44 43: ; preds = %42 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 br label %48 44: ; preds = %42, %39 %45 = landingpad { ptr, i32 } cleanup %46 = extractvalue { ptr, i32 } %45, 0 store ptr %46, ptr %9, align 8 %47 = extractvalue { ptr, i32 } %45, 1 store i32 %47, ptr %10, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 br label %238 48: ; preds = %43, %3 %49 = load ptr, ptr %5, align 8, !tbaa !68 %50 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %49) #18 %51 = icmp ult i64 %50, 8 br i1 %51, label %52, label %119 52: ; preds = %48 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 store i64 0, ptr %11, align 8, !tbaa !97 br label %53 53: ; preds = %115, %52 %54 = load i64, ptr %11, align 8, !tbaa !97 %55 = load ptr, ptr %5, align 8, !tbaa !68 %56 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %55) #18 %57 = icmp ult i64 %54, %56 br i1 %57, label %59, label %58 58: ; preds = %53 store i32 2, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 br label %118 59: ; preds = %53 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %60 = load i64, ptr %11, align 8, !tbaa !97 %61 = add i64 %60, 1 store i64 %61, ptr %13, align 8, !tbaa !97 br label %62 62: ; preds = %88, %59 %63 = load i64, ptr %13, align 8, !tbaa !97 %64 = load ptr, ptr %5, align 8, !tbaa !68 %65 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %64) #18 %66 = icmp ult i64 %63, %65 br i1 %66, label %68, label %67 67: ; preds = %62 store i32 5, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 br label %114 68: ; preds = %62 call void @llvm.lifetime.start.p0(i64 24, ptr %14) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %15) #18 %69 = load ptr, ptr %5, align 8, !tbaa !68 %70 = load i64, ptr %11, align 8, !tbaa !97 %71 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %70) #18 %72 = load i32, ptr %71, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %72) to label %73 unwind label %91 73: ; preds = %68 %74 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef %16) to label %75 unwind label %95 75: ; preds = %73 store i32 %74, ptr %15, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 4 dereferenceable(4) %15) to label %76 unwind label %95 76: ; preds = %75 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %17) #18 %77 = load ptr, ptr %5, align 8, !tbaa !68 %78 = load i64, ptr %13, align 8, !tbaa !97 %79 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %78) #18 %80 = load i32, ptr %79, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef %80) to label %81 unwind label %100 81: ; preds = %76 %82 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef %18) to label %83 unwind label %104 83: ; preds = %81 store i32 %82, ptr %17, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 4 dereferenceable(4) %17) to label %84 unwind label %104 84: ; preds = %83 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %19) #18 %85 = invoke noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %34, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(24) %14) to label %86 unwind label %109 86: ; preds = %84 store i32 %85, ptr %19, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %19) to label %87 unwind label %109 87: ; preds = %86 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %14) #18 br label %88 88: ; preds = %87 %89 = load i64, ptr %13, align 8, !tbaa !97 %90 = add i64 %89, 1 store i64 %90, ptr %13, align 8, !tbaa !97 br label %62, !llvm.loop !213 91: ; preds = %68 %92 = landingpad { ptr, i32 } cleanup %93 = extractvalue { ptr, i32 } %92, 0 store ptr %93, ptr %9, align 8 %94 = extractvalue { ptr, i32 } %92, 1 store i32 %94, ptr %10, align 4 br label %99 95: ; preds = %75, %73 %96 = landingpad { ptr, i32 } cleanup %97 = extractvalue { ptr, i32 } %96, 0 store ptr %97, ptr %9, align 8 %98 = extractvalue { ptr, i32 } %96, 1 store i32 %98, ptr %10, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %99 99: ; preds = %95, %91 call void @llvm.lifetime.end.p0(i64 4, ptr %15) #18 br label %113 100: ; preds = %76 %101 = landingpad { ptr, i32 } cleanup %102 = extractvalue { ptr, i32 } %101, 0 store ptr %102, ptr %9, align 8 %103 = extractvalue { ptr, i32 } %101, 1 store i32 %103, ptr %10, align 4 br label %108 104: ; preds = %83, %81 %105 = landingpad { ptr, i32 } cleanup %106 = extractvalue { ptr, i32 } %105, 0 store ptr %106, ptr %9, align 8 %107 = extractvalue { ptr, i32 } %105, 1 store i32 %107, ptr %10, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %108 108: ; preds = %104, %100 call void @llvm.lifetime.end.p0(i64 4, ptr %17) #18 br label %113 109: ; preds = %86, %84 %110 = landingpad { ptr, i32 } cleanup %111 = extractvalue { ptr, i32 } %110, 0 store ptr %111, ptr %9, align 8 %112 = extractvalue { ptr, i32 } %110, 1 store i32 %112, ptr %10, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %113 113: ; preds = %109, %108, %99 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 br label %238 114: ; preds = %67 br label %115 115: ; preds = %114 %116 = load i64, ptr %11, align 8, !tbaa !97 %117 = add i64 %116, 1 store i64 %117, ptr %11, align 8, !tbaa !97 br label %53, !llvm.loop !214 118: ; preds = %58 br label %231 119: ; preds = %48 call void @llvm.lifetime.start.p0(i64 4, ptr %20) #18 %120 = load ptr, ptr %5, align 8, !tbaa !68 %121 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %120) #18 %122 = trunc i64 %121 to i32 %123 = invoke noundef i32 @_ZL5clog2i(i32 noundef %122) to label %124 unwind label %130 124: ; preds = %119 store i32 %123, ptr %20, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 24, ptr %21) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %22) #18 store i32 0, ptr %22, align 4, !tbaa !72 br label %125 125: ; preds = %138, %124 %126 = load i32, ptr %22, align 4, !tbaa !72 %127 = load i32, ptr %20, align 4, !tbaa !72 %128 = icmp slt i32 %126, %127 br i1 %128, label %134, label %129 129: ; preds = %125 store i32 8, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %22) #18 br label %145 130: ; preds = %119 %131 = landingpad { ptr, i32 } cleanup %132 = extractvalue { ptr, i32 } %131, 0 store ptr %132, ptr %9, align 8 %133 = extractvalue { ptr, i32 } %131, 1 store i32 %133, ptr %10, align 4 br label %230 134: ; preds = %125 call void @llvm.lifetime.start.p0(i64 4, ptr %23) #18 %135 = invoke noundef i32 @_ZN5ezSAT7literalEv(ptr noundef nonnull align 8 dereferenceable(284) %34) to label %136 unwind label %141 136: ; preds = %134 store i32 %135, ptr %23, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 4 dereferenceable(4) %23) to label %137 unwind label %141 137: ; preds = %136 call void @llvm.lifetime.end.p0(i64 4, ptr %23) #18 br label %138 138: ; preds = %137 %139 = load i32, ptr %22, align 4, !tbaa !72 %140 = add nsw i32 %139, 1 store i32 %140, ptr %22, align 4, !tbaa !72 br label %125, !llvm.loop !215 141: ; preds = %136, %134 %142 = landingpad { ptr, i32 } cleanup %143 = extractvalue { ptr, i32 } %142, 0 store ptr %143, ptr %9, align 8 %144 = extractvalue { ptr, i32 } %142, 1 store i32 %144, ptr %10, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %23) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %22) #18 br label %229 145: ; preds = %129 call void @llvm.lifetime.start.p0(i64 8, ptr %24) #18 store i64 0, ptr %24, align 8, !tbaa !97 br label %146 146: ; preds = %225, %145 %147 = load i64, ptr %24, align 8, !tbaa !97 %148 = load ptr, ptr %5, align 8, !tbaa !68 %149 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %148) #18 %150 = icmp ult i64 %147, %149 br i1 %150, label %152, label %151 151: ; preds = %146 store i32 11, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 8, ptr %24) #18 br label %228 152: ; preds = %146 call void @llvm.lifetime.start.p0(i64 4, ptr %25) #18 store i32 0, ptr %25, align 4, !tbaa !72 br label %153 153: ; preds = %195, %152 %154 = load i32, ptr %25, align 4, !tbaa !72 %155 = load i32, ptr %20, align 4, !tbaa !72 %156 = icmp slt i32 %154, %155 br i1 %156, label %158, label %157 157: ; preds = %153 store i32 14, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 br label %224 158: ; preds = %153 call void @llvm.lifetime.start.p0(i64 24, ptr %26) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %27) #18 %159 = load ptr, ptr %5, align 8, !tbaa !68 %160 = load i64, ptr %24, align 8, !tbaa !97 %161 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %159, i64 noundef %160) #18 %162 = load i32, ptr %161, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef %162) to label %163 unwind label %198 163: ; preds = %158 %164 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef %28) to label %165 unwind label %202 165: ; preds = %163 store i32 %164, ptr %27, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 4 dereferenceable(4) %27) to label %166 unwind label %202 166: ; preds = %165 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %27) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %29) #18 %167 = load i64, ptr %24, align 8, !tbaa !97 %168 = load i32, ptr %25, align 4, !tbaa !72 %169 = shl i32 1, %168 %170 = sext i32 %169 to i64 %171 = and i64 %167, %170 %172 = icmp ne i64 %171, 0 store i1 false, ptr %31, align 1 br i1 %172, label %173, label %178 173: ; preds = %166 %174 = load i32, ptr %25, align 4, !tbaa !72 %175 = sext i32 %174 to i64 %176 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %175) #18 %177 = load i32, ptr %176, align 4, !tbaa !72 br label %186 178: ; preds = %166 %179 = load i32, ptr %25, align 4, !tbaa !72 %180 = sext i32 %179 to i64 %181 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %180) #18 %182 = load i32, ptr %181, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef %182) to label %183 unwind label %207 183: ; preds = %178 store i1 true, ptr %31, align 1 %184 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef %30) to label %185 unwind label %211 185: ; preds = %183 br label %186 186: ; preds = %185, %173 %187 = phi i32 [ %177, %173 ], [ %184, %185 ] store i32 %187, ptr %29, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 4 dereferenceable(4) %29) to label %188 unwind label %211 188: ; preds = %186 %189 = load i1, ptr %31, align 1 br i1 %189, label %190, label %191 190: ; preds = %188 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %191 191: ; preds = %190, %188 call void @llvm.lifetime.end.p0(i64 4, ptr %29) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %32) #18 %192 = invoke noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %34, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(24) %26) to label %193 unwind label %219 193: ; preds = %191 store i32 %192, ptr %32, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %32) to label %194 unwind label %219 194: ; preds = %193 call void @llvm.lifetime.end.p0(i64 4, ptr %32) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %26) #18 br label %195 195: ; preds = %194 %196 = load i32, ptr %25, align 4, !tbaa !72 %197 = add nsw i32 %196, 1 store i32 %197, ptr %25, align 4, !tbaa !72 br label %153, !llvm.loop !216 198: ; preds = %158 %199 = landingpad { ptr, i32 } cleanup %200 = extractvalue { ptr, i32 } %199, 0 store ptr %200, ptr %9, align 8 %201 = extractvalue { ptr, i32 } %199, 1 store i32 %201, ptr %10, align 4 br label %206 202: ; preds = %165, %163 %203 = landingpad { ptr, i32 } cleanup %204 = extractvalue { ptr, i32 } %203, 0 store ptr %204, ptr %9, align 8 %205 = extractvalue { ptr, i32 } %203, 1 store i32 %205, ptr %10, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %206 206: ; preds = %202, %198 call void @llvm.lifetime.end.p0(i64 4, ptr %27) #18 br label %223 207: ; preds = %178 %208 = landingpad { ptr, i32 } cleanup %209 = extractvalue { ptr, i32 } %208, 0 store ptr %209, ptr %9, align 8 %210 = extractvalue { ptr, i32 } %208, 1 store i32 %210, ptr %10, align 4 br label %218 211: ; preds = %186, %183 %212 = landingpad { ptr, i32 } cleanup %213 = extractvalue { ptr, i32 } %212, 0 store ptr %213, ptr %9, align 8 %214 = extractvalue { ptr, i32 } %212, 1 store i32 %214, ptr %10, align 4 %215 = load i1, ptr %31, align 1 br i1 %215, label %216, label %217 216: ; preds = %211 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %217 217: ; preds = %216, %211 br label %218 218: ; preds = %217, %207 call void @llvm.lifetime.end.p0(i64 4, ptr %29) #18 br label %223 219: ; preds = %193, %191 %220 = landingpad { ptr, i32 } cleanup %221 = extractvalue { ptr, i32 } %220, 0 store ptr %221, ptr %9, align 8 %222 = extractvalue { ptr, i32 } %220, 1 store i32 %222, ptr %10, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %32) #18 br label %223 223: ; preds = %219, %218, %206 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %24) #18 br label %229 224: ; preds = %157 br label %225 225: ; preds = %224 %226 = load i64, ptr %24, align 8, !tbaa !97 %227 = add i64 %226, 1 store i64 %227, ptr %24, align 8, !tbaa !97 br label %146, !llvm.loop !217 228: ; preds = %151 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %21) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %20) #18 br label %231 229: ; preds = %223, %141 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %21) #18 br label %230 230: ; preds = %229, %130 call void @llvm.lifetime.end.p0(i64 4, ptr %20) #18 br label %238 231: ; preds = %228, %118 %232 = invoke noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %34, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %7) to label %233 unwind label %234 233: ; preds = %231 store i32 1, ptr %12, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %7) #18 ret i32 %232 234: ; preds = %231 %235 = landingpad { ptr, i32 } cleanup %236 = extractvalue { ptr, i32 } %235, 0 store ptr %236, ptr %9, align 8 %237 = extractvalue { ptr, i32 } %235, 1 store i32 %237, ptr %10, align 4 br label %238 238: ; preds = %234, %230, %113, %44 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %7) #18 br label %239 239: ; preds = %238 %240 = load ptr, ptr %9, align 8 %241 = load i32, ptr %10, align 4 %242 = insertvalue { ptr, i32 } poison, ptr %240, 0 %243 = insertvalue { ptr, i32 } %242, i32 %241, 1 resume { ptr, i32 } %243 } ; Function Attrs: mustprogress nounwind uwtable define internal noundef i32 @_ZL5clog2i(i32 noundef %0) #1 { %2 = alloca i32, align 4 %3 = alloca i32, align 4 store i32 %0, ptr %2, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %3) #18 %4 = load i32, ptr %2, align 4, !tbaa !72 %5 = load i32, ptr %2, align 4, !tbaa !72 %6 = sub nsw i32 %5, 1 %7 = and i32 %4, %6 store i32 %7, ptr %3, align 4, !tbaa !72 %8 = load i32, ptr %3, align 4, !tbaa !72 %9 = load i32, ptr %3, align 4, !tbaa !72 %10 = sub nsw i32 0, %9 %11 = or i32 %8, %10 %12 = ashr i32 %11, 31 store i32 %12, ptr %3, align 4, !tbaa !72 %13 = load i32, ptr %2, align 4, !tbaa !72 %14 = ashr i32 %13, 1 %15 = load i32, ptr %2, align 4, !tbaa !72 %16 = or i32 %15, %14 store i32 %16, ptr %2, align 4, !tbaa !72 %17 = load i32, ptr %2, align 4, !tbaa !72 %18 = ashr i32 %17, 2 %19 = load i32, ptr %2, align 4, !tbaa !72 %20 = or i32 %19, %18 store i32 %20, ptr %2, align 4, !tbaa !72 %21 = load i32, ptr %2, align 4, !tbaa !72 %22 = ashr i32 %21, 4 %23 = load i32, ptr %2, align 4, !tbaa !72 %24 = or i32 %23, %22 store i32 %24, ptr %2, align 4, !tbaa !72 %25 = load i32, ptr %2, align 4, !tbaa !72 %26 = ashr i32 %25, 8 %27 = load i32, ptr %2, align 4, !tbaa !72 %28 = or i32 %27, %26 store i32 %28, ptr %2, align 4, !tbaa !72 %29 = load i32, ptr %2, align 4, !tbaa !72 %30 = ashr i32 %29, 16 %31 = load i32, ptr %2, align 4, !tbaa !72 %32 = or i32 %31, %30 store i32 %32, ptr %2, align 4, !tbaa !72 %33 = load i32, ptr %2, align 4, !tbaa !72 %34 = ashr i32 %33, 1 store i32 %34, ptr %2, align 4, !tbaa !72 %35 = load i32, ptr %2, align 4, !tbaa !72 %36 = ashr i32 %35, 1 %37 = and i32 %36, 1431655765 %38 = load i32, ptr %2, align 4, !tbaa !72 %39 = sub nsw i32 %38, %37 store i32 %39, ptr %2, align 4, !tbaa !72 %40 = load i32, ptr %2, align 4, !tbaa !72 %41 = ashr i32 %40, 2 %42 = and i32 %41, 858993459 %43 = load i32, ptr %2, align 4, !tbaa !72 %44 = and i32 %43, 858993459 %45 = add nsw i32 %42, %44 store i32 %45, ptr %2, align 4, !tbaa !72 %46 = load i32, ptr %2, align 4, !tbaa !72 %47 = ashr i32 %46, 4 %48 = load i32, ptr %2, align 4, !tbaa !72 %49 = add nsw i32 %47, %48 %50 = and i32 %49, 252645135 store i32 %50, ptr %2, align 4, !tbaa !72 %51 = load i32, ptr %2, align 4, !tbaa !72 %52 = ashr i32 %51, 8 %53 = load i32, ptr %2, align 4, !tbaa !72 %54 = add nsw i32 %53, %52 store i32 %54, ptr %2, align 4, !tbaa !72 %55 = load i32, ptr %2, align 4, !tbaa !72 %56 = ashr i32 %55, 16 %57 = load i32, ptr %2, align 4, !tbaa !72 %58 = add nsw i32 %57, %56 store i32 %58, ptr %2, align 4, !tbaa !72 %59 = load i32, ptr %2, align 4, !tbaa !72 %60 = and i32 %59, 63 store i32 %60, ptr %2, align 4, !tbaa !72 %61 = load i32, ptr %2, align 4, !tbaa !72 %62 = load i32, ptr %3, align 4, !tbaa !72 %63 = sub nsw i32 %61, %62 call void @llvm.lifetime.end.p0(i64 4, ptr %3) #18 ret i32 %63 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT7manyhotERKSt6vectorIiSaIiEEii(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, i32 noundef %2, i32 noundef %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca %"class.std::vector.14", align 8 %12 = alloca %"class.std::vector.14", align 8 %13 = alloca %"class.std::vector.14", align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = alloca %"class.std::vector.14", align 8 %17 = alloca %"class.std::vector.14", align 8 %18 = alloca %"class.std::vector.14", align 8 %19 = alloca %"class.std::vector.14", align 8 %20 = alloca i32, align 4 %21 = alloca %"class.std::vector.14", align 8 %22 = alloca %"class.std::vector.14", align 8 %23 = alloca i32, align 4 %24 = alloca i32, align 4 %25 = alloca i32, align 4 %26 = alloca i32, align 4 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca %"struct.ezSAT::_V", align 8 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca %"struct.ezSAT::_V", align 8 %33 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %5, align 8, !tbaa !6 store ptr %1, ptr %6, align 8, !tbaa !68 store i32 %2, ptr %7, align 4, !tbaa !72 store i32 %3, ptr %8, align 4, !tbaa !72 %34 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 store i32 0, ptr %9, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 store i32 0, ptr %10, align 4, !tbaa !72 %35 = load ptr, ptr %6, align 8, !tbaa !68 %36 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %35) #18 %37 = icmp ult i64 %36, 3 br i1 %37, label %38, label %39 38: ; preds = %4 store i32 7, ptr %9, align 4, !tbaa !72 store i32 2, ptr %10, align 4, !tbaa !72 br label %76 39: ; preds = %4 %40 = load ptr, ptr %6, align 8, !tbaa !68 %41 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %40) #18 %42 = icmp ult i64 %41, 7 br i1 %42, label %43, label %44 43: ; preds = %39 store i32 13, ptr %9, align 4, !tbaa !72 store i32 3, ptr %10, align 4, !tbaa !72 br label %75 44: ; preds = %39 %45 = load ptr, ptr %6, align 8, !tbaa !68 %46 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #18 %47 = icmp ult i64 %46, 15 br i1 %47, label %48, label %49 48: ; preds = %44 store i32 25, ptr %9, align 4, !tbaa !72 store i32 4, ptr %10, align 4, !tbaa !72 br label %74 49: ; preds = %44 %50 = load ptr, ptr %6, align 8, !tbaa !68 %51 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %50) #18 %52 = icmp ult i64 %51, 31 br i1 %52, label %53, label %54 53: ; preds = %49 store i32 41, ptr %9, align 4, !tbaa !72 store i32 5, ptr %10, align 4, !tbaa !72 br label %73 54: ; preds = %49 %55 = load ptr, ptr %6, align 8, !tbaa !68 %56 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %55) #18 %57 = icmp ult i64 %56, 63 br i1 %57, label %58, label %59 58: ; preds = %54 store i32 97, ptr %9, align 4, !tbaa !72 store i32 6, ptr %10, align 4, !tbaa !72 br label %72 59: ; preds = %54 %60 = load ptr, ptr %6, align 8, !tbaa !68 %61 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %60) #18 %62 = icmp ult i64 %61, 127 br i1 %62, label %63, label %64 63: ; preds = %59 store i32 193, ptr %9, align 4, !tbaa !72 store i32 7, ptr %10, align 4, !tbaa !72 br label %71 64: ; preds = %59 %65 = load ptr, ptr %6, align 8, !tbaa !68 %66 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %65) #18 %67 = icmp ult i64 %66, 511 br i1 %67, label %68, label %69 68: ; preds = %64 store i32 545, ptr %9, align 4, !tbaa !72 store i32 9, ptr %10, align 4, !tbaa !72 br label %70 69: ; preds = %64 br label %70 70: ; preds = %69, %68 br label %71 71: ; preds = %70, %63 br label %72 72: ; preds = %71, %58 br label %73 73: ; preds = %72, %53 br label %74 74: ; preds = %73, %48 br label %75 75: ; preds = %74, %43 br label %76 76: ; preds = %75, %38 call void @llvm.lifetime.start.p0(i64 24, ptr %11) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %12) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 %77 = load i32, ptr %7, align 4, !tbaa !72 %78 = icmp sgt i32 %77, 1 br i1 %78, label %79, label %92 79: ; preds = %76 call void @llvm.lifetime.start.p0(i64 24, ptr %13) #18 %80 = load i32, ptr %9, align 4, !tbaa !72 %81 = load i32, ptr %7, align 4, !tbaa !72 %82 = invoke noundef i32 @_ZL8lfsr_numiii(i32 noundef 1, i32 noundef %80, i32 noundef %81) to label %83 unwind label %88 83: ; preds = %79 %84 = sext i32 %82 to i64 %85 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT18vec_const_unsignedEmi(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %13, ptr noundef nonnull align 8 dereferenceable(284) %34, i64 noundef %84, i32 noundef %85) to label %86 unwind label %88 86: ; preds = %83 %87 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %13) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %13) #18 br label %92 88: ; preds = %83, %79 %89 = landingpad { ptr, i32 } cleanup %90 = extractvalue { ptr, i32 } %89, 0 store ptr %90, ptr %14, align 8 %91 = extractvalue { ptr, i32 } %89, 1 store i32 %91, ptr %15, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %13) #18 br label %256 92: ; preds = %86, %76 %93 = load i32, ptr %8, align 4, !tbaa !72 %94 = icmp sge i32 %93, 0 br i1 %94, label %95, label %109 95: ; preds = %92 call void @llvm.lifetime.start.p0(i64 24, ptr %16) #18 %96 = load i32, ptr %9, align 4, !tbaa !72 %97 = load i32, ptr %8, align 4, !tbaa !72 %98 = add nsw i32 %97, 1 %99 = invoke noundef i32 @_ZL8lfsr_numiii(i32 noundef 1, i32 noundef %96, i32 noundef %98) to label %100 unwind label %105 100: ; preds = %95 %101 = sext i32 %99 to i64 %102 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT18vec_const_unsignedEmi(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %16, ptr noundef nonnull align 8 dereferenceable(284) %34, i64 noundef %101, i32 noundef %102) to label %103 unwind label %105 103: ; preds = %100 %104 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %16) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %16) #18 br label %109 105: ; preds = %100, %95 %106 = landingpad { ptr, i32 } cleanup %107 = extractvalue { ptr, i32 } %106, 0 store ptr %107, ptr %14, align 8 %108 = extractvalue { ptr, i32 } %106, 1 store i32 %108, ptr %15, align 4 call void @llvm.lifetime.end.p0(i64 24, ptr %16) #18 br label %256 109: ; preds = %103, %92 call void @llvm.lifetime.start.p0(i64 24, ptr %17) #18 %110 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT18vec_const_unsignedEmi(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %17, ptr noundef nonnull align 8 dereferenceable(284) %34, i64 noundef 1, i32 noundef %110) to label %111 unwind label %118 111: ; preds = %109 call void @llvm.lifetime.start.p0(i64 24, ptr %18) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 call void @llvm.lifetime.start.p0(i64 24, ptr %19) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #18 %112 = load i32, ptr %7, align 4, !tbaa !72 %113 = icmp eq i32 %112, 1 br i1 %113, label %114, label %126 114: ; preds = %111 %115 = load ptr, ptr %6, align 8, !tbaa !68 %116 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %115) to label %117 unwind label %122 117: ; preds = %114 br label %126 118: ; preds = %109 %119 = landingpad { ptr, i32 } cleanup %120 = extractvalue { ptr, i32 } %119, 0 store ptr %120, ptr %14, align 8 %121 = extractvalue { ptr, i32 } %119, 1 store i32 %121, ptr %15, align 4 br label %255 122: ; preds = %114 %123 = landingpad { ptr, i32 } cleanup %124 = extractvalue { ptr, i32 } %123, 0 store ptr %124, ptr %14, align 8 %125 = extractvalue { ptr, i32 } %123, 1 store i32 %125, ptr %15, align 4 br label %254 126: ; preds = %117, %111 call void @llvm.lifetime.start.p0(i64 4, ptr %20) #18 store i32 0, ptr %20, align 4, !tbaa !72 br label %127 127: ; preds = %182, %126 %128 = load i32, ptr %20, align 4, !tbaa !72 %129 = load ptr, ptr %6, align 8, !tbaa !68 %130 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %129) #18 %131 = trunc i64 %130 to i32 %132 = icmp slt i32 %128, %131 br i1 %132, label %134, label %133 133: ; preds = %127 call void @llvm.lifetime.end.p0(i64 4, ptr %20) #18 br label %186 134: ; preds = %127 call void @llvm.lifetime.start.p0(i64 24, ptr %21) #18 %135 = load ptr, ptr %6, align 8, !tbaa !68 %136 = load i32, ptr %20, align 4, !tbaa !72 %137 = sext i32 %136 to i64 %138 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %135, i64 noundef %137) #18 %139 = load i32, ptr %138, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 24, ptr %22) #18 %140 = load i32, ptr %9, align 4, !tbaa !72 invoke void @_ZL8lfsr_symP5ezSATRKSt6vectorIiSaIiEEi(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %22, ptr noundef %34, ptr noundef nonnull align 8 dereferenceable(24) %17, i32 noundef %140) to label %141 unwind label %154 141: ; preds = %134 invoke void @_ZN5ezSAT7vec_iteEiRKSt6vectorIiSaIiEES4_(ptr dead_on_unwind writable sret(%"class.std::vector.14") align 8 %21, ptr noundef nonnull align 8 dereferenceable(284) %34, i32 noundef %139, ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %17) to label %142 unwind label %158 142: ; preds = %141 %143 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %21) #18 %144 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 br i1 %144, label %167, label %145 145: ; preds = %142 %146 = load i32, ptr %20, align 4, !tbaa !72 %147 = add nsw i32 %146, 1 %148 = load i32, ptr %7, align 4, !tbaa !72 %149 = icmp sge i32 %147, %148 br i1 %149, label %150, label %167 150: ; preds = %145 call void @llvm.lifetime.start.p0(i64 4, ptr %23) #18 %151 = invoke noundef i32 @_ZN5ezSAT6vec_eqERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %17) to label %152 unwind label %163 152: ; preds = %150 store i32 %151, ptr %23, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 4 dereferenceable(4) %23) to label %153 unwind label %163 153: ; preds = %152 call void @llvm.lifetime.end.p0(i64 4, ptr %23) #18 br label %167 154: ; preds = %134 %155 = landingpad { ptr, i32 } cleanup %156 = extractvalue { ptr, i32 } %155, 0 store ptr %156, ptr %14, align 8 %157 = extractvalue { ptr, i32 } %155, 1 store i32 %157, ptr %15, align 4 br label %162 158: ; preds = %141 %159 = landingpad { ptr, i32 } cleanup %160 = extractvalue { ptr, i32 } %159, 0 store ptr %160, ptr %14, align 8 %161 = extractvalue { ptr, i32 } %159, 1 store i32 %161, ptr %15, align 4 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #18 br label %162 162: ; preds = %158, %154 call void @llvm.lifetime.end.p0(i64 24, ptr %22) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %21) #18 br label %185 163: ; preds = %152, %150 %164 = landingpad { ptr, i32 } cleanup %165 = extractvalue { ptr, i32 } %164, 0 store ptr %165, ptr %14, align 8 %166 = extractvalue { ptr, i32 } %164, 1 store i32 %166, ptr %15, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %23) #18 br label %185 167: ; preds = %153, %145, %142 %168 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 br i1 %168, label %181, label %169 169: ; preds = %167 %170 = load i32, ptr %20, align 4, !tbaa !72 %171 = load i32, ptr %8, align 4, !tbaa !72 %172 = icmp sge i32 %170, %171 br i1 %172, label %173, label %181 173: ; preds = %169 call void @llvm.lifetime.start.p0(i64 4, ptr %24) #18 %174 = invoke noundef i32 @_ZN5ezSAT6vec_eqERKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %17) to label %175 unwind label %177 175: ; preds = %173 store i32 %174, ptr %24, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 4 dereferenceable(4) %24) to label %176 unwind label %177 176: ; preds = %175 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 br label %181 177: ; preds = %175, %173 %178 = landingpad { ptr, i32 } cleanup %179 = extractvalue { ptr, i32 } %178, 0 store ptr %179, ptr %14, align 8 %180 = extractvalue { ptr, i32 } %178, 1 store i32 %180, ptr %15, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 br label %185 181: ; preds = %176, %169, %167 br label %182 182: ; preds = %181 %183 = load i32, ptr %20, align 4, !tbaa !72 %184 = add nsw i32 %183, 1 store i32 %184, ptr %20, align 4, !tbaa !72 br label %127, !llvm.loop !218 185: ; preds = %177, %163, %162 call void @llvm.lifetime.end.p0(i64 4, ptr %20) #18 br label %254 186: ; preds = %133 call void @llvm.lifetime.start.p0(i64 4, ptr %25) #18 %187 = load i32, ptr %7, align 4, !tbaa !72 %188 = icmp ne i32 %187, 0 br i1 %188, label %189, label %192 189: ; preds = %186 %190 = invoke noundef i32 @_ZN5ezSAT13vec_reduce_orERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef nonnull align 8 dereferenceable(24) %18) to label %191 unwind label %210 191: ; preds = %189 br label %193 192: ; preds = %186 br label %193 193: ; preds = %192, %191 %194 = phi i32 [ %190, %191 ], [ 1, %192 ] store i32 %194, ptr %25, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %26) #18 %195 = invoke noundef i32 @_ZN5ezSAT13vec_reduce_orERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef nonnull align 8 dereferenceable(24) %19) to label %196 unwind label %214 196: ; preds = %193 store i32 %195, ptr %26, align 4, !tbaa !72 %197 = load i32, ptr %25, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef %197) to label %198 unwind label %214 198: ; preds = %196 %199 = load i32, ptr %26, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %29, i32 noundef %199) to label %200 unwind label %218 200: ; preds = %198 %201 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef %29) to label %202 unwind label %222 202: ; preds = %200 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef %201) to label %203 unwind label %222 203: ; preds = %202 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef 0) to label %204 unwind label %226 204: ; preds = %203 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef 0) to label %205 unwind label %230 205: ; preds = %204 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef 0) to label %206 unwind label %234 206: ; preds = %205 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %33, i32 noundef 0) to label %207 unwind label %238 207: ; preds = %206 %208 = invoke noundef i32 @_ZN5ezSAT3ANDENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %34, ptr noundef %27, ptr noundef %28, ptr noundef %30, ptr noundef %31, ptr noundef %32, ptr noundef %33) to label %209 unwind label %242 209: ; preds = %207 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %19) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %18) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %17) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %12) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 ret i32 %208 210: ; preds = %189 %211 = landingpad { ptr, i32 } cleanup %212 = extractvalue { ptr, i32 } %211, 0 store ptr %212, ptr %14, align 8 %213 = extractvalue { ptr, i32 } %211, 1 store i32 %213, ptr %15, align 4 br label %253 214: ; preds = %196, %193 %215 = landingpad { ptr, i32 } cleanup %216 = extractvalue { ptr, i32 } %215, 0 store ptr %216, ptr %14, align 8 %217 = extractvalue { ptr, i32 } %215, 1 store i32 %217, ptr %15, align 4 br label %252 218: ; preds = %198 %219 = landingpad { ptr, i32 } cleanup %220 = extractvalue { ptr, i32 } %219, 0 store ptr %220, ptr %14, align 8 %221 = extractvalue { ptr, i32 } %219, 1 store i32 %221, ptr %15, align 4 br label %251 222: ; preds = %202, %200 %223 = landingpad { ptr, i32 } cleanup %224 = extractvalue { ptr, i32 } %223, 0 store ptr %224, ptr %14, align 8 %225 = extractvalue { ptr, i32 } %223, 1 store i32 %225, ptr %15, align 4 br label %250 226: ; preds = %203 %227 = landingpad { ptr, i32 } cleanup %228 = extractvalue { ptr, i32 } %227, 0 store ptr %228, ptr %14, align 8 %229 = extractvalue { ptr, i32 } %227, 1 store i32 %229, ptr %15, align 4 br label %249 230: ; preds = %204 %231 = landingpad { ptr, i32 } cleanup %232 = extractvalue { ptr, i32 } %231, 0 store ptr %232, ptr %14, align 8 %233 = extractvalue { ptr, i32 } %231, 1 store i32 %233, ptr %15, align 4 br label %248 234: ; preds = %205 %235 = landingpad { ptr, i32 } cleanup %236 = extractvalue { ptr, i32 } %235, 0 store ptr %236, ptr %14, align 8 %237 = extractvalue { ptr, i32 } %235, 1 store i32 %237, ptr %15, align 4 br label %247 238: ; preds = %206 %239 = landingpad { ptr, i32 } cleanup %240 = extractvalue { ptr, i32 } %239, 0 store ptr %240, ptr %14, align 8 %241 = extractvalue { ptr, i32 } %239, 1 store i32 %241, ptr %15, align 4 br label %246 242: ; preds = %207 %243 = landingpad { ptr, i32 } cleanup %244 = extractvalue { ptr, i32 } %243, 0 store ptr %244, ptr %14, align 8 %245 = extractvalue { ptr, i32 } %243, 1 store i32 %245, ptr %15, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #18 br label %246 246: ; preds = %242, %238 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %247 247: ; preds = %246, %234 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 br label %248 248: ; preds = %247, %230 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %249 249: ; preds = %248, %226 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %250 250: ; preds = %249, %222 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 br label %251 251: ; preds = %250, %218 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %252 252: ; preds = %251, %214 call void @llvm.lifetime.end.p0(i64 4, ptr %26) #18 br label %253 253: ; preds = %252, %210 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 br label %254 254: ; preds = %253, %185, %122 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %19) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %18) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 br label %255 255: ; preds = %254, %118 call void @llvm.lifetime.end.p0(i64 24, ptr %17) #18 br label %256 256: ; preds = %255, %105, %88 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %12) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %257 257: ; preds = %256 %258 = load ptr, ptr %14, align 8 %259 = load i32, ptr %15, align 4 %260 = insertvalue { ptr, i32 } poison, ptr %258, 0 %261 = insertvalue { ptr, i32 } %260, i32 %259, 1 resume { ptr, i32 } %261 } ; Function Attrs: mustprogress nounwind uwtable define internal noundef i32 @_ZL8lfsr_numiii(i32 noundef %0, i32 noundef %1, i32 noundef %2) #1 { %4 = alloca i32, align 4 %5 = alloca i32, align 4 %6 = alloca i32, align 4 %7 = alloca i32, align 4 %8 = alloca i32, align 4 store i32 %0, ptr %4, align 4, !tbaa !72 store i32 %1, ptr %5, align 4, !tbaa !72 store i32 %2, ptr %6, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 %9 = load i32, ptr %5, align 4, !tbaa !72 %10 = ashr i32 %9, 1 store i32 %10, ptr %7, align 4, !tbaa !72 %11 = load i32, ptr %7, align 4, !tbaa !72 %12 = ashr i32 %11, 1 %13 = load i32, ptr %7, align 4, !tbaa !72 %14 = or i32 %13, %12 store i32 %14, ptr %7, align 4, !tbaa !72 %15 = load i32, ptr %7, align 4, !tbaa !72 %16 = ashr i32 %15, 2 %17 = load i32, ptr %7, align 4, !tbaa !72 %18 = or i32 %17, %16 store i32 %18, ptr %7, align 4, !tbaa !72 %19 = load i32, ptr %7, align 4, !tbaa !72 %20 = ashr i32 %19, 4 %21 = load i32, ptr %7, align 4, !tbaa !72 %22 = or i32 %21, %20 store i32 %22, ptr %7, align 4, !tbaa !72 %23 = load i32, ptr %7, align 4, !tbaa !72 %24 = ashr i32 %23, 8 %25 = load i32, ptr %7, align 4, !tbaa !72 %26 = or i32 %25, %24 store i32 %26, ptr %7, align 4, !tbaa !72 %27 = load i32, ptr %7, align 4, !tbaa !72 %28 = ashr i32 %27, 16 %29 = load i32, ptr %7, align 4, !tbaa !72 %30 = or i32 %29, %28 store i32 %30, ptr %7, align 4, !tbaa !72 br label %31 31: ; preds = %35, %3 %32 = load i32, ptr %6, align 4, !tbaa !72 %33 = add nsw i32 %32, -1 store i32 %33, ptr %6, align 4, !tbaa !72 %34 = icmp sgt i32 %32, 0 br i1 %34, label %35, label %76 35: ; preds = %31 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 %36 = load i32, ptr %4, align 4, !tbaa !72 %37 = load i32, ptr %5, align 4, !tbaa !72 %38 = ashr i32 %37, 1 %39 = and i32 %36, %38 store i32 %39, ptr %8, align 4, !tbaa !72 %40 = load i32, ptr %8, align 4, !tbaa !72 %41 = and i32 %40, -1431655766 %42 = lshr i32 %41, 1 %43 = load i32, ptr %8, align 4, !tbaa !72 %44 = and i32 %43, 1431655765 %45 = xor i32 %42, %44 store i32 %45, ptr %8, align 4, !tbaa !72 %46 = load i32, ptr %8, align 4, !tbaa !72 %47 = and i32 %46, 1145324612 %48 = ashr i32 %47, 2 %49 = load i32, ptr %8, align 4, !tbaa !72 %50 = and i32 %49, 286331153 %51 = xor i32 %48, %50 store i32 %51, ptr %8, align 4, !tbaa !72 %52 = load i32, ptr %8, align 4, !tbaa !72 %53 = and i32 %52, 269488144 %54 = ashr i32 %53, 4 %55 = load i32, ptr %8, align 4, !tbaa !72 %56 = and i32 %55, 16843009 %57 = xor i32 %54, %56 store i32 %57, ptr %8, align 4, !tbaa !72 %58 = load i32, ptr %8, align 4, !tbaa !72 %59 = and i32 %58, 16777472 %60 = ashr i32 %59, 8 %61 = load i32, ptr %8, align 4, !tbaa !72 %62 = and i32 %61, 65537 %63 = xor i32 %60, %62 store i32 %63, ptr %8, align 4, !tbaa !72 %64 = load i32, ptr %8, align 4, !tbaa !72 %65 = and i32 %64, 65536 %66 = ashr i32 %65, 16 %67 = load i32, ptr %8, align 4, !tbaa !72 %68 = and i32 %67, 1 %69 = xor i32 %66, %68 store i32 %69, ptr %8, align 4, !tbaa !72 %70 = load i32, ptr %4, align 4, !tbaa !72 %71 = shl i32 %70, 1 %72 = load i32, ptr %8, align 4, !tbaa !72 %73 = or i32 %71, %72 %74 = load i32, ptr %7, align 4, !tbaa !72 %75 = and i32 %73, %74 store i32 %75, ptr %4, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 br label %31, !llvm.loop !219 76: ; preds = %31 %77 = load i32, ptr %4, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret i32 %77 } ; Function Attrs: mustprogress uwtable define internal void @_ZL8lfsr_symP5ezSATRKSt6vectorIiSaIiEEi(ptr dead_on_unwind noalias writable sret(%"class.std::vector.14") align 8 %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i32 noundef %3) #0 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 %9 = alloca i1, align 1 %10 = alloca i32, align 4 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 %13 = alloca %"struct.ezSAT::_V", align 8 %14 = alloca %"struct.ezSAT::_V", align 8 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca %"struct.ezSAT::_V", align 8 %18 = alloca %"struct.ezSAT::_V", align 8 %19 = alloca i32, align 4 store ptr %0, ptr %5, align 8 store ptr %1, ptr %6, align 8, !tbaa !6 store ptr %2, ptr %7, align 8, !tbaa !68 store i32 %3, ptr %8, align 4, !tbaa !72 store i1 false, ptr %9, align 1 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 store i32 0, ptr %10, align 4, !tbaa !72 br label %20 20: ; preds = %99, %4 %21 = load i32, ptr %10, align 4, !tbaa !72 %22 = load ptr, ptr %7, align 8, !tbaa !68 %23 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #18 %24 = trunc i64 %23 to i32 %25 = icmp slt i32 %21, %24 br i1 %25, label %27, label %26 26: ; preds = %20 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %103 27: ; preds = %20 %28 = load i32, ptr %8, align 4, !tbaa !72 %29 = load i32, ptr %10, align 4, !tbaa !72 %30 = add nsw i32 %29, 1 %31 = shl i32 1, %30 %32 = and i32 %28, %31 %33 = icmp ne i32 %32, 0 br i1 %33, label %34, label %98 34: ; preds = %27 %35 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br i1 %35, label %36, label %47 36: ; preds = %34 %37 = load ptr, ptr %7, align 8, !tbaa !68 %38 = load i32, ptr %10, align 4, !tbaa !72 %39 = sext i32 %38 to i64 %40 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %39) to label %41 unwind label %43 41: ; preds = %36 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %40) to label %42 unwind label %43 42: ; preds = %41 br label %97 43: ; preds = %50, %47, %41, %36 %44 = landingpad { ptr, i32 } cleanup %45 = extractvalue { ptr, i32 } %44, 0 store ptr %45, ptr %11, align 8 %46 = extractvalue { ptr, i32 } %44, 1 store i32 %46, ptr %12, align 4 br label %102 47: ; preds = %34 %48 = load ptr, ptr %6, align 8, !tbaa !6 %49 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef 0) to label %50 unwind label %43 50: ; preds = %47 %51 = load i32, ptr %49, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %13, i32 noundef %51) to label %52 unwind label %43 52: ; preds = %50 %53 = load ptr, ptr %7, align 8, !tbaa !68 %54 = load i32, ptr %10, align 4, !tbaa !72 %55 = sext i32 %54 to i64 %56 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %55) to label %57 unwind label %68 57: ; preds = %52 %58 = load i32, ptr %56, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %14, i32 noundef %58) to label %59 unwind label %68 59: ; preds = %57 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef 0) to label %60 unwind label %72 60: ; preds = %59 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef 0) to label %61 unwind label %76 61: ; preds = %60 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %17, i32 noundef 0) to label %62 unwind label %80 62: ; preds = %61 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %18, i32 noundef 0) to label %63 unwind label %84 63: ; preds = %62 %64 = invoke noundef i32 @_ZN5ezSAT3XORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %48, ptr noundef %13, ptr noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18) to label %65 unwind label %88 65: ; preds = %63 %66 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef 0) to label %67 unwind label %88 67: ; preds = %65 store i32 %64, ptr %66, align 4, !tbaa !72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 br label %97 68: ; preds = %57, %52 %69 = landingpad { ptr, i32 } cleanup %70 = extractvalue { ptr, i32 } %69, 0 store ptr %70, ptr %11, align 8 %71 = extractvalue { ptr, i32 } %69, 1 store i32 %71, ptr %12, align 4 br label %96 72: ; preds = %59 %73 = landingpad { ptr, i32 } cleanup %74 = extractvalue { ptr, i32 } %73, 0 store ptr %74, ptr %11, align 8 %75 = extractvalue { ptr, i32 } %73, 1 store i32 %75, ptr %12, align 4 br label %95 76: ; preds = %60 %77 = landingpad { ptr, i32 } cleanup %78 = extractvalue { ptr, i32 } %77, 0 store ptr %78, ptr %11, align 8 %79 = extractvalue { ptr, i32 } %77, 1 store i32 %79, ptr %12, align 4 br label %94 80: ; preds = %61 %81 = landingpad { ptr, i32 } cleanup %82 = extractvalue { ptr, i32 } %81, 0 store ptr %82, ptr %11, align 8 %83 = extractvalue { ptr, i32 } %81, 1 store i32 %83, ptr %12, align 4 br label %93 84: ; preds = %62 %85 = landingpad { ptr, i32 } cleanup %86 = extractvalue { ptr, i32 } %85, 0 store ptr %86, ptr %11, align 8 %87 = extractvalue { ptr, i32 } %85, 1 store i32 %87, ptr %12, align 4 br label %92 88: ; preds = %65, %63 %89 = landingpad { ptr, i32 } cleanup %90 = extractvalue { ptr, i32 } %89, 0 store ptr %90, ptr %11, align 8 %91 = extractvalue { ptr, i32 } %89, 1 store i32 %91, ptr %12, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #18 br label %92 92: ; preds = %88, %84 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #18 br label %93 93: ; preds = %92, %80 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %94 94: ; preds = %93, %76 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %95 95: ; preds = %94, %72 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #18 br label %96 96: ; preds = %95, %68 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %13) #18 br label %102 97: ; preds = %67, %42 br label %98 98: ; preds = %97, %27 br label %99 99: ; preds = %98 %100 = load i32, ptr %10, align 4, !tbaa !72 %101 = add nsw i32 %100, 1 store i32 %101, ptr %10, align 4, !tbaa !72 br label %20, !llvm.loop !220 102: ; preds = %96, %43 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 br label %130 103: ; preds = %26 call void @llvm.lifetime.start.p0(i64 4, ptr %19) #18 store i32 0, ptr %19, align 4, !tbaa !72 br label %104 104: ; preds = %119, %103 %105 = load i32, ptr %19, align 4, !tbaa !72 %106 = add nsw i32 %105, 1 %107 = load ptr, ptr %7, align 8, !tbaa !68 %108 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %107) #18 %109 = trunc i64 %108 to i32 %110 = icmp slt i32 %106, %109 br i1 %110, label %112, label %111 111: ; preds = %104 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %126 112: ; preds = %104 %113 = load ptr, ptr %7, align 8, !tbaa !68 %114 = load i32, ptr %19, align 4, !tbaa !72 %115 = sext i32 %114 to i64 %116 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %115) to label %117 unwind label %122 117: ; preds = %112 invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %116) to label %118 unwind label %122 118: ; preds = %117 br label %119 119: ; preds = %118 %120 = load i32, ptr %19, align 4, !tbaa !72 %121 = add nsw i32 %120, 1 store i32 %121, ptr %19, align 4, !tbaa !72 br label %104, !llvm.loop !221 122: ; preds = %117, %112 %123 = landingpad { ptr, i32 } cleanup %124 = extractvalue { ptr, i32 } %123, 0 store ptr %124, ptr %11, align 8 %125 = extractvalue { ptr, i32 } %123, 1 store i32 %125, ptr %12, align 4 call void @llvm.lifetime.end.p0(i64 4, ptr %19) #18 br label %130 126: ; preds = %111 store i1 true, ptr %9, align 1 %127 = load i1, ptr %9, align 1 br i1 %127, label %129, label %128 128: ; preds = %126 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %129 129: ; preds = %128, %126 ret void 130: ; preds = %122, %102 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #18 br label %131 131: ; preds = %130 %132 = load ptr, ptr %11, align 8 %133 = load i32, ptr %12, align 4 %134 = insertvalue { ptr, i32 } poison, ptr %132, 0 %135 = insertvalue { ptr, i32 } %134, i32 %133, 1 resume { ptr, i32 } %135 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %5 = load ptr, ptr %2, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 %6 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %8 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %8, ptr %9, align 8 %10 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret i1 %10 } ; Function Attrs: mustprogress uwtable define noundef i32 @_ZN5ezSAT7orderedERKSt6vectorIiSaIiEES4_b(ptr noundef nonnull align 8 dereferenceable(284) %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, i1 noundef zeroext %3) #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i8, align 1 %9 = alloca %"class.std::vector.14", align 8 %10 = alloca i32, align 4 %11 = alloca i64, align 8 %12 = alloca i32, align 4 %13 = alloca i32, align 4 %14 = alloca i32, align 4 %15 = alloca %"struct.ezSAT::_V", align 8 %16 = alloca %"struct.ezSAT::_V", align 8 %17 = alloca ptr, align 8 %18 = alloca i32, align 4 %19 = alloca %"struct.ezSAT::_V", align 8 %20 = alloca %"struct.ezSAT::_V", align 8 %21 = alloca %"struct.ezSAT::_V", align 8 %22 = alloca %"struct.ezSAT::_V", align 8 %23 = alloca %"struct.ezSAT::_V", align 8 %24 = alloca i32, align 4 %25 = alloca i32, align 4 %26 = alloca %"struct.ezSAT::_V", align 8 %27 = alloca %"struct.ezSAT::_V", align 8 %28 = alloca %"struct.ezSAT::_V", align 8 %29 = alloca %"struct.ezSAT::_V", align 8 %30 = alloca %"struct.ezSAT::_V", align 8 %31 = alloca %"struct.ezSAT::_V", align 8 %32 = alloca %"struct.ezSAT::_V", align 8 %33 = alloca i32, align 4 %34 = alloca %"struct.ezSAT::_V", align 8 %35 = alloca %"struct.ezSAT::_V", align 8 %36 = alloca %"struct.ezSAT::_V", align 8 %37 = alloca %"struct.ezSAT::_V", align 8 %38 = alloca %"struct.ezSAT::_V", align 8 %39 = alloca %"struct.ezSAT::_V", align 8 %40 = alloca %"struct.ezSAT::_V", align 8 %41 = alloca %"struct.ezSAT::_V", align 8 %42 = alloca %"struct.ezSAT::_V", align 8 store ptr %0, ptr %5, align 8, !tbaa !6 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !68 %43 = zext i1 %3 to i8 store i8 %43, ptr %8, align 1, !tbaa !87 %44 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %9) #18 call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %10) #18 store i32 2, ptr %10, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 store i64 0, ptr %11, align 8, !tbaa !97 br label %45 45: ; preds = %128, %4 %46 = load i64, ptr %11, align 8, !tbaa !97 %47 = load ptr, ptr %6, align 8, !tbaa !68 %48 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #18 %49 = icmp ult i64 %46, %48 br i1 %49, label %51, label %50 50: ; preds = %45 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 br label %264 51: ; preds = %45 call void @llvm.lifetime.start.p0(i64 4, ptr %12) #18 %52 = load ptr, ptr %6, align 8, !tbaa !68 %53 = load i64, ptr %11, align 8, !tbaa !97 %54 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %52, i64 noundef %53) #18 %55 = load i32, ptr %54, align 4, !tbaa !72 store i32 %55, ptr %12, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %13) #18 %56 = load ptr, ptr %7, align 8, !tbaa !68 %57 = load i64, ptr %11, align 8, !tbaa !97 %58 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %56, i64 noundef %57) #18 %59 = load i32, ptr %58, align 4, !tbaa !72 store i32 %59, ptr %13, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %14) #18 %60 = load i32, ptr %12, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %16, i32 noundef %60) to label %61 unwind label %131 61: ; preds = %51 %62 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %44, ptr noundef %16) to label %63 unwind label %135 63: ; preds = %61 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %15, i32 noundef %62) to label %64 unwind label %135 64: ; preds = %63 %65 = load i32, ptr %13, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %19, i32 noundef %65) to label %66 unwind label %139 66: ; preds = %64 %67 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %20, i32 noundef %67) to label %68 unwind label %143 68: ; preds = %66 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %21, i32 noundef 0) to label %69 unwind label %147 69: ; preds = %68 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %22, i32 noundef 0) to label %70 unwind label %151 70: ; preds = %69 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %23, i32 noundef 0) to label %71 unwind label %155 71: ; preds = %70 %72 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %44, ptr noundef %15, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23) to label %73 unwind label %159 73: ; preds = %71 store i32 %72, ptr %14, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %14) to label %74 unwind label %159 74: ; preds = %73 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %24) #18 %75 = load i64, ptr %11, align 8, !tbaa !97 %76 = add i64 %75, 1 %77 = load ptr, ptr %6, align 8, !tbaa !68 %78 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %77) #18 %79 = icmp ult i64 %76, %78 br i1 %79, label %80, label %83 80: ; preds = %74 %81 = invoke noundef i32 @_ZN5ezSAT7literalEv(ptr noundef nonnull align 8 dereferenceable(284) %44) to label %82 unwind label %170 82: ; preds = %80 br label %87 83: ; preds = %74 %84 = load i8, ptr %8, align 1, !tbaa !87, !range !88, !noundef !89 %85 = trunc i8 %84 to i1 %86 = select i1 %85, i32 2, i32 1 br label %87 87: ; preds = %83, %82 %88 = phi i32 [ %81, %82 ], [ %86, %83 ] store i32 %88, ptr %24, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %25) #18 %89 = load i32, ptr %12, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %26, i32 noundef %89) to label %90 unwind label %174 90: ; preds = %87 %91 = load i32, ptr %13, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %27, i32 noundef %91) to label %92 unwind label %178 92: ; preds = %90 %93 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %28, i32 noundef %93) to label %94 unwind label %182 94: ; preds = %92 %95 = load i32, ptr %24, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %30, i32 noundef %95) to label %96 unwind label %186 96: ; preds = %94 %97 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %44, ptr noundef %30) to label %98 unwind label %190 98: ; preds = %96 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %29, i32 noundef %97) to label %99 unwind label %190 99: ; preds = %98 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %31, i32 noundef 0) to label %100 unwind label %194 100: ; preds = %99 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %32, i32 noundef 0) to label %101 unwind label %198 101: ; preds = %100 %102 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %44, ptr noundef %26, ptr noundef %27, ptr noundef %28, ptr noundef %29, ptr noundef %31, ptr noundef %32) to label %103 unwind label %202 103: ; preds = %101 store i32 %102, ptr %25, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %25) to label %104 unwind label %202 104: ; preds = %103 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 call void @llvm.lifetime.start.p0(i64 4, ptr %33) #18 %105 = load i32, ptr %12, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %35, i32 noundef %105) to label %106 unwind label %213 106: ; preds = %104 %107 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %44, ptr noundef %35) to label %108 unwind label %217 108: ; preds = %106 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %34, i32 noundef %107) to label %109 unwind label %217 109: ; preds = %108 %110 = load i32, ptr %13, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %37, i32 noundef %110) to label %111 unwind label %221 111: ; preds = %109 %112 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %44, ptr noundef %37) to label %113 unwind label %225 113: ; preds = %111 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %36, i32 noundef %112) to label %114 unwind label %225 114: ; preds = %113 %115 = load i32, ptr %10, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %38, i32 noundef %115) to label %116 unwind label %229 116: ; preds = %114 %117 = load i32, ptr %24, align 4, !tbaa !72 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %40, i32 noundef %117) to label %118 unwind label %233 118: ; preds = %116 %119 = invoke noundef i32 @_ZN5ezSAT3NOTENS_2_VE(ptr noundef nonnull align 8 dereferenceable(284) %44, ptr noundef %40) to label %120 unwind label %237 120: ; preds = %118 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %39, i32 noundef %119) to label %121 unwind label %237 121: ; preds = %120 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %41, i32 noundef 0) to label %122 unwind label %241 122: ; preds = %121 invoke void @_ZN5ezSAT2_VC2Ei(ptr noundef nonnull align 8 dereferenceable(40) %42, i32 noundef 0) to label %123 unwind label %245 123: ; preds = %122 %124 = invoke noundef i32 @_ZN5ezSAT2ORENS_2_VES0_S0_S0_S0_S0_(ptr noundef nonnull align 8 dereferenceable(284) %44, ptr noundef %34, ptr noundef %36, ptr noundef %38, ptr noundef %39, ptr noundef %41, ptr noundef %42) to label %125 unwind label %249 125: ; preds = %123 store i32 %124, ptr %33, align 4, !tbaa !72 invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %33) to label %126 unwind label %249 126: ; preds = %125 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %33) #18 %127 = load i32, ptr %24, align 4, !tbaa !72 store i32 %127, ptr %10, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 br label %128 128: ; preds = %126 %129 = load i64, ptr %11, align 8, !tbaa !97 %130 = add i64 %129, 1 store i64 %130, ptr %11, align 8, !tbaa !97 br label %45, !llvm.loop !222 131: ; preds = %51 %132 = landingpad { ptr, i32 } cleanup %133 = extractvalue { ptr, i32 } %132, 0 store ptr %133, ptr %17, align 8 %134 = extractvalue { ptr, i32 } %132, 1 store i32 %134, ptr %18, align 4 br label %169 135: ; preds = %63, %61 %136 = landingpad { ptr, i32 } cleanup %137 = extractvalue { ptr, i32 } %136, 0 store ptr %137, ptr %17, align 8 %138 = extractvalue { ptr, i32 } %136, 1 store i32 %138, ptr %18, align 4 br label %168 139: ; preds = %64 %140 = landingpad { ptr, i32 } cleanup %141 = extractvalue { ptr, i32 } %140, 0 store ptr %141, ptr %17, align 8 %142 = extractvalue { ptr, i32 } %140, 1 store i32 %142, ptr %18, align 4 br label %167 143: ; preds = %66 %144 = landingpad { ptr, i32 } cleanup %145 = extractvalue { ptr, i32 } %144, 0 store ptr %145, ptr %17, align 8 %146 = extractvalue { ptr, i32 } %144, 1 store i32 %146, ptr %18, align 4 br label %166 147: ; preds = %68 %148 = landingpad { ptr, i32 } cleanup %149 = extractvalue { ptr, i32 } %148, 0 store ptr %149, ptr %17, align 8 %150 = extractvalue { ptr, i32 } %148, 1 store i32 %150, ptr %18, align 4 br label %165 151: ; preds = %69 %152 = landingpad { ptr, i32 } cleanup %153 = extractvalue { ptr, i32 } %152, 0 store ptr %153, ptr %17, align 8 %154 = extractvalue { ptr, i32 } %152, 1 store i32 %154, ptr %18, align 4 br label %164 155: ; preds = %70 %156 = landingpad { ptr, i32 } cleanup %157 = extractvalue { ptr, i32 } %156, 0 store ptr %157, ptr %17, align 8 %158 = extractvalue { ptr, i32 } %156, 1 store i32 %158, ptr %18, align 4 br label %163 159: ; preds = %73, %71 %160 = landingpad { ptr, i32 } cleanup %161 = extractvalue { ptr, i32 } %160, 0 store ptr %161, ptr %17, align 8 %162 = extractvalue { ptr, i32 } %160, 1 store i32 %162, ptr %18, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #18 br label %163 163: ; preds = %159, %155 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #18 br label %164 164: ; preds = %163, %151 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %21) #18 br label %165 165: ; preds = %164, %147 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #18 br label %166 166: ; preds = %165, %143 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #18 br label %167 167: ; preds = %166, %139 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #18 br label %168 168: ; preds = %167, %135 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #18 br label %169 169: ; preds = %168, %131 call void @llvm.lifetime.end.p0(i64 4, ptr %14) #18 br label %263 170: ; preds = %80 %171 = landingpad { ptr, i32 } cleanup %172 = extractvalue { ptr, i32 } %171, 0 store ptr %172, ptr %17, align 8 %173 = extractvalue { ptr, i32 } %171, 1 store i32 %173, ptr %18, align 4 br label %262 174: ; preds = %87 %175 = landingpad { ptr, i32 } cleanup %176 = extractvalue { ptr, i32 } %175, 0 store ptr %176, ptr %17, align 8 %177 = extractvalue { ptr, i32 } %175, 1 store i32 %177, ptr %18, align 4 br label %212 178: ; preds = %90 %179 = landingpad { ptr, i32 } cleanup %180 = extractvalue { ptr, i32 } %179, 0 store ptr %180, ptr %17, align 8 %181 = extractvalue { ptr, i32 } %179, 1 store i32 %181, ptr %18, align 4 br label %211 182: ; preds = %92 %183 = landingpad { ptr, i32 } cleanup %184 = extractvalue { ptr, i32 } %183, 0 store ptr %184, ptr %17, align 8 %185 = extractvalue { ptr, i32 } %183, 1 store i32 %185, ptr %18, align 4 br label %210 186: ; preds = %94 %187 = landingpad { ptr, i32 } cleanup %188 = extractvalue { ptr, i32 } %187, 0 store ptr %188, ptr %17, align 8 %189 = extractvalue { ptr, i32 } %187, 1 store i32 %189, ptr %18, align 4 br label %209 190: ; preds = %98, %96 %191 = landingpad { ptr, i32 } cleanup %192 = extractvalue { ptr, i32 } %191, 0 store ptr %192, ptr %17, align 8 %193 = extractvalue { ptr, i32 } %191, 1 store i32 %193, ptr %18, align 4 br label %208 194: ; preds = %99 %195 = landingpad { ptr, i32 } cleanup %196 = extractvalue { ptr, i32 } %195, 0 store ptr %196, ptr %17, align 8 %197 = extractvalue { ptr, i32 } %195, 1 store i32 %197, ptr %18, align 4 br label %207 198: ; preds = %100 %199 = landingpad { ptr, i32 } cleanup %200 = extractvalue { ptr, i32 } %199, 0 store ptr %200, ptr %17, align 8 %201 = extractvalue { ptr, i32 } %199, 1 store i32 %201, ptr %18, align 4 br label %206 202: ; preds = %103, %101 %203 = landingpad { ptr, i32 } cleanup %204 = extractvalue { ptr, i32 } %203, 0 store ptr %204, ptr %17, align 8 %205 = extractvalue { ptr, i32 } %203, 1 store i32 %205, ptr %18, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #18 br label %206 206: ; preds = %202, %198 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #18 br label %207 207: ; preds = %206, %194 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #18 br label %208 208: ; preds = %207, %190 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #18 br label %209 209: ; preds = %208, %186 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #18 br label %210 210: ; preds = %209, %182 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %27) #18 br label %211 211: ; preds = %210, %178 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #18 br label %212 212: ; preds = %211, %174 call void @llvm.lifetime.end.p0(i64 4, ptr %25) #18 br label %262 213: ; preds = %104 %214 = landingpad { ptr, i32 } cleanup %215 = extractvalue { ptr, i32 } %214, 0 store ptr %215, ptr %17, align 8 %216 = extractvalue { ptr, i32 } %214, 1 store i32 %216, ptr %18, align 4 br label %261 217: ; preds = %108, %106 %218 = landingpad { ptr, i32 } cleanup %219 = extractvalue { ptr, i32 } %218, 0 store ptr %219, ptr %17, align 8 %220 = extractvalue { ptr, i32 } %218, 1 store i32 %220, ptr %18, align 4 br label %260 221: ; preds = %109 %222 = landingpad { ptr, i32 } cleanup %223 = extractvalue { ptr, i32 } %222, 0 store ptr %223, ptr %17, align 8 %224 = extractvalue { ptr, i32 } %222, 1 store i32 %224, ptr %18, align 4 br label %259 225: ; preds = %113, %111 %226 = landingpad { ptr, i32 } cleanup %227 = extractvalue { ptr, i32 } %226, 0 store ptr %227, ptr %17, align 8 %228 = extractvalue { ptr, i32 } %226, 1 store i32 %228, ptr %18, align 4 br label %258 229: ; preds = %114 %230 = landingpad { ptr, i32 } cleanup %231 = extractvalue { ptr, i32 } %230, 0 store ptr %231, ptr %17, align 8 %232 = extractvalue { ptr, i32 } %230, 1 store i32 %232, ptr %18, align 4 br label %257 233: ; preds = %116 %234 = landingpad { ptr, i32 } cleanup %235 = extractvalue { ptr, i32 } %234, 0 store ptr %235, ptr %17, align 8 %236 = extractvalue { ptr, i32 } %234, 1 store i32 %236, ptr %18, align 4 br label %256 237: ; preds = %120, %118 %238 = landingpad { ptr, i32 } cleanup %239 = extractvalue { ptr, i32 } %238, 0 store ptr %239, ptr %17, align 8 %240 = extractvalue { ptr, i32 } %238, 1 store i32 %240, ptr %18, align 4 br label %255 241: ; preds = %121 %242 = landingpad { ptr, i32 } cleanup %243 = extractvalue { ptr, i32 } %242, 0 store ptr %243, ptr %17, align 8 %244 = extractvalue { ptr, i32 } %242, 1 store i32 %244, ptr %18, align 4 br label %254 245: ; preds = %122 %246 = landingpad { ptr, i32 } cleanup %247 = extractvalue { ptr, i32 } %246, 0 store ptr %247, ptr %17, align 8 %248 = extractvalue { ptr, i32 } %246, 1 store i32 %248, ptr %18, align 4 br label %253 249: ; preds = %125, %123 %250 = landingpad { ptr, i32 } cleanup %251 = extractvalue { ptr, i32 } %250, 0 store ptr %251, ptr %17, align 8 %252 = extractvalue { ptr, i32 } %250, 1 store i32 %252, ptr %18, align 4 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #18 br label %253 253: ; preds = %249, %245 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %41) #18 br label %254 254: ; preds = %253, %241 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %39) #18 br label %255 255: ; preds = %254, %237 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #18 br label %256 256: ; preds = %255, %233 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #18 br label %257 257: ; preds = %256, %229 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #18 br label %258 258: ; preds = %257, %225 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #18 br label %259 259: ; preds = %258, %221 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #18 br label %260 260: ; preds = %259, %217 call void @_ZN5ezSAT2_VD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %35) #18 br label %261 261: ; preds = %260, %213 call void @llvm.lifetime.end.p0(i64 4, ptr %33) #18 br label %262 262: ; preds = %261, %212, %170 call void @llvm.lifetime.end.p0(i64 4, ptr %24) #18 br label %263 263: ; preds = %262, %169 call void @llvm.lifetime.end.p0(i64 4, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 br label %271 264: ; preds = %50 %265 = invoke noundef i32 @_ZN5ezSAT10expressionENS_4OpIdERKSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(284) %44, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %9) to label %266 unwind label %267 266: ; preds = %264 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %9) #18 ret i32 %265 267: ; preds = %264 %268 = landingpad { ptr, i32 } cleanup %269 = extractvalue { ptr, i32 } %268, 0 store ptr %269, ptr %17, align 8 %270 = extractvalue { ptr, i32 } %268, 1 store i32 %270, ptr %18, align 4 br label %271 271: ; preds = %267, %263 call void @llvm.lifetime.end.p0(i64 4, ptr %10) #18 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %9) #18 br label %272 272: ; preds = %271 %273 = load ptr, ptr %17, align 8 %274 = load i32, ptr %18, align 4 %275 = insertvalue { ptr, i32 } poison, ptr %273, 0 %276 = insertvalue { ptr, i32 } %275, i32 %274, 1 resume { ptr, i32 } %276 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !225 %3 = load ptr, ptr %2, align 8 call void @_ZNSaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 call void @_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 %4 = getelementptr inbounds i8, ptr %3, i64 8 call void @_ZNSt15_Rb_tree_headerC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !227 %3 = load ptr, ptr %2, align 8 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !229 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15_Rb_tree_headerC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !231 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %4, i32 0, i32 0 store i32 0, ptr %5, align 8, !tbaa !233 invoke void @_ZNSt15_Rb_tree_header8_M_resetEv(ptr noundef nonnull align 8 dereferenceable(40) %3) to label %6 unwind label %7 6: ; preds = %1 ret void 7: ; preds = %1 %8 = landingpad { ptr, i32 } catch ptr null %9 = extractvalue { ptr, i32 } %8, 0 call void @__clang_call_terminate(ptr %9) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !234 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15_Rb_tree_header8_M_resetEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !231 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %4, i32 0, i32 1 store ptr null, ptr %5, align 8, !tbaa !236 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %3, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %7, i32 0, i32 2 store ptr %6, ptr %8, align 8, !tbaa !237 %9 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %3, i32 0, i32 0 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %3, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %10, i32 0, i32 3 store ptr %9, ptr %11, align 8, !tbaa !238 %12 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %3, i32 0, i32 1 store i64 0, ptr %12, align 8, !tbaa !239 ret void } ; Function Attrs: noinline noreturn nounwind uwtable define linkonce_odr hidden void @__clang_call_terminate(ptr noundef %0) #10 comdat { %2 = call ptr @__cxa_begin_catch(ptr %0) #18 call void @_ZSt9terminatev() #20 unreachable } declare ptr @__cxa_begin_catch(ptr) declare void @_ZSt9terminatev() ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !240 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 call void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !242 %3 = load ptr, ptr %2, align 8 call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 call void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !244 %3 = load ptr, ptr %2, align 8 call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !246 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %3, i32 0, i32 0 store ptr null, ptr %4, align 8, !tbaa !85 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %3, i32 0, i32 1 store ptr null, ptr %5, align 8, !tbaa !86 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %3, i32 0, i32 2 store ptr null, ptr %6, align 8, !tbaa !90 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !248 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !252 %3 = load ptr, ptr %2, align 8 call void @_ZNSaISt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 call void @_ZNSt20_Rb_tree_key_compareISt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 %4 = getelementptr inbounds i8, ptr %3, i64 8 call void @_ZNSt15_Rb_tree_headerC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSaISt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !254 %3 = load ptr, ptr %2, align 8 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt20_Rb_tree_key_compareISt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !256 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !258 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !260 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 call void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE12_Vector_implC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE12_Vector_implC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !262 %3 = load ptr, ptr %2, align 8 call void @_ZNSaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 call void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !264 %3 = load ptr, ptr %2, align 8 call void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !266 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %3, i32 0, i32 0 store ptr null, ptr %4, align 8, !tbaa !83 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %3, i32 0, i32 1 store ptr null, ptr %5, align 8, !tbaa !84 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %3, i32 0, i32 2 store ptr null, ptr %6, align 8, !tbaa !117 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !268 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !270 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 call void @_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !272 %3 = load ptr, ptr %2, align 8 call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !274 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !276 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !278 %3 = load ptr, ptr %2, align 8 call void @_ZNSaISt6vectorIiSaIiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSaISt6vectorIiSaIiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !280 %3 = load ptr, ptr %2, align 8 call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !282 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 invoke void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef %4) to label %5 unwind label %7 5: ; preds = %1 %6 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 ret void 7: ; preds = %1 %8 = landingpad { ptr, i32 } catch ptr null %9 = extractvalue { ptr, i32 } %8, 0 call void @__clang_call_terminate(ptr %9) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !250 store ptr %1, ptr %4, align 8, !tbaa !284 %6 = load ptr, ptr %3, align 8 br label %7 7: ; preds = %10, %2 %8 = load ptr, ptr %4, align 8, !tbaa !284 %9 = icmp ne ptr %8, null br i1 %9, label %10, label %17 10: ; preds = %7 %11 = load ptr, ptr %4, align 8, !tbaa !284 %12 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %11) #18 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %12) call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !284 %14 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %13) #18 store ptr %14, ptr %5, align 8, !tbaa !284 %15 = load ptr, ptr %4, align 8, !tbaa !284 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %15) #18 %16 = load ptr, ptr %5, align 8, !tbaa !284 store ptr %16, ptr %4, align 8, !tbaa !284 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %7, !llvm.loop !286 17: ; preds = %7 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE9_M_mbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !258 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 3 %5 = load ptr, ptr %4, align 8, !tbaa !287 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 2 %5 = load ptr, ptr %4, align 8, !tbaa !288 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !250 store ptr %1, ptr %4, align 8, !tbaa !284 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !284 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef %6) #18 %7 = load ptr, ptr %4, align 8, !tbaa !284 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef %7) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !250 store ptr %1, ptr %4, align 8, !tbaa !284 %5 = load ptr, ptr %3, align 8 %6 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !284 %8 = invoke noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %7) to label %9 unwind label %10 9: ; preds = %2 call void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE7destroyIS9_EEvRSB_PT_(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %8) #18 ret void 10: ; preds = %2 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 call void @__clang_call_terminate(ptr %12) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !250 store ptr %1, ptr %4, align 8, !tbaa !284 %5 = load ptr, ptr %3, align 8 %6 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !284 invoke void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE10deallocateERSB_PSA_m(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %7, i64 noundef 1) to label %8 unwind label %9 8: ; preds = %2 ret void 9: ; preds = %2 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 call void @__clang_call_terminate(ptr %11) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE7destroyIS9_EEvRSB_PT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !254 store ptr %1, ptr %4, align 8, !tbaa !198 %5 = load ptr, ptr %3, align 8, !tbaa !254 %6 = load ptr, ptr %4, align 8, !tbaa !198 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE7destroyIS9_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !284 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node", ptr %3, i32 0, i32 1 %5 = call noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE6_M_ptrEv(ptr noundef nonnull align 8 dereferenceable(40) %4) #18 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE7destroyIS9_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !258 store ptr %1, ptr %4, align 8, !tbaa !198 %5 = load ptr, ptr %4, align 8, !tbaa !198 call void @_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(36) %5) #18 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(36) %0) unnamed_addr #4 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !198 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %3, i32 0, i32 0 call void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE6_M_ptrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !289 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE7_M_addrEv(ptr noundef nonnull align 8 dereferenceable(40) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE7_M_addrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !289 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.__gnu_cxx::__aligned_membuf", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE10deallocateERSB_PSA_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !254 store ptr %1, ptr %5, align 8, !tbaa !284 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8, !tbaa !254 %8 = load ptr, ptr %5, align 8, !tbaa !284 %9 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE10deallocateEPSA_m(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, i64 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE10deallocateEPSA_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !258 store ptr %1, ptr %5, align 8, !tbaa !284 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %5, align 8, !tbaa !284 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = mul i64 %8, 72 call void @_ZdlPvm(ptr noundef %7, i64 noundef %9) #21 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE9_M_mbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 1 %8 = load ptr, ptr %7, align 8, !tbaa !236 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 invoke void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef %4) to label %5 unwind label %7 5: ; preds = %1 %6 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 ret void 7: ; preds = %1 %8 = landingpad { ptr, i32 } catch ptr null %9 = extractvalue { ptr, i32 } %8, 0 call void @__clang_call_terminate(ptr %9) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !223 store ptr %1, ptr %4, align 8, !tbaa !291 %6 = load ptr, ptr %3, align 8 br label %7 7: ; preds = %10, %2 %8 = load ptr, ptr %4, align 8, !tbaa !291 %9 = icmp ne ptr %8, null br i1 %9, label %10, label %17 10: ; preds = %7 %11 = load ptr, ptr %4, align 8, !tbaa !291 %12 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %11) #18 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %12) call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !291 %14 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %13) #18 store ptr %14, ptr %5, align 8, !tbaa !291 %15 = load ptr, ptr %4, align 8, !tbaa !291 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %15) #18 %16 = load ptr, ptr %5, align 8, !tbaa !291 store ptr %16, ptr %4, align 8, !tbaa !291 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %7, !llvm.loop !293 17: ; preds = %7 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE9_M_mbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !234 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 3 %5 = load ptr, ptr %4, align 8, !tbaa !287 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 2 %5 = load ptr, ptr %4, align 8, !tbaa !288 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !223 store ptr %1, ptr %4, align 8, !tbaa !291 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !291 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef %6) #18 %7 = load ptr, ptr %4, align 8, !tbaa !291 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef %7) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !223 store ptr %1, ptr %4, align 8, !tbaa !291 %5 = load ptr, ptr %3, align 8 %6 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !291 %8 = invoke noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %7) to label %9 unwind label %10 9: ; preds = %2 call void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE7destroyIS9_EEvRSB_PT_(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %8) #18 ret void 10: ; preds = %2 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 call void @__clang_call_terminate(ptr %12) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !223 store ptr %1, ptr %4, align 8, !tbaa !291 %5 = load ptr, ptr %3, align 8 %6 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !291 invoke void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE10deallocateERSB_PSA_m(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %7, i64 noundef 1) to label %8 unwind label %9 8: ; preds = %2 ret void 9: ; preds = %2 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 call void @__clang_call_terminate(ptr %11) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE7destroyIS9_EEvRSB_PT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !227 store ptr %1, ptr %4, align 8, !tbaa !193 %5 = load ptr, ptr %3, align 8, !tbaa !227 %6 = load ptr, ptr %4, align 8, !tbaa !193 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE7destroyIS9_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !291 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node.48", ptr %3, i32 0, i32 1 %5 = call noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE6_M_ptrEv(ptr noundef nonnull align 8 dereferenceable(40) %4) #18 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE7destroyIS9_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !234 store ptr %1, ptr %4, align 8, !tbaa !193 %5 = load ptr, ptr %4, align 8, !tbaa !193 call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(36) %5) #18 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiED2Ev(ptr noundef nonnull align 8 dereferenceable(36) %0) unnamed_addr #4 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !193 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %3, i32 0, i32 0 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE6_M_ptrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !294 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE7_M_addrEv(ptr noundef nonnull align 8 dereferenceable(40) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE7_M_addrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !294 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.__gnu_cxx::__aligned_membuf.49", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE10deallocateERSB_PSA_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !227 store ptr %1, ptr %5, align 8, !tbaa !291 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8, !tbaa !227 %8 = load ptr, ptr %5, align 8, !tbaa !291 %9 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE10deallocateEPSA_m(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, i64 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE10deallocateEPSA_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !234 store ptr %1, ptr %5, align 8, !tbaa !291 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %5, align 8, !tbaa !291 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = mul i64 %8, 72 call void @_ZdlPvm(ptr noundef %7, i64 noundef %9) #21 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE9_M_mbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 1 %8 = load ptr, ptr %7, align 8, !tbaa !236 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i32 @_ZN5ezSAT2_V3getEPS_(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca i32, align 4 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !107 store ptr %1, ptr %5, align 8, !tbaa !6 %6 = load ptr, ptr %4, align 8 %7 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %6, i32 0, i32 1 %8 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #18 br i1 %8, label %9, label %12 9: ; preds = %2 %10 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %6, i32 0, i32 0 %11 = load i32, ptr %10, align 8, !tbaa !109 store i32 %11, ptr %3, align 4 br label %16 12: ; preds = %2 %13 = load ptr, ptr %5, align 8, !tbaa !6 %14 = getelementptr inbounds nuw %"struct.ezSAT::_V", ptr %6, i32 0, i32 1 %15 = call noundef i32 @_ZN5ezSAT14frozen_literalERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(284) %13, ptr noundef nonnull align 8 dereferenceable(32) %14) store i32 %15, ptr %3, align 4 br label %16 16: ; preds = %12, %9 %17 = load i32, ptr %3, align 4 ret i32 %17 } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #18 %5 = icmp eq i64 %4, 0 ret i1 %5 } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 1 %5 = load i64, ptr %4, align 8, !tbaa !296 ret i64 %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZSteqRKSt18_Bit_iterator_baseS1_(ptr noundef nonnull align 8 dereferenceable(12) %0, ptr noundef nonnull align 8 dereferenceable(12) %1) #1 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !143 store ptr %1, ptr %4, align 8, !tbaa !143 %5 = load ptr, ptr %3, align 8, !tbaa !143 %6 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %6, align 8, !tbaa !140 %8 = load ptr, ptr %4, align 8, !tbaa !143 %9 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !140 %11 = icmp eq ptr %7, %10 br i1 %11, label %12, label %20 12: ; preds = %2 %13 = load ptr, ptr %3, align 8, !tbaa !143 %14 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %13, i32 0, i32 1 %15 = load i32, ptr %14, align 8, !tbaa !147 %16 = load ptr, ptr %4, align 8, !tbaa !143 %17 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %16, i32 0, i32 1 %18 = load i32, ptr %17, align 8, !tbaa !147 %19 = icmp eq i32 %15, %18 br label %20 20: ; preds = %12, %2 %21 = phi i1 [ false, %2 ], [ %19, %12 ] ret i1 %21 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt14_Bit_referenceC2EPmm(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef %1, i64 noundef %2) unnamed_addr #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !297 store ptr %1, ptr %5, align 8, !tbaa !299 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Bit_reference", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !299 store ptr %9, ptr %8, align 8, !tbaa !300 %10 = getelementptr inbounds nuw %"struct.std::_Bit_reference", ptr %7, i32 0, i32 1 %11 = load i64, ptr %6, align 8, !tbaa !97 store i64 %11, ptr %10, align 8, !tbaa !302 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !297 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Bit_reference", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !300 %6 = load i64, ptr %5, align 8, !tbaa !97 %7 = getelementptr inbounds nuw %"struct.std::_Bit_reference", ptr %3, i32 0, i32 1 %8 = load i64, ptr %7, align 8, !tbaa !302 %9 = and i64 %6, %8 %10 = icmp ne i64 %9, 0 %11 = xor i1 %10, true %12 = xor i1 %11, true ret i1 %12 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt18_Bit_iterator_base10_M_bump_upEv(ptr noundef nonnull align 8 dereferenceable(12) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !143 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %3, i32 0, i32 1 %5 = load i32, ptr %4, align 8, !tbaa !147 %6 = add i32 %5, 1 store i32 %6, ptr %4, align 8, !tbaa !147 %7 = icmp eq i32 %5, 63 br i1 %7, label %8, label %13 8: ; preds = %1 %9 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %3, i32 0, i32 1 store i32 0, ptr %9, align 8, !tbaa !147 %10 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %3, i32 0, i32 0 %11 = load ptr, ptr %10, align 8, !tbaa !140 %12 = getelementptr inbounds nuw i64, ptr %11, i32 1 store ptr %12, ptr %10, align 8, !tbaa !140 br label %13 13: ; preds = %8, %1 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8 %0, i32 noundef %1) #4 comdat personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca i32, align 4 %5 = alloca i8, align 1 %6 = alloca i32, align 4 %7 = alloca i32, align 4 %8 = alloca i1, align 1 %9 = alloca %"class.std::allocator.24", align 1 store ptr %0, ptr %3, align 8 store i32 %1, ptr %4, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 1, ptr %5) #18 %10 = load i32, ptr %4, align 4, !tbaa !72 %11 = icmp slt i32 %10, 0 %12 = zext i1 %11 to i8 store i8 %12, ptr %5, align 1, !tbaa !87 call void @llvm.lifetime.start.p0(i64 4, ptr %6) #18 %13 = load i8, ptr %5, align 1, !tbaa !87, !range !88, !noundef !89 %14 = trunc i8 %13 to i1 br i1 %14, label %15, label %19 15: ; preds = %2 %16 = load i32, ptr %4, align 4, !tbaa !72 %17 = xor i32 %16, -1 %18 = add i32 %17, 1 br label %21 19: ; preds = %2 %20 = load i32, ptr %4, align 4, !tbaa !72 br label %21 21: ; preds = %19, %15 %22 = phi i32 [ %18, %15 ], [ %20, %19 ] store i32 %22, ptr %6, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 %23 = load i32, ptr %6, align 4, !tbaa !72 %24 = call noundef i32 @_ZNSt8__detail14__to_chars_lenIjEEjT_i(i32 noundef %23, i32 noundef 10) #18 store i32 %24, ptr %7, align 4, !tbaa !72 store i1 false, ptr %8, align 1 %25 = load i8, ptr %5, align 1, !tbaa !87, !range !88, !noundef !89 %26 = trunc i8 %25 to i1 %27 = zext i1 %26 to i32 %28 = load i32, ptr %7, align 4, !tbaa !72 %29 = add i32 %27, %28 %30 = zext i32 %29 to i64 call void @llvm.lifetime.start.p0(i64 1, ptr %9) #18 call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #18 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %30, i8 noundef signext 45, ptr noundef nonnull align 1 dereferenceable(1) %9) to label %31 unwind label %42 31: ; preds = %21 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %9) #18 %32 = load i8, ptr %5, align 1, !tbaa !87, !range !88, !noundef !89 %33 = trunc i8 %32 to i1 %34 = zext i1 %33 to i64 %35 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %34) to label %36 unwind label %42 36: ; preds = %31 %37 = load i32, ptr %7, align 4, !tbaa !72 %38 = load i32, ptr %6, align 4, !tbaa !72 call void @_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_(ptr noundef %35, i32 noundef %37, i32 noundef %38) #18 store i1 true, ptr %8, align 1 %39 = load i1, ptr %8, align 1 br i1 %39, label %41, label %40 40: ; preds = %36 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #18 br label %41 41: ; preds = %40, %36 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 ret void 42: ; preds = %31, %21 %43 = landingpad { ptr, i32 } catch ptr null %44 = extractvalue { ptr, i32 } %43, 0 call void @__clang_call_terminate(ptr %44) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i32 @_ZNSt8__detail14__to_chars_lenIjEEjT_i(i32 noundef %0, i32 noundef %1) #1 comdat { %3 = alloca i32, align 4 %4 = alloca i32, align 4 %5 = alloca i32, align 4 %6 = alloca i32, align 4 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i64, align 8 %10 = alloca i32, align 4 store i32 %0, ptr %4, align 4, !tbaa !72 store i32 %1, ptr %5, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %6) #18 store i32 1, ptr %6, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 %11 = load i32, ptr %5, align 4, !tbaa !72 %12 = load i32, ptr %5, align 4, !tbaa !72 %13 = mul nsw i32 %11, %12 store i32 %13, ptr %7, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 %14 = load i32, ptr %7, align 4, !tbaa !72 %15 = load i32, ptr %5, align 4, !tbaa !72 %16 = mul i32 %14, %15 store i32 %16, ptr %8, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %17 = load i32, ptr %8, align 4, !tbaa !72 %18 = load i32, ptr %5, align 4, !tbaa !72 %19 = mul i32 %17, %18 %20 = zext i32 %19 to i64 store i64 %20, ptr %9, align 8, !tbaa !97 br label %21 21: ; preds = %49, %2 %22 = load i32, ptr %4, align 4, !tbaa !72 %23 = load i32, ptr %5, align 4, !tbaa !72 %24 = icmp ult i32 %22, %23 br i1 %24, label %25, label %27 25: ; preds = %21 %26 = load i32, ptr %6, align 4, !tbaa !72 store i32 %26, ptr %3, align 4 store i32 1, ptr %10, align 4 br label %57 27: ; preds = %21 %28 = load i32, ptr %4, align 4, !tbaa !72 %29 = load i32, ptr %7, align 4, !tbaa !72 %30 = icmp ult i32 %28, %29 br i1 %30, label %31, label %34 31: ; preds = %27 %32 = load i32, ptr %6, align 4, !tbaa !72 %33 = add i32 %32, 1 store i32 %33, ptr %3, align 4 store i32 1, ptr %10, align 4 br label %57 34: ; preds = %27 %35 = load i32, ptr %4, align 4, !tbaa !72 %36 = load i32, ptr %8, align 4, !tbaa !72 %37 = icmp ult i32 %35, %36 br i1 %37, label %38, label %41 38: ; preds = %34 %39 = load i32, ptr %6, align 4, !tbaa !72 %40 = add i32 %39, 2 store i32 %40, ptr %3, align 4 store i32 1, ptr %10, align 4 br label %57 41: ; preds = %34 %42 = load i32, ptr %4, align 4, !tbaa !72 %43 = zext i32 %42 to i64 %44 = load i64, ptr %9, align 8, !tbaa !97 %45 = icmp ult i64 %43, %44 br i1 %45, label %46, label %49 46: ; preds = %41 %47 = load i32, ptr %6, align 4, !tbaa !72 %48 = add i32 %47, 3 store i32 %48, ptr %3, align 4 store i32 1, ptr %10, align 4 br label %57 49: ; preds = %41 %50 = load i64, ptr %9, align 8, !tbaa !97 %51 = load i32, ptr %4, align 4, !tbaa !72 %52 = zext i32 %51 to i64 %53 = udiv i64 %52, %50 %54 = trunc i64 %53 to i32 store i32 %54, ptr %4, align 4, !tbaa !72 %55 = load i32, ptr %6, align 4, !tbaa !72 %56 = add i32 %55, 4 store i32 %56, ptr %6, align 4, !tbaa !72 br label %21, !llvm.loop !303 57: ; preds = %46, %38, %31, %25 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %6) #18 %58 = load i32, ptr %3, align 4 ret i32 %58 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1, i8 noundef signext %2, ptr noundef nonnull align 1 dereferenceable(1) %3) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %5 = alloca ptr, align 8 %6 = alloca i64, align 8 %7 = alloca i8, align 1 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 store ptr %0, ptr %5, align 8, !tbaa !71 store i64 %1, ptr %6, align 8, !tbaa !97 store i8 %2, ptr %7, align 1, !tbaa !304 store ptr %3, ptr %8, align 8, !tbaa !73 %11 = load ptr, ptr %5, align 8 %12 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %11, i32 0, i32 0 %13 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %11) %14 = load ptr, ptr %8, align 8, !tbaa !73 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef %13, ptr noundef nonnull align 1 dereferenceable(1) %14) %15 = load i64, ptr %6, align 8, !tbaa !97 %16 = load i8, ptr %7, align 1, !tbaa !304 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc(ptr noundef nonnull align 8 dereferenceable(32) %11, i64 noundef %15, i8 noundef signext %16) to label %17 unwind label %18 17: ; preds = %4 ret void 18: ; preds = %4 %19 = landingpad { ptr, i32 } cleanup %20 = extractvalue { ptr, i32 } %19, 0 store ptr %20, ptr %9, align 8 %21 = extractvalue { ptr, i32 } %19, 1 store i32 %21, ptr %10, align 4 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #18 br label %22 22: ; preds = %18 %23 = load ptr, ptr %9, align 8 %24 = load i32, ptr %10, align 4 %25 = insertvalue { ptr, i32 } poison, ptr %23, 0 %26 = insertvalue { ptr, i32 } %25, i32 %24, 1 resume { ptr, i32 } %26 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_(ptr noundef %0, i32 noundef %1, i32 noundef %2) #1 comdat { %4 = alloca ptr, align 8 %5 = alloca i32, align 4 %6 = alloca i32, align 4 %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !75 store i32 %1, ptr %5, align 4, !tbaa !72 store i32 %2, ptr %6, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 %10 = load i32, ptr %5, align 4, !tbaa !72 %11 = sub i32 %10, 1 store i32 %11, ptr %7, align 4, !tbaa !72 br label %12 12: ; preds = %15, %3 %13 = load i32, ptr %6, align 4, !tbaa !72 %14 = icmp uge i32 %13, 100 br i1 %14, label %15, label %41 15: ; preds = %12 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 %16 = load i32, ptr %6, align 4, !tbaa !72 %17 = urem i32 %16, 100 %18 = mul i32 %17, 2 store i32 %18, ptr %8, align 4, !tbaa !72 %19 = load i32, ptr %6, align 4, !tbaa !72 %20 = udiv i32 %19, 100 store i32 %20, ptr %6, align 4, !tbaa !72 %21 = load i32, ptr %8, align 4, !tbaa !72 %22 = add i32 %21, 1 %23 = zext i32 %22 to i64 %24 = getelementptr inbounds nuw [201 x i8], ptr @_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits, i64 0, i64 %23 %25 = load i8, ptr %24, align 1, !tbaa !304 %26 = load ptr, ptr %4, align 8, !tbaa !75 %27 = load i32, ptr %7, align 4, !tbaa !72 %28 = zext i32 %27 to i64 %29 = getelementptr inbounds nuw i8, ptr %26, i64 %28 store i8 %25, ptr %29, align 1, !tbaa !304 %30 = load i32, ptr %8, align 4, !tbaa !72 %31 = zext i32 %30 to i64 %32 = getelementptr inbounds nuw [201 x i8], ptr @_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits, i64 0, i64 %31 %33 = load i8, ptr %32, align 1, !tbaa !304 %34 = load ptr, ptr %4, align 8, !tbaa !75 %35 = load i32, ptr %7, align 4, !tbaa !72 %36 = sub i32 %35, 1 %37 = zext i32 %36 to i64 %38 = getelementptr inbounds nuw i8, ptr %34, i64 %37 store i8 %33, ptr %38, align 1, !tbaa !304 %39 = load i32, ptr %7, align 4, !tbaa !72 %40 = sub i32 %39, 2 store i32 %40, ptr %7, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 br label %12, !llvm.loop !305 41: ; preds = %12 %42 = load i32, ptr %6, align 4, !tbaa !72 %43 = icmp uge i32 %42, 10 br i1 %43, label %44, label %60 44: ; preds = %41 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 %45 = load i32, ptr %6, align 4, !tbaa !72 %46 = mul i32 %45, 2 store i32 %46, ptr %9, align 4, !tbaa !72 %47 = load i32, ptr %9, align 4, !tbaa !72 %48 = add i32 %47, 1 %49 = zext i32 %48 to i64 %50 = getelementptr inbounds nuw [201 x i8], ptr @_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits, i64 0, i64 %49 %51 = load i8, ptr %50, align 1, !tbaa !304 %52 = load ptr, ptr %4, align 8, !tbaa !75 %53 = getelementptr inbounds i8, ptr %52, i64 1 store i8 %51, ptr %53, align 1, !tbaa !304 %54 = load i32, ptr %9, align 4, !tbaa !72 %55 = zext i32 %54 to i64 %56 = getelementptr inbounds nuw [201 x i8], ptr @_ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits, i64 0, i64 %55 %57 = load i8, ptr %56, align 1, !tbaa !304 %58 = load ptr, ptr %4, align 8, !tbaa !75 %59 = getelementptr inbounds i8, ptr %58, i64 0 store i8 %57, ptr %59, align 1, !tbaa !304 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %66 60: ; preds = %41 %61 = load i32, ptr %6, align 4, !tbaa !72 %62 = add i32 48, %61 %63 = trunc i32 %62 to i8 %64 = load ptr, ptr %4, align 8, !tbaa !75 %65 = getelementptr inbounds i8, ptr %64, i64 0 store i8 %63, ptr %65, align 1, !tbaa !304 br label %66 66: ; preds = %60, %44 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret void } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 br label %6 6: ; preds = %2 br label %7 7: ; preds = %6 %8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %5) %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = getelementptr inbounds nuw i8, ptr %8, i64 %9 ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 2 %5 = getelementptr inbounds [16 x i8], ptr %4, i64 0, i64 0 %6 = call noundef ptr @_ZNSt19__ptr_traits_ptr_toIPccLb0EE10pointer_toERc(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #1 align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !306 store ptr %1, ptr %5, align 8, !tbaa !75 store ptr %2, ptr %6, align 8, !tbaa !73 %7 = load ptr, ptr %4, align 8 %8 = load ptr, ptr %6, align 8, !tbaa !73 call void @_ZNSaIcEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 1 dereferenceable(1) %8) #18 %9 = getelementptr inbounds nuw %"struct.std::__cxx11::basic_string::_Alloc_hider", ptr %7, i32 0, i32 0 %10 = load ptr, ptr %5, align 8, !tbaa !75 store ptr %10, ptr %9, align 8, !tbaa !308 ret void } declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i8 noundef signext) #11 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt19__ptr_traits_ptr_toIPccLb0EE10pointer_toERc(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !75 %3 = load ptr, ptr %2, align 8, !tbaa !75 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIcEC2ERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !77 store ptr %1, ptr %4, align 8, !tbaa !77 ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::__cxx11::basic_string::_Alloc_hider", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !309 ret ptr %6 } ; Function Attrs: mustprogress uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.std::allocator.24", align 1 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %8 = load ptr, ptr %3, align 8 %9 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %8, i32 0, i32 0 %10 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %8) call void @llvm.lifetime.start.p0(i64 1, ptr %5) #18 %11 = load ptr, ptr %4, align 8, !tbaa !71 %12 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv(ptr noundef nonnull align 8 dereferenceable(32) %11) call void @_ZN9__gnu_cxx14__alloc_traitsISaIcEcE17_S_select_on_copyERKS1_(ptr dead_on_unwind writable sret(%"class.std::allocator.24") align 1 %5, ptr noundef nonnull align 1 dereferenceable(1) %12) invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef %10, ptr noundef nonnull align 1 dereferenceable(1) %5) to label %13 unwind label %22 13: ; preds = %2 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 %14 = load ptr, ptr %4, align 8, !tbaa !71 %15 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %14) %16 = load ptr, ptr %4, align 8, !tbaa !71 %17 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %16) %18 = load ptr, ptr %4, align 8, !tbaa !71 %19 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %18) #18 %20 = getelementptr inbounds nuw i8, ptr %17, i64 %19 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef %15, ptr noundef %20) to label %21 unwind label %26 21: ; preds = %13 ret void 22: ; preds = %2 %23 = landingpad { ptr, i32 } cleanup %24 = extractvalue { ptr, i32 } %23, 0 store ptr %24, ptr %6, align 8 %25 = extractvalue { ptr, i32 } %23, 1 store i32 %25, ptr %7, align 4 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 br label %30 26: ; preds = %13 %27 = landingpad { ptr, i32 } cleanup %28 = extractvalue { ptr, i32 } %27, 0 store ptr %28, ptr %6, align 8 %29 = extractvalue { ptr, i32 } %27, 1 store i32 %29, ptr %7, align 4 call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 br label %30 30: ; preds = %26, %22 %31 = load ptr, ptr %6, align 8 %32 = load i32, ptr %7, align 4 %33 = insertvalue { ptr, i32 } poison, ptr %31, 0 %34 = insertvalue { ptr, i32 } %33, i32 %32, 1 resume { ptr, i32 } %34 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZN9__gnu_cxx14__alloc_traitsISaIcEcE17_S_select_on_copyERKS1_(ptr dead_on_unwind noalias writable sret(%"class.std::allocator.24") align 1 %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8 store ptr %1, ptr %4, align 8, !tbaa !73 %5 = load ptr, ptr %4, align 8, !tbaa !73 call void @_ZNSt16allocator_traitsISaIcEE37select_on_container_copy_constructionERKS0_(ptr dead_on_unwind writable sret(%"class.std::allocator.24") align 1 %0, ptr noundef nonnull align 1 dereferenceable(1) %5) ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #1 align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !306 store ptr %1, ptr %5, align 8, !tbaa !75 store ptr %2, ptr %6, align 8, !tbaa !73 %7 = load ptr, ptr %4, align 8 %8 = load ptr, ptr %6, align 8, !tbaa !73 call void @_ZNSaIcEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef nonnull align 1 dereferenceable(1) %8) #18 %9 = getelementptr inbounds nuw %"struct.std::__cxx11::basic_string::_Alloc_hider", ptr %7, i32 0, i32 0 %10 = load ptr, ptr %5, align 8, !tbaa !75 store ptr %10, ptr %9, align 8, !tbaa !308 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1, ptr noundef %2) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca %struct._Guard, align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !71 store ptr %1, ptr %5, align 8, !tbaa !75 store ptr %2, ptr %6, align 8, !tbaa !75 %11 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %12 = load ptr, ptr %5, align 8, !tbaa !75 %13 = load ptr, ptr %6, align 8, !tbaa !75 %14 = call noundef i64 @_ZSt8distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_(ptr noundef %12, ptr noundef %13) store i64 %14, ptr %7, align 8, !tbaa !97 %15 = load i64, ptr %7, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 15 br i1 %16, label %17, label %20 17: ; preds = %3 %18 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef 0) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %18) %19 = load i64, ptr %7, align 8, !tbaa !97 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm(ptr noundef nonnull align 8 dereferenceable(32) %11, i64 noundef %19) br label %22 20: ; preds = %3 %21 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_M_use_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #18 br label %22 22: ; preds = %20, %17 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagEN6_GuardC2EPS4_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef %11) %23 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %11) %24 = load ptr, ptr %5, align 8, !tbaa !75 %25 = load ptr, ptr %6, align 8, !tbaa !75 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_(ptr noundef %23, ptr noundef %24, ptr noundef %25) #18 %26 = getelementptr inbounds nuw %struct._Guard, ptr %8, i32 0, i32 0 store ptr null, ptr %26, align 8, !tbaa !310 %27 = load i64, ptr %7, align 8, !tbaa !97 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %11, i64 noundef %27) to label %28 unwind label %29 28: ; preds = %22 call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void 29: ; preds = %22 %30 = landingpad { ptr, i32 } cleanup %31 = extractvalue { ptr, i32 } %30, 0 store ptr %31, ptr %9, align 8 %32 = extractvalue { ptr, i32 } %30, 1 store i32 %32, ptr %10, align 4 call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %33 33: ; preds = %29 %34 = load ptr, ptr %9, align 8 %35 = load i32, ptr %10, align 4 %36 = insertvalue { ptr, i32 } poison, ptr %34, 0 %37 = insertvalue { ptr, i32 } %36, i32 %35, 1 resume { ptr, i32 } %37 } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 1 %5 = load i64, ptr %4, align 8, !tbaa !296 ret i64 %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaIcEE37select_on_container_copy_constructionERKS0_(ptr dead_on_unwind noalias writable sret(%"class.std::allocator.24") align 1 %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8 store ptr %1, ptr %4, align 8, !tbaa !73 %5 = load ptr, ptr %4, align 8, !tbaa !73 call void @_ZNSaIcEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %5) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSaIcEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) unnamed_addr #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !73 store ptr %1, ptr %4, align 8, !tbaa !73 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !73 call void @_ZNSt15__new_allocatorIcEC2ERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef nonnull align 1 dereferenceable(1) %6) #18 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef i64 @_ZSt8distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_(ptr noundef %0, ptr noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !75 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %3, align 8, !tbaa !75 %6 = load ptr, ptr %4, align 8, !tbaa !75 call void @_ZSt19__iterator_categoryIPcENSt15iterator_traitsIT_E17iterator_categoryERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %3) %7 = call noundef i64 @_ZSt10__distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag(ptr noundef %5, ptr noundef %6) ret i64 %7 } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1) #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !75 %7 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %5, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::__cxx11::basic_string::_Alloc_hider", ptr %7, i32 0, i32 0 store ptr %6, ptr %8, align 8, !tbaa !309 ret void } declare noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) #11 ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1) #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %5, i32 0, i32 2 store i64 %6, ptr %7, align 8, !tbaa !304 ret void } ; Function Attrs: alwaysinline mustprogress nounwind uwtable define available_externally noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_M_use_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #12 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %3) ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagEN6_GuardC2EPS4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !312 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %struct._Guard, ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !71 store ptr %7, ptr %6, align 8, !tbaa !310 ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #1 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !75 store ptr %1, ptr %5, align 8, !tbaa !75 store ptr %2, ptr %6, align 8, !tbaa !75 %7 = load ptr, ptr %4, align 8, !tbaa !75 %8 = load ptr, ptr %5, align 8, !tbaa !75 %9 = load ptr, ptr %6, align 8, !tbaa !75 %10 = load ptr, ptr %5, align 8, !tbaa !75 %11 = ptrtoint ptr %9 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm(ptr noundef %7, ptr noundef %8, i64 noundef %13) to label %14 unwind label %15 14: ; preds = %3 ret void 15: ; preds = %3 %16 = landingpad { ptr, i32 } catch ptr null %17 = extractvalue { ptr, i32 } %16, 0 call void @__clang_call_terminate(ptr %17) #20 unreachable } ; Function Attrs: mustprogress uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca i8, align 1 store ptr %0, ptr %3, align 8, !tbaa !71 store i64 %1, ptr %4, align 8, !tbaa !97 %6 = load ptr, ptr %3, align 8 %7 = load i64, ptr %4, align 8, !tbaa !97 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %7) %8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %6) %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = getelementptr inbounds nuw i8, ptr %8, i64 %9 call void @llvm.lifetime.start.p0(i64 1, ptr %5) #18 store i8 0, ptr %5, align 1, !tbaa !304 call void @_ZNSt11char_traitsIcE6assignERcRKc(ptr noundef nonnull align 1 dereferenceable(1) %10, ptr noundef nonnull align 1 dereferenceable(1) %5) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !312 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %struct._Guard, ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !310 %6 = icmp ne ptr %5, null br i1 %6, label %7, label %11 7: ; preds = %1 %8 = getelementptr inbounds nuw %struct._Guard, ptr %3, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !310 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv(ptr noundef nonnull align 8 dereferenceable(32) %9) to label %10 unwind label %12 10: ; preds = %7 br label %11 11: ; preds = %10, %1 ret void 12: ; preds = %7 %13 = landingpad { ptr, i32 } catch ptr null %14 = extractvalue { ptr, i32 } %13, 0 call void @__clang_call_terminate(ptr %14) #20 unreachable } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZSt10__distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag(ptr noundef %0, ptr noundef %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !75 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %4, align 8, !tbaa !75 %6 = load ptr, ptr %3, align 8, !tbaa !75 %7 = ptrtoint ptr %5 to i64 %8 = ptrtoint ptr %6 to i64 %9 = sub i64 %7, %8 ret i64 %9 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__iterator_categoryIPcENSt15iterator_traitsIT_E17iterator_categoryERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !314 ret void } ; Function Attrs: mustprogress uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm(ptr noundef %0, ptr noundef %1, i64 noundef %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !75 store ptr %1, ptr %5, align 8, !tbaa !75 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load i64, ptr %6, align 8, !tbaa !97 %8 = icmp eq i64 %7, 1 br i1 %8, label %9, label %12 9: ; preds = %3 %10 = load ptr, ptr %4, align 8, !tbaa !75 %11 = load ptr, ptr %5, align 8, !tbaa !75 call void @_ZNSt11char_traitsIcE6assignERcRKc(ptr noundef nonnull align 1 dereferenceable(1) %10, ptr noundef nonnull align 1 dereferenceable(1) %11) #18 br label %17 12: ; preds = %3 %13 = load ptr, ptr %4, align 8, !tbaa !75 %14 = load ptr, ptr %5, align 8, !tbaa !75 %15 = load i64, ptr %6, align 8, !tbaa !97 %16 = call noundef ptr @_ZNSt11char_traitsIcE4copyEPcPKcm(ptr noundef %13, ptr noundef %14, i64 noundef %15) br label %17 17: ; preds = %12, %9 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt11char_traitsIcE6assignERcRKc(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !75 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %4, align 8, !tbaa !75 %6 = load i8, ptr %5, align 1, !tbaa !304 %7 = load ptr, ptr %3, align 8, !tbaa !75 store i8 %6, ptr %7, align 1, !tbaa !304 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt11char_traitsIcE4copyEPcPKcm(ptr noundef %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 store ptr %0, ptr %5, align 8, !tbaa !75 store ptr %1, ptr %6, align 8, !tbaa !75 store i64 %2, ptr %7, align 8, !tbaa !97 %8 = load i64, ptr %7, align 8, !tbaa !97 %9 = icmp eq i64 %8, 0 br i1 %9, label %10, label %12 10: ; preds = %3 %11 = load ptr, ptr %5, align 8, !tbaa !75 store ptr %11, ptr %4, align 8 br label %16 12: ; preds = %3 %13 = load ptr, ptr %5, align 8, !tbaa !75 %14 = load ptr, ptr %6, align 8, !tbaa !75 %15 = load i64, ptr %7, align 8, !tbaa !97 call void @llvm.memcpy.p0.p0.i64(ptr align 1 %13, ptr align 1 %14, i64 %15, i1 false) store ptr %13, ptr %4, align 8 br label %16 16: ; preds = %12, %10 %17 = load ptr, ptr %4, align 8 ret ptr %17 } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1) #1 align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %5, i32 0, i32 1 store i64 %6, ptr %7, align 8, !tbaa !296 ret void } ; Function Attrs: mustprogress uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #0 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv(ptr noundef nonnull align 8 dereferenceable(32) %3) br i1 %4, label %8, label %5 5: ; preds = %1 %6 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 2 %7 = load i64, ptr %6, align 8, !tbaa !304 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm(ptr noundef nonnull align 8 dereferenceable(32) %3, i64 noundef %7) #18 br label %8 8: ; preds = %5, %1 ret void } ; Function Attrs: mustprogress uwtable define available_externally noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #0 align 2 { %2 = alloca i1, align 1 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 %4 = load ptr, ptr %3, align 8 %5 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %4) %6 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %4) %7 = icmp eq ptr %5, %6 br i1 %7, label %8, label %14 8: ; preds = %1 %9 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %4, i32 0, i32 1 %10 = load i64, ptr %9, align 8, !tbaa !296 %11 = icmp ugt i64 %10, 15 br i1 %11, label %12, label %13 12: ; preds = %8 unreachable 13: ; preds = %8 store i1 true, ptr %2, align 1 br label %15 14: ; preds = %1 store i1 false, ptr %2, align 1 br label %15 15: ; preds = %14, %13 %16 = load i1, ptr %2, align 1 ret i1 %16 } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1) #1 align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv(ptr noundef nonnull align 8 dereferenceable(32) %5) to label %7 unwind label %12 7: ; preds = %2 %8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %5) %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = add i64 %9, 1 invoke void @_ZNSt16allocator_traitsISaIcEE10deallocateERS0_Pcm(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %8, i64 noundef %10) to label %11 unwind label %12 11: ; preds = %7 ret void 12: ; preds = %7, %2 %13 = landingpad { ptr, i32 } catch ptr null %14 = extractvalue { ptr, i32 } %13, 0 call void @__clang_call_terminate(ptr %14) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 2 %5 = getelementptr inbounds [16 x i8], ptr %4, i64 0, i64 0 %6 = call noundef ptr @_ZNSt19__ptr_traits_ptr_toIPKcS0_Lb0EE10pointer_toERS0_(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt19__ptr_traits_ptr_toIPKcS0_Lb0EE10pointer_toERS0_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !75 %3 = load ptr, ptr %2, align 8, !tbaa !75 ret ptr %3 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaIcEE10deallocateERS0_Pcm(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !73 store ptr %1, ptr %5, align 8, !tbaa !75 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8, !tbaa !73 %8 = load ptr, ptr %5, align 8, !tbaa !75 %9 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt15__new_allocatorIcE10deallocateEPcm(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, i64 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIcE10deallocateEPcm(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !77 store ptr %1, ptr %5, align 8, !tbaa !75 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %5, align 8, !tbaa !75 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = mul i64 %8, 1 call void @_ZdlPvm(ptr noundef %7, i64 noundef %9) #21 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %3, i32 0, i32 0 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE13_Rb_tree_implIS6_Lb1EEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !319 %3 = load ptr, ptr %2, align 8 call void @_ZNSaISt13_Rb_tree_nodeISt4pairIKibEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 call void @_ZNSt20_Rb_tree_key_compareISt4lessIiEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 %4 = getelementptr inbounds i8, ptr %3, i64 8 call void @_ZNSt15_Rb_tree_headerC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %4) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSaISt13_Rb_tree_nodeISt4pairIKibEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !321 %3 = load ptr, ptr %2, align 8 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt20_Rb_tree_key_compareISt4lessIiEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !323 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !325 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 invoke void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef %4) to label %5 unwind label %7 5: ; preds = %1 %6 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %3, i32 0, i32 0 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 ret void 7: ; preds = %1 %8 = landingpad { ptr, i32 } catch ptr null %9 = extractvalue { ptr, i32 } %8, 0 call void @__clang_call_terminate(ptr %9) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !317 store ptr %1, ptr %4, align 8, !tbaa !327 %6 = load ptr, ptr %3, align 8 br label %7 7: ; preds = %10, %2 %8 = load ptr, ptr %4, align 8, !tbaa !327 %9 = icmp ne ptr %8, null br i1 %9, label %10, label %17 10: ; preds = %7 %11 = load ptr, ptr %4, align 8, !tbaa !327 %12 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %11) #18 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_eraseEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %12) call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %13 = load ptr, ptr %4, align 8, !tbaa !327 %14 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %13) #18 store ptr %14, ptr %5, align 8, !tbaa !327 %15 = load ptr, ptr %4, align 8, !tbaa !327 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %15) #18 %16 = load ptr, ptr %5, align 8, !tbaa !327 store ptr %16, ptr %4, align 8, !tbaa !327 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %7, !llvm.loop !329 17: ; preds = %7 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE9_M_mbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !325 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 3 %5 = load ptr, ptr %4, align 8, !tbaa !287 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 2 %5 = load ptr, ptr %4, align 8, !tbaa !288 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !317 store ptr %1, ptr %4, align 8, !tbaa !327 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !327 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef %6) #18 %7 = load ptr, ptr %4, align 8, !tbaa !327 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %5, ptr noundef %7) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !317 store ptr %1, ptr %4, align 8, !tbaa !327 %5 = load ptr, ptr %3, align 8 %6 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !327 %8 = invoke noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKibEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(40) %7) to label %9 unwind label %10 9: ; preds = %2 call void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE7destroyIS3_EEvRS5_PT_(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %8) #18 ret void 10: ; preds = %2 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 call void @__clang_call_terminate(ptr %12) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !317 store ptr %1, ptr %4, align 8, !tbaa !327 %5 = load ptr, ptr %3, align 8 %6 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !327 invoke void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE10deallocateERS5_PS4_m(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %7, i64 noundef 1) to label %8 unwind label %9 8: ; preds = %2 ret void 9: ; preds = %2 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 call void @__clang_call_terminate(ptr %11) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE7destroyIS3_EEvRS5_PT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !321 store ptr %1, ptr %4, align 8, !tbaa !330 %5 = load ptr, ptr %3, align 8, !tbaa !321 %6 = load ptr, ptr %4, align 8, !tbaa !330 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE7destroyIS3_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKibEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !327 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node.52", ptr %3, i32 0, i32 1 %5 = call noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKibEE6_M_ptrEv(ptr noundef nonnull align 4 dereferenceable(8) %4) #18 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE7destroyIS3_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !325 store ptr %1, ptr %4, align 8, !tbaa !330 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKibEE6_M_ptrEv(ptr noundef nonnull align 4 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !332 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKibEE7_M_addrEv(ptr noundef nonnull align 4 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZN9__gnu_cxx16__aligned_membufISt4pairIKibEE7_M_addrEv(ptr noundef nonnull align 4 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !332 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.__gnu_cxx::__aligned_membuf.53", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE10deallocateERS5_PS4_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !321 store ptr %1, ptr %5, align 8, !tbaa !327 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8, !tbaa !321 %8 = load ptr, ptr %5, align 8, !tbaa !327 %9 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE10deallocateEPS4_m(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, i64 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE10deallocateEPS4_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !325 store ptr %1, ptr %5, align 8, !tbaa !327 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %5, align 8, !tbaa !327 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = mul i64 %8, 40 call void @_ZdlPvm(ptr noundef %7, i64 noundef %9) #21 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE9_M_mbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 1 %8 = load ptr, ptr %7, align 8, !tbaa !236 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEE2atEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 call void @_ZNKSt6vectorIiSaIiEE14_M_range_checkEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %6) %7 = load i64, ptr %4, align 8, !tbaa !97 %8 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %7) #18 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNKSt6vectorIiSaIiEE14_M_range_checkEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %8 = icmp uge i64 %6, %7 br i1 %8, label %9, label %12 9: ; preds = %2 %10 = load i64, ptr %4, align 8, !tbaa !97 %11 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 call void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef @.str.50, i64 noundef %10, i64 noundef %11) #19 unreachable 12: ; preds = %2 ret void } ; Function Attrs: noreturn declare void @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef, ...) #13 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !77 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIPiiEvT_S1_RSaIT0_E(ptr noundef %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !95 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 call void @_ZSt8_DestroyIPiEvT_S1_(ptr noundef %7, ptr noundef %8) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !270 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !270 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !81 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !101 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %10, i32 0, i32 0 %12 = load ptr, ptr %11, align 8, !tbaa !81 %13 = ptrtoint ptr %9 to i64 %14 = ptrtoint ptr %12 to i64 %15 = sub i64 %13, %14 %16 = sdiv exact i64 %15, 4 invoke void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef %6, i64 noundef %16) to label %17 unwind label %19 17: ; preds = %1 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 ret void 19: ; preds = %1 %20 = landingpad { ptr, i32 } catch ptr null %21 = extractvalue { ptr, i32 } %20, 0 call void @__clang_call_terminate(ptr %21) #20 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIPiEvT_S1_(ptr noundef %0, ptr noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !100 store ptr %1, ptr %4, align 8, !tbaa !100 %5 = load ptr, ptr %3, align 8, !tbaa !100 %6 = load ptr, ptr %4, align 8, !tbaa !100 call void @_ZNSt12_Destroy_auxILb1EE9__destroyIPiEEvT_S3_(ptr noundef %5, ptr noundef %6) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIPiEEvT_S3_(ptr noundef %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !100 store ptr %1, ptr %4, align 8, !tbaa !100 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !270 store ptr %1, ptr %5, align 8, !tbaa !100 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = icmp ne ptr %8, null br i1 %9, label %10, label %14 10: ; preds = %3 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %12 = load ptr, ptr %5, align 8, !tbaa !100 %13 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt16allocator_traitsISaIiEE10deallocateERS0_Pim(ptr noundef nonnull align 1 dereferenceable(1) %11, ptr noundef %12, i64 noundef %13) br label %14 14: ; preds = %10, %3 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !274 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaIiEE10deallocateERS0_Pim(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !95 store ptr %1, ptr %5, align 8, !tbaa !100 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8, !tbaa !95 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt15__new_allocatorIiE10deallocateEPim(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, i64 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIiE10deallocateEPim(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !274 store ptr %1, ptr %5, align 8, !tbaa !100 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %5, align 8, !tbaa !100 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = mul i64 %8, 4 call void @_ZdlPvm(ptr noundef %7, i64 noundef %9) #21 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaIiEE9constructIiJRKiEEEvRS0_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !95 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !95 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 call void @_ZNSt15__new_allocatorIiE9constructIiJRKiEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 4 dereferenceable(4) %9) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #0 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %14, align 8 store ptr %0, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !100 %15 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %16 = call noundef i64 @_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef 1, ptr noundef @.str.51) store i64 %16, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %17, i32 0, i32 0 %19 = load ptr, ptr %18, align 8, !tbaa !81 store ptr %19, ptr %8, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !82 store ptr %22, ptr %9, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %23 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 store ptr %23, ptr %24, align 8 %25 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %25, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %26 = load i64, ptr %7, align 8, !tbaa !97 %27 = call noundef ptr @_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %26) store ptr %27, ptr %12, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %28 = load ptr, ptr %12, align 8, !tbaa !100 store ptr %28, ptr %13, align 8, !tbaa !100 %29 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %30 = load ptr, ptr %12, align 8, !tbaa !100 %31 = load i64, ptr %10, align 8, !tbaa !97 %32 = getelementptr inbounds nuw i32, ptr %30, i64 %31 %33 = load ptr, ptr %6, align 8, !tbaa !100 call void @_ZNSt16allocator_traitsISaIiEE9constructIiJRKiEEEvRS0_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %29, ptr noundef %32, ptr noundef nonnull align 4 dereferenceable(4) %33) #18 store ptr null, ptr %13, align 8, !tbaa !100 %34 = load ptr, ptr %8, align 8, !tbaa !100 %35 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %36 = load ptr, ptr %35, align 8, !tbaa !100 %37 = load ptr, ptr %12, align 8, !tbaa !100 %38 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %39 = call noundef ptr @_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_(ptr noundef %34, ptr noundef %36, ptr noundef %37, ptr noundef nonnull align 1 dereferenceable(1) %38) #18 store ptr %39, ptr %13, align 8, !tbaa !100 %40 = load ptr, ptr %13, align 8, !tbaa !100 %41 = getelementptr inbounds nuw i32, ptr %40, i32 1 store ptr %41, ptr %13, align 8, !tbaa !100 %42 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %43 = load ptr, ptr %42, align 8, !tbaa !100 %44 = load ptr, ptr %9, align 8, !tbaa !100 %45 = load ptr, ptr %13, align 8, !tbaa !100 %46 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %47 = call noundef ptr @_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_(ptr noundef %43, ptr noundef %44, ptr noundef %45, ptr noundef nonnull align 1 dereferenceable(1) %46) #18 store ptr %47, ptr %13, align 8, !tbaa !100 %48 = load ptr, ptr %8, align 8, !tbaa !100 %49 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %49, i32 0, i32 2 %51 = load ptr, ptr %50, align 8, !tbaa !101 %52 = load ptr, ptr %8, align 8, !tbaa !100 %53 = ptrtoint ptr %51 to i64 %54 = ptrtoint ptr %52 to i64 %55 = sub i64 %53, %54 %56 = sdiv exact i64 %55, 4 call void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef %48, i64 noundef %56) %57 = load ptr, ptr %12, align 8, !tbaa !100 %58 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %59 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %58, i32 0, i32 0 store ptr %57, ptr %59, align 8, !tbaa !81 %60 = load ptr, ptr %13, align 8, !tbaa !100 %61 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %62 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %61, i32 0, i32 1 store ptr %60, ptr %62, align 8, !tbaa !82 %63 = load ptr, ptr %12, align 8, !tbaa !100 %64 = load i64, ptr %7, align 8, !tbaa !97 %65 = getelementptr inbounds nuw i32, ptr %63, i64 %64 %66 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %67 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %66, i32 0, i32 2 store ptr %65, ptr %67, align 8, !tbaa !101 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIiE9constructIiJRKiEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !274 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %5, align 8, !tbaa !100 %8 = load ptr, ptr %6, align 8, !tbaa !100 %9 = load i32, ptr %8, align 4, !tbaa !72 store i32 %9, ptr %7, align 4, !tbaa !72 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !75 %9 = load ptr, ptr %4, align 8 %10 = call noundef i64 @_ZNKSt6vectorIiSaIiEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %11 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %12 = sub i64 %10, %11 %13 = load i64, ptr %5, align 8, !tbaa !97 %14 = icmp ult i64 %12, %13 br i1 %14, label %15, label %17 15: ; preds = %3 %16 = load ptr, ptr %6, align 8, !tbaa !75 call void @_ZSt20__throw_length_errorPKc(ptr noundef %16) #19 unreachable 17: ; preds = %3 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %18 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 store i64 %19, ptr %8, align 8, !tbaa !97 %20 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %5) %21 = load i64, ptr %20, align 8, !tbaa !97 %22 = add i64 %18, %21 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 store i64 %22, ptr %7, align 8, !tbaa !97 %23 = load i64, ptr %7, align 8, !tbaa !97 %24 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %25 = icmp ult i64 %23, %24 br i1 %25, label %30, label %26 26: ; preds = %17 %27 = load i64, ptr %7, align 8, !tbaa !97 %28 = call noundef i64 @_ZNKSt6vectorIiSaIiEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %29 = icmp ugt i64 %27, %28 br i1 %29, label %30, label %32 30: ; preds = %26, %17 %31 = call noundef i64 @_ZNKSt6vectorIiSaIiEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 br label %34 32: ; preds = %26 %33 = load i64, ptr %7, align 8, !tbaa !97 br label %34 34: ; preds = %32, %30 %35 = phi i64 [ %31, %30 ], [ %33, %32 ] call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret i64 %35 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !124 store ptr %1, ptr %4, align 8, !tbaa !124 %5 = load ptr, ptr %3, align 8, !tbaa !124 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !100 %8 = load ptr, ptr %4, align 8, !tbaa !124 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !100 %11 = ptrtoint ptr %7 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 %14 = sdiv exact i64 %13, 4 ret i64 %14 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !270 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = icmp ne i64 %6, 0 br i1 %7, label %8, label %12 8: ; preds = %2 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %10 = load i64, ptr %4, align 8, !tbaa !97 %11 = call noundef ptr @_ZNSt16allocator_traitsISaIiEE8allocateERS0_m(ptr noundef nonnull align 1 dereferenceable(1) %9, i64 noundef %10) br label %13 12: ; preds = %2 br label %13 13: ; preds = %12, %8 %14 = phi ptr [ %11, %8 ], [ null, %12 ] ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #1 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !100 store ptr %1, ptr %6, align 8, !tbaa !100 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !95 %9 = load ptr, ptr %5, align 8, !tbaa !100 %10 = load ptr, ptr %6, align 8, !tbaa !100 %11 = load ptr, ptr %7, align 8, !tbaa !100 %12 = load ptr, ptr %8, align 8, !tbaa !95 %13 = call noundef ptr @_ZSt12__relocate_aIPiS0_SaIiEET0_T_S3_S2_RT1_(ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef nonnull align 1 dereferenceable(1) %12) #18 ret ptr %13 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !124 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorIiSaIiEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8 %4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 %5 = call noundef i64 @_ZNSt6vectorIiSaIiEE11_S_max_sizeERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %4) #18 ret i64 %5 } ; Function Attrs: noreturn declare void @_ZSt20__throw_length_errorPKc(ptr noundef) #13 ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !299 store ptr %1, ptr %5, align 8, !tbaa !299 %6 = load ptr, ptr %4, align 8, !tbaa !299 %7 = load i64, ptr %6, align 8, !tbaa !97 %8 = load ptr, ptr %5, align 8, !tbaa !299 %9 = load i64, ptr %8, align 8, !tbaa !97 %10 = icmp ult i64 %7, %9 br i1 %10, label %11, label %13 11: ; preds = %2 %12 = load ptr, ptr %5, align 8, !tbaa !299 store ptr %12, ptr %3, align 8 br label %15 13: ; preds = %2 %14 = load ptr, ptr %4, align 8, !tbaa !299 store ptr %14, ptr %3, align 8 br label %15 15: ; preds = %13, %11 %16 = load ptr, ptr %3, align 8 ret ptr %16 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt6vectorIiSaIiEE11_S_max_sizeERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 %3 = alloca i64, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %2, align 8, !tbaa !95 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 store i64 2305843009213693951, ptr %3, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %5 = load ptr, ptr %2, align 8, !tbaa !95 %6 = call noundef i64 @_ZNSt16allocator_traitsISaIiEE8max_sizeERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 store i64 %6, ptr %4, align 8, !tbaa !97 %7 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) to label %8 unwind label %10 8: ; preds = %1 %9 = load i64, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret i64 %9 10: ; preds = %1 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 call void @__clang_call_terminate(ptr %12) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !270 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt16allocator_traitsISaIiEE8max_sizeERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !95 %3 = load ptr, ptr %2, align 8, !tbaa !95 %4 = call noundef i64 @_ZNKSt15__new_allocatorIiE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !299 store ptr %1, ptr %5, align 8, !tbaa !299 %6 = load ptr, ptr %5, align 8, !tbaa !299 %7 = load i64, ptr %6, align 8, !tbaa !97 %8 = load ptr, ptr %4, align 8, !tbaa !299 %9 = load i64, ptr %8, align 8, !tbaa !97 %10 = icmp ult i64 %7, %9 br i1 %10, label %11, label %13 11: ; preds = %2 %12 = load ptr, ptr %5, align 8, !tbaa !299 store ptr %12, ptr %3, align 8 br label %15 13: ; preds = %2 %14 = load ptr, ptr %4, align 8, !tbaa !299 store ptr %14, ptr %3, align 8 br label %15 15: ; preds = %13, %11 %16 = load ptr, ptr %3, align 8 ret ptr %16 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorIiE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !274 %3 = load ptr, ptr %2, align 8 %4 = call noundef i64 @_ZNKSt15__new_allocatorIiE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorIiE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !274 ret i64 2305843009213693951 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt16allocator_traitsISaIiEE8allocateERS0_m(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !95 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8, !tbaa !95 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef ptr @_ZNSt15__new_allocatorIiE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %5, i64 noundef %6, ptr noundef null) ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt15__new_allocatorIiE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !274 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !114 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt15__new_allocatorIiE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #18 %10 = icmp ugt i64 %8, %9 %11 = zext i1 %10 to i64 %12 = call i64 @llvm.expect.i64(i64 %11, i64 0) %13 = icmp ne i64 %12, 0 br i1 %13, label %14, label %19 14: ; preds = %3 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 4611686018427387903 br i1 %16, label %17, label %18 17: ; preds = %14 call void @_ZSt28__throw_bad_array_new_lengthv() #19 unreachable 18: ; preds = %14 call void @_ZSt17__throw_bad_allocv() #19 unreachable 19: ; preds = %3 %20 = load i64, ptr %5, align 8, !tbaa !97 %21 = mul i64 %20, 4 %22 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %21) #23 ret ptr %22 } ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none) declare i64 @llvm.expect.i64(i64, i64) #14 ; Function Attrs: noreturn declare void @_ZSt28__throw_bad_array_new_lengthv() #13 ; Function Attrs: noreturn declare void @_ZSt17__throw_bad_allocv() #13 ; Function Attrs: nobuiltin allocsize(0) declare noundef nonnull ptr @_Znwm(i64 noundef) #15 ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__relocate_aIPiS0_SaIiEET0_T_S3_S2_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #4 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !100 store ptr %1, ptr %6, align 8, !tbaa !100 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !95 %9 = load ptr, ptr %5, align 8, !tbaa !100 %10 = call noundef ptr @_ZSt12__niter_baseIPiET_S1_(ptr noundef %9) #18 %11 = load ptr, ptr %6, align 8, !tbaa !100 %12 = call noundef ptr @_ZSt12__niter_baseIPiET_S1_(ptr noundef %11) #18 %13 = load ptr, ptr %7, align 8, !tbaa !100 %14 = call noundef ptr @_ZSt12__niter_baseIPiET_S1_(ptr noundef %13) #18 %15 = load ptr, ptr %8, align 8, !tbaa !95 %16 = call noundef ptr @_ZSt14__relocate_a_1IiiENSt9enable_ifIXsr3std24__is_bitwise_relocatableIT_EE5valueEPS1_E4typeES2_S2_S2_RSaIT0_E(ptr noundef %10, ptr noundef %12, ptr noundef %14, ptr noundef nonnull align 1 dereferenceable(1) %15) #18 ret ptr %16 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt14__relocate_a_1IiiENSt9enable_ifIXsr3std24__is_bitwise_relocatableIT_EE5valueEPS1_E4typeES2_S2_S2_RSaIT0_E(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #4 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i64, align 8 store ptr %0, ptr %5, align 8, !tbaa !100 store ptr %1, ptr %6, align 8, !tbaa !100 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !95 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %10 = load ptr, ptr %6, align 8, !tbaa !100 %11 = load ptr, ptr %5, align 8, !tbaa !100 %12 = ptrtoint ptr %10 to i64 %13 = ptrtoint ptr %11 to i64 %14 = sub i64 %12, %13 %15 = sdiv exact i64 %14, 4 store i64 %15, ptr %9, align 8, !tbaa !97 %16 = load i64, ptr %9, align 8, !tbaa !97 %17 = icmp sgt i64 %16, 0 br i1 %17, label %18, label %23 18: ; preds = %4 %19 = load ptr, ptr %7, align 8, !tbaa !100 %20 = load ptr, ptr %5, align 8, !tbaa !100 %21 = load i64, ptr %9, align 8, !tbaa !97 %22 = mul i64 %21, 4 call void @llvm.memmove.p0.p0.i64(ptr align 4 %19, ptr align 4 %20, i64 %22, i1 false) br label %23 23: ; preds = %18, %4 %24 = load ptr, ptr %7, align 8, !tbaa !100 %25 = load i64, ptr %9, align 8, !tbaa !97 %26 = getelementptr inbounds i32, ptr %24, i64 %25 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %26 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_baseIPiET_S1_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !100 %3 = load ptr, ptr %2, align 8, !tbaa !100 ret ptr %3 } ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) declare void @llvm.memmove.p0.p0.i64(ptr writeonly captures(none), ptr readonly captures(none), i64, i1 immarg) #8 ; Function Attrs: noreturn declare void @_ZSt19__throw_logic_errorPKc(ptr noundef) #13 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt11char_traitsIcE6lengthEPKc(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !75 %3 = load ptr, ptr %2, align 8, !tbaa !75 %4 = call i64 @strlen(ptr noundef %3) #18 ret i64 %4 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1, ptr noundef %2) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca %struct._Guard.57, align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !71 store ptr %1, ptr %5, align 8, !tbaa !75 store ptr %2, ptr %6, align 8, !tbaa !75 %11 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %12 = load ptr, ptr %5, align 8, !tbaa !75 %13 = load ptr, ptr %6, align 8, !tbaa !75 %14 = call noundef i64 @_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_(ptr noundef %12, ptr noundef %13) store i64 %14, ptr %7, align 8, !tbaa !97 %15 = load i64, ptr %7, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 15 br i1 %16, label %17, label %20 17: ; preds = %3 %18 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef 0) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %18) %19 = load i64, ptr %7, align 8, !tbaa !97 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm(ptr noundef nonnull align 8 dereferenceable(32) %11, i64 noundef %19) br label %22 20: ; preds = %3 %21 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_M_use_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #18 br label %22 22: ; preds = %20, %17 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC2EPS4_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef %11) %23 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %11) %24 = load ptr, ptr %5, align 8, !tbaa !75 %25 = load ptr, ptr %6, align 8, !tbaa !75 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_(ptr noundef %23, ptr noundef %24, ptr noundef %25) #18 %26 = getelementptr inbounds nuw %struct._Guard.57, ptr %8, i32 0, i32 0 store ptr null, ptr %26, align 8, !tbaa !334 %27 = load i64, ptr %7, align 8, !tbaa !97 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %11, i64 noundef %27) to label %28 unwind label %29 28: ; preds = %22 call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void 29: ; preds = %22 %30 = landingpad { ptr, i32 } cleanup %31 = extractvalue { ptr, i32 } %30, 0 store ptr %31, ptr %9, align 8 %32 = extractvalue { ptr, i32 } %30, 1 store i32 %32, ptr %10, align 4 call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %33 33: ; preds = %29 %34 = load ptr, ptr %9, align 8 %35 = load i32, ptr %10, align 4 %36 = insertvalue { ptr, i32 } poison, ptr %34, 0 %37 = insertvalue { ptr, i32 } %36, i32 %35, 1 resume { ptr, i32 } %37 } ; Function Attrs: nounwind declare i64 @strlen(ptr noundef) #7 ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef i64 @_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_(ptr noundef %0, ptr noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !75 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %3, align 8, !tbaa !75 %6 = load ptr, ptr %4, align 8, !tbaa !75 call void @_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %3) %7 = call noundef i64 @_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag(ptr noundef %5, ptr noundef %6) ret i64 %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC2EPS4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !336 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %struct._Guard.57, ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !71 store ptr %7, ptr %6, align 8, !tbaa !334 ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #1 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !75 store ptr %1, ptr %5, align 8, !tbaa !75 store ptr %2, ptr %6, align 8, !tbaa !75 %7 = load ptr, ptr %4, align 8, !tbaa !75 %8 = load ptr, ptr %5, align 8, !tbaa !75 %9 = load ptr, ptr %6, align 8, !tbaa !75 %10 = load ptr, ptr %5, align 8, !tbaa !75 %11 = ptrtoint ptr %9 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm(ptr noundef %7, ptr noundef %8, i64 noundef %13) to label %14 unwind label %15 14: ; preds = %3 ret void 15: ; preds = %3 %16 = landingpad { ptr, i32 } catch ptr null %17 = extractvalue { ptr, i32 } %16, 0 call void @__clang_call_terminate(ptr %17) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !336 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %struct._Guard.57, ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !334 %6 = icmp ne ptr %5, null br i1 %6, label %7, label %11 7: ; preds = %1 %8 = getelementptr inbounds nuw %struct._Guard.57, ptr %3, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !334 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv(ptr noundef nonnull align 8 dereferenceable(32) %9) to label %10 unwind label %12 10: ; preds = %7 br label %11 11: ; preds = %10, %1 ret void 12: ; preds = %7 %13 = landingpad { ptr, i32 } catch ptr null %14 = extractvalue { ptr, i32 } %13, 0 call void @__clang_call_terminate(ptr %14) #20 unreachable } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag(ptr noundef %0, ptr noundef %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !75 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %4, align 8, !tbaa !75 %6 = load ptr, ptr %3, align 8, !tbaa !75 %7 = ptrtoint ptr %5 to i64 %8 = ptrtoint ptr %6 to i64 %9 = sub i64 %7, %8 ret i64 %9 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_(ptr noundef nonnull align 8 dereferenceable(8) %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !314 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i64 @_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_(i64 noundef %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #0 comdat align 2 { %3 = alloca i64, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.std::allocator.16", align 1 store i64 %0, ptr %3, align 8, !tbaa !97 store ptr %1, ptr %4, align 8, !tbaa !95 %6 = load i64, ptr %3, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 1, ptr %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !95 call void @_ZNSaIiEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef nonnull align 1 dereferenceable(1) %7) #18 %8 = call noundef i64 @_ZNSt6vectorIiSaIiEE11_S_max_sizeERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 %9 = icmp ugt i64 %6, %8 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 br i1 %9, label %10, label %11 10: ; preds = %2 call void @_ZSt20__throw_length_errorPKc(ptr noundef @.str.53) #19 unreachable 11: ; preds = %2 %12 = load i64, ptr %3, align 8, !tbaa !97 ret i64 %12 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !270 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !95 %9 = load ptr, ptr %4, align 8 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %9, i32 0, i32 0 %11 = load ptr, ptr %6, align 8, !tbaa !95 call void @_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 1 dereferenceable(1) %11) #18 %12 = load i64, ptr %5, align 8, !tbaa !97 invoke void @_ZNSt12_Vector_baseIiSaIiEE17_M_create_storageEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %12) to label %13 unwind label %14 13: ; preds = %3 ret void 14: ; preds = %3 %15 = landingpad { ptr, i32 } cleanup %16 = extractvalue { ptr, i32 } %15, 0 store ptr %16, ptr %7, align 8 %17 = extractvalue { ptr, i32 } %15, 1 store i32 %17, ptr %8, align 4 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #18 br label %18 18: ; preds = %14 %19 = load ptr, ptr %7, align 8 %20 = load i32, ptr %8, align 4 %21 = insertvalue { ptr, i32 } poison, ptr %19, 0 %22 = insertvalue { ptr, i32 } %21, i32 %20, 1 resume { ptr, i32 } %22 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE18_M_fill_initializeEmRKi(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !81 %11 = load i64, ptr %5, align 8, !tbaa !97 %12 = load ptr, ptr %6, align 8, !tbaa !100 %13 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %14 = call noundef ptr @_ZSt24__uninitialized_fill_n_aIPimiiET_S1_T0_RKT1_RSaIT2_E(ptr noundef %10, i64 noundef %11, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 1 dereferenceable(1) %13) %15 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %15, i32 0, i32 1 store ptr %14, ptr %16, align 8, !tbaa !82 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSaIiEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !95 store ptr %1, ptr %4, align 8, !tbaa !95 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !95 call void @_ZNSt15__new_allocatorIiEC2ERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef nonnull align 1 dereferenceable(1) %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIiEC2ERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !274 store ptr %1, ptr %4, align 8, !tbaa !274 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !272 store ptr %1, ptr %4, align 8, !tbaa !95 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !95 call void @_ZNSaIiEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef nonnull align 1 dereferenceable(1) %6) #18 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE17_M_create_storageEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !270 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef ptr @_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %6) %8 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %8, i32 0, i32 0 store ptr %7, ptr %9, align 8, !tbaa !81 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %10, i32 0, i32 0 %12 = load ptr, ptr %11, align 8, !tbaa !81 %13 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %14 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %13, i32 0, i32 1 store ptr %12, ptr %14, align 8, !tbaa !82 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %15, i32 0, i32 0 %17 = load ptr, ptr %16, align 8, !tbaa !81 %18 = load i64, ptr %4, align 8, !tbaa !97 %19 = getelementptr inbounds nuw i32, ptr %17, i64 %18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %20, i32 0, i32 2 store ptr %19, ptr %21, align 8, !tbaa !101 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt24__uninitialized_fill_n_aIPimiiET_S1_T0_RKT1_RSaIT2_E(ptr noundef %0, i64 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca ptr, align 8 %6 = alloca i64, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !100 store i64 %1, ptr %6, align 8, !tbaa !97 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !95 %9 = load ptr, ptr %5, align 8, !tbaa !100 %10 = load i64, ptr %6, align 8, !tbaa !97 %11 = load ptr, ptr %7, align 8, !tbaa !100 %12 = call noundef ptr @_ZSt20uninitialized_fill_nIPimiET_S1_T0_RKT1_(ptr noundef %9, i64 noundef %10, ptr noundef nonnull align 4 dereferenceable(4) %11) ret ptr %12 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt20uninitialized_fill_nIPimiET_S1_T0_RKT1_(ptr noundef %0, i64 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 %7 = alloca i8, align 1 store ptr %0, ptr %4, align 8, !tbaa !100 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 store i8 1, ptr %7, align 1, !tbaa !87 %8 = load ptr, ptr %4, align 8, !tbaa !100 %9 = load i64, ptr %5, align 8, !tbaa !97 %10 = load ptr, ptr %6, align 8, !tbaa !100 %11 = call noundef ptr @_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPimiEET_S3_T0_RKT1_(ptr noundef %8, i64 noundef %9, ptr noundef nonnull align 4 dereferenceable(4) %10) call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 ret ptr %11 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPimiEET_S3_T0_RKT1_(ptr noundef %0, i64 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = call noundef ptr @_ZSt6fill_nIPimiET_S1_T0_RKT1_(ptr noundef %7, i64 noundef %8, ptr noundef nonnull align 4 dereferenceable(4) %9) ret ptr %10 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt6fill_nIPimiET_S1_T0_RKT1_(ptr noundef %0, i64 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZSt17__size_to_integerm(i64 noundef %8) %10 = load ptr, ptr %6, align 8, !tbaa !100 call void @_ZSt19__iterator_categoryIPiENSt15iterator_traitsIT_E17iterator_categoryERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %4) %11 = call noundef ptr @_ZSt10__fill_n_aIPimiET_S1_T0_RKT1_St26random_access_iterator_tag(ptr noundef %7, i64 noundef %9, ptr noundef nonnull align 4 dereferenceable(4) %10) ret ptr %11 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt10__fill_n_aIPimiET_S1_T0_RKT1_St26random_access_iterator_tag(ptr noundef %0, i64 noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 %7 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !100 store i64 %1, ptr %6, align 8, !tbaa !97 store ptr %2, ptr %7, align 8, !tbaa !100 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = icmp ule i64 %8, 0 br i1 %9, label %10, label %12 10: ; preds = %3 %11 = load ptr, ptr %5, align 8, !tbaa !100 store ptr %11, ptr %4, align 8 br label %21 12: ; preds = %3 %13 = load ptr, ptr %5, align 8, !tbaa !100 %14 = load ptr, ptr %5, align 8, !tbaa !100 %15 = load i64, ptr %6, align 8, !tbaa !97 %16 = getelementptr inbounds nuw i32, ptr %14, i64 %15 %17 = load ptr, ptr %7, align 8, !tbaa !100 call void @_ZSt8__fill_aIPiiEvT_S1_RKT0_(ptr noundef %13, ptr noundef %16, ptr noundef nonnull align 4 dereferenceable(4) %17) %18 = load ptr, ptr %5, align 8, !tbaa !100 %19 = load i64, ptr %6, align 8, !tbaa !97 %20 = getelementptr inbounds nuw i32, ptr %18, i64 %19 store ptr %20, ptr %4, align 8 br label %21 21: ; preds = %12, %10 %22 = load ptr, ptr %4, align 8 ret ptr %22 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZSt17__size_to_integerm(i64 noundef %0) #4 comdat { %2 = alloca i64, align 8 store i64 %0, ptr %2, align 8, !tbaa !97 %3 = load i64, ptr %2, align 8, !tbaa !97 ret i64 %3 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__iterator_categoryIPiENSt15iterator_traitsIT_E17iterator_categoryERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !338 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8__fill_aIPiiEvT_S1_RKT0_(ptr noundef %0, ptr noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 call void @_ZSt9__fill_a1IPiiEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT0_EE7__valueEvE6__typeET_S6_RKS3_(ptr noundef %7, ptr noundef %8, ptr noundef nonnull align 4 dereferenceable(4) %9) ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt9__fill_a1IPiiEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT0_EE7__valueEvE6__typeET_S6_RKS3_(ptr noundef %0, ptr noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #4 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 4, ptr %7) #18 %8 = load ptr, ptr %6, align 8, !tbaa !100 %9 = load i32, ptr %8, align 4, !tbaa !72 store i32 %9, ptr %7, align 4, !tbaa !72 br label %10 10: ; preds = %17, %3 %11 = load ptr, ptr %4, align 8, !tbaa !100 %12 = load ptr, ptr %5, align 8, !tbaa !100 %13 = icmp ne ptr %11, %12 br i1 %13, label %14, label %20 14: ; preds = %10 %15 = load i32, ptr %7, align 4, !tbaa !72 %16 = load ptr, ptr %4, align 8, !tbaa !100 store i32 %15, ptr %16, align 4, !tbaa !72 br label %17 17: ; preds = %14 %18 = load ptr, ptr %4, align 8, !tbaa !100 %19 = getelementptr inbounds nuw i32, ptr %18, i32 1 store ptr %19, ptr %4, align 8, !tbaa !100 br label %10, !llvm.loop !340 20: ; preds = %10 call void @llvm.lifetime.end.p0(i64 4, ptr %7) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZN9__gnu_cxx14__alloc_traitsISaIiEiE17_S_select_on_copyERKS1_(ptr dead_on_unwind noalias writable sret(%"class.std::allocator.16") align 1 %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8 store ptr %1, ptr %4, align 8, !tbaa !95 %5 = load ptr, ptr %4, align 8, !tbaa !95 call void @_ZNSt16allocator_traitsISaIiEE37select_on_container_copy_constructionERKS0_(ptr dead_on_unwind writable sret(%"class.std::allocator.16") align 1 %0, ptr noundef nonnull align 1 dereferenceable(1) %5) ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E(ptr %0, ptr %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !95 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %13 = load ptr, ptr %7, align 8, !tbaa !100 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call noundef ptr @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_(ptr %15, ptr %17, ptr noundef %13) ret ptr %18 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaIiEE37select_on_container_copy_constructionERKS0_(ptr dead_on_unwind noalias writable sret(%"class.std::allocator.16") align 1 %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8 store ptr %1, ptr %4, align 8, !tbaa !95 %5 = load ptr, ptr %4, align 8, !tbaa !95 call void @_ZNSaIiEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %5) #18 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_(ptr %0, ptr %1, ptr noundef %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca i8, align 1 %8 = alloca i8, align 1 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 store i8 1, ptr %7, align 1, !tbaa !87 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 store i8 1, ptr %8, align 1, !tbaa !87 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %13 = load ptr, ptr %6, align 8, !tbaa !100 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call noundef ptr @_ZNSt20__uninitialized_copyILb1EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiEET0_T_SC_SB_(ptr %15, ptr %17, ptr noundef %13) call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 ret ptr %18 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt20__uninitialized_copyILb1EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiEET0_T_SC_SB_(ptr %0, ptr %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %0, ptr %9, align 8 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %10, align 8 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %11 = load ptr, ptr %6, align 8, !tbaa !100 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = call noundef ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_(ptr %13, ptr %15, ptr noundef %11) ret ptr %16 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET0_T_SA_S9_(ptr %0, ptr %1, ptr noundef %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 %14 = load ptr, ptr %13, align 8 %15 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEET_S8_(ptr %14) %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 store ptr %15, ptr %16, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %18 = load ptr, ptr %17, align 8 %19 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEET_S8_(ptr %18) %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 store ptr %19, ptr %20, align 8 %21 = load ptr, ptr %6, align 8, !tbaa !100 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 %23 = load ptr, ptr %22, align 8 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 %26 = call noundef ptr @_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET1_T0_SA_S9_(ptr %23, ptr %25, ptr noundef %21) ret ptr %26 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiET1_T0_SA_S9_(ptr %0, ptr %1, ptr noundef %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %0, ptr %9, align 8 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %10, align 8 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = call noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %12) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = call noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %15) #18 %17 = load ptr, ptr %6, align 8, !tbaa !100 %18 = call noundef ptr @_ZSt12__niter_baseIPiET_S1_(ptr noundef %17) #18 %19 = call noundef ptr @_ZSt14__copy_move_a1ILb0EPKiPiET1_T0_S4_S3_(ptr noundef %13, ptr noundef %16, ptr noundef %18) %20 = call noundef ptr @_ZSt12__niter_wrapIPiET_RKS1_S1_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef %19) ret ptr %20 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEET_S8_(ptr %0) #4 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 store ptr %0, ptr %4, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %2, i32 0, i32 0 %6 = load ptr, ptr %5, align 8 ret ptr %6 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_wrapIPiET_RKS1_S1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !338 store ptr %1, ptr %4, align 8, !tbaa !100 %5 = load ptr, ptr %4, align 8, !tbaa !100 ret ptr %5 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt14__copy_move_a1ILb0EPKiPiET1_T0_S4_S3_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = call noundef ptr @_ZSt14__copy_move_a2ILb0EPKiPiET1_T0_S4_S3_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %0) #1 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %3 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %2, i32 0, i32 0 store ptr %0, ptr %3, align 8 %4 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #18 %5 = load ptr, ptr %4, align 8, !tbaa !100 ret ptr %5 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt14__copy_move_a2ILb0EPKiPiET1_T0_S4_S3_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = call noundef ptr @_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIiEEPT_PKS3_S6_S4_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIiEEPT_PKS3_S6_S4_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %4, align 8, !tbaa !100 %10 = ptrtoint ptr %8 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 4 store i64 %13, ptr %7, align 8, !tbaa !97 %14 = load i64, ptr %7, align 8, !tbaa !97 %15 = icmp ne i64 %14, 0 br i1 %15, label %16, label %21 16: ; preds = %3 %17 = load ptr, ptr %6, align 8, !tbaa !100 %18 = load ptr, ptr %4, align 8, !tbaa !100 %19 = load i64, ptr %7, align 8, !tbaa !97 %20 = mul i64 4, %19 call void @llvm.memmove.p0.p0.i64(ptr align 4 %17, ptr align 4 %18, i64 %20, i1 false) br label %21 21: ; preds = %16, %3 %22 = load ptr, ptr %6, align 8, !tbaa !100 %23 = load i64, ptr %7, align 8, !tbaa !97 %24 = getelementptr inbounds i32, ptr %22, i64 %23 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret ptr %24 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !102 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E(ptr noundef %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !71 store ptr %1, ptr %5, align 8, !tbaa !71 store ptr %2, ptr %6, align 8, !tbaa !244 %7 = load ptr, ptr %4, align 8, !tbaa !71 %8 = load ptr, ptr %5, align 8, !tbaa !71 call void @_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvT_S7_(ptr noundef %7, ptr noundef %8) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !240 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !240 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !85 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !90 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %10, i32 0, i32 0 %12 = load ptr, ptr %11, align 8, !tbaa !85 %13 = ptrtoint ptr %9 to i64 %14 = ptrtoint ptr %12 to i64 %15 = sub i64 %13, %14 %16 = sdiv exact i64 %15, 32 invoke void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef %6, i64 noundef %16) to label %17 unwind label %19 17: ; preds = %1 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 ret void 19: ; preds = %1 %20 = landingpad { ptr, i32 } catch ptr null %21 = extractvalue { ptr, i32 } %20, 0 call void @__clang_call_terminate(ptr %21) #20 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvT_S7_(ptr noundef %0, ptr noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8, !tbaa !71 %6 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt12_Destroy_auxILb0EE9__destroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvT_S9_(ptr noundef %5, ptr noundef %6) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Destroy_auxILb0EE9__destroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvT_S9_(ptr noundef %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 br label %5 5: ; preds = %11, %2 %6 = load ptr, ptr %3, align 8, !tbaa !71 %7 = load ptr, ptr %4, align 8, !tbaa !71 %8 = icmp ne ptr %6, %7 br i1 %8, label %9, label %14 9: ; preds = %5 %10 = load ptr, ptr %3, align 8, !tbaa !71 call void @_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_(ptr noundef %10) br label %11 11: ; preds = %9 %12 = load ptr, ptr %3, align 8, !tbaa !71 %13 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %12, i32 1 store ptr %13, ptr %3, align 8, !tbaa !71 br label %5, !llvm.loop !341 14: ; preds = %5 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8, !tbaa !71 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !240 store ptr %1, ptr %5, align 8, !tbaa !71 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 %8 = load ptr, ptr %5, align 8, !tbaa !71 %9 = icmp ne ptr %8, null br i1 %9, label %10, label %14 10: ; preds = %3 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %7, i32 0, i32 0 %12 = load ptr, ptr %5, align 8, !tbaa !71 %13 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE10deallocateERS6_PS5_m(ptr noundef nonnull align 1 dereferenceable(1) %11, ptr noundef %12, i64 noundef %13) br label %14 14: ; preds = %10, %3 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !248 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE10deallocateERS6_PS5_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !244 store ptr %1, ptr %5, align 8, !tbaa !71 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8, !tbaa !244 %8 = load ptr, ptr %5, align 8, !tbaa !71 %9 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE10deallocateEPS5_m(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, i64 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE10deallocateEPS5_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !248 store ptr %1, ptr %5, align 8, !tbaa !71 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %5, align 8, !tbaa !71 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = mul i64 %8, 32 call void @_ZdlPvm(ptr noundef %7, i64 noundef %9) #21 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES6_EvT_S8_RSaIT0_E(ptr noundef %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !113 store ptr %1, ptr %5, align 8, !tbaa !113 store ptr %2, ptr %6, align 8, !tbaa !264 %7 = load ptr, ptr %4, align 8, !tbaa !113 %8 = load ptr, ptr %5, align 8, !tbaa !113 call void @_ZSt8_DestroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEvT_S8_(ptr noundef %7, ptr noundef %8) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !260 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !260 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !83 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !117 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %10, i32 0, i32 0 %12 = load ptr, ptr %11, align 8, !tbaa !83 %13 = ptrtoint ptr %9 to i64 %14 = ptrtoint ptr %12 to i64 %15 = sub i64 %13, %14 %16 = sdiv exact i64 %15, 32 invoke void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE13_M_deallocateEPS6_m(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef %6, i64 noundef %16) to label %17 unwind label %19 17: ; preds = %1 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 call void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 ret void 19: ; preds = %1 %20 = landingpad { ptr, i32 } catch ptr null %21 = extractvalue { ptr, i32 } %20, 0 call void @__clang_call_terminate(ptr %21) #20 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEvT_S8_(ptr noundef %0, ptr noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !113 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %3, align 8, !tbaa !113 %6 = load ptr, ptr %4, align 8, !tbaa !113 call void @_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEvT_SA_(ptr noundef %5, ptr noundef %6) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEvT_SA_(ptr noundef %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !113 store ptr %1, ptr %4, align 8, !tbaa !113 br label %5 5: ; preds = %11, %2 %6 = load ptr, ptr %3, align 8, !tbaa !113 %7 = load ptr, ptr %4, align 8, !tbaa !113 %8 = icmp ne ptr %6, %7 br i1 %8, label %9, label %14 9: ; preds = %5 %10 = load ptr, ptr %3, align 8, !tbaa !113 call void @_ZSt8_DestroyISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEvPT_(ptr noundef %10) br label %11 11: ; preds = %9 %12 = load ptr, ptr %3, align 8, !tbaa !113 %13 = getelementptr inbounds nuw %"struct.std::pair", ptr %12, i32 1 store ptr %13, ptr %3, align 8, !tbaa !113 br label %5, !llvm.loop !342 14: ; preds = %5 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt8_DestroyISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEvPT_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !113 %3 = load ptr, ptr %2, align 8, !tbaa !113 call void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE13_M_deallocateEPS6_m(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !260 store ptr %1, ptr %5, align 8, !tbaa !113 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 %8 = load ptr, ptr %5, align 8, !tbaa !113 %9 = icmp ne ptr %8, null br i1 %9, label %10, label %14 10: ; preds = %3 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %7, i32 0, i32 0 %12 = load ptr, ptr %5, align 8, !tbaa !113 %13 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE10deallocateERS7_PS6_m(ptr noundef nonnull align 1 dereferenceable(1) %11, ptr noundef %12, i64 noundef %13) br label %14 14: ; preds = %10, %3 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !268 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE10deallocateERS7_PS6_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !264 store ptr %1, ptr %5, align 8, !tbaa !113 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8, !tbaa !264 %8 = load ptr, ptr %5, align 8, !tbaa !113 %9 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE10deallocateEPS6_m(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, i64 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE10deallocateEPS6_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !268 store ptr %1, ptr %5, align 8, !tbaa !113 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %5, align 8, !tbaa !113 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = mul i64 %8, 32 call void @_ZdlPvm(ptr noundef %7, i64 noundef %9) #21 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E(ptr noundef %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !280 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = load ptr, ptr %5, align 8, !tbaa !68 call void @_ZSt8_DestroyIPSt6vectorIiSaIiEEEvT_S4_(ptr noundef %7, ptr noundef %8) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !276 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !276 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !79 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !128 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %10, i32 0, i32 0 %12 = load ptr, ptr %11, align 8, !tbaa !79 %13 = ptrtoint ptr %9 to i64 %14 = ptrtoint ptr %12 to i64 %15 = sub i64 %13, %14 %16 = sdiv exact i64 %15, 24 invoke void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef %6, i64 noundef %16) to label %17 unwind label %19 17: ; preds = %1 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 ret void 19: ; preds = %1 %20 = landingpad { ptr, i32 } catch ptr null %21 = extractvalue { ptr, i32 } %20, 0 call void @__clang_call_terminate(ptr %21) #20 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIPSt6vectorIiSaIiEEEvT_S4_(ptr noundef %0, ptr noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8, !tbaa !68 %6 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt12_Destroy_auxILb0EE9__destroyIPSt6vectorIiSaIiEEEEvT_S6_(ptr noundef %5, ptr noundef %6) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Destroy_auxILb0EE9__destroyIPSt6vectorIiSaIiEEEEvT_S6_(ptr noundef %0, ptr noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 br label %5 5: ; preds = %11, %2 %6 = load ptr, ptr %3, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = icmp ne ptr %6, %7 br i1 %8, label %9, label %14 9: ; preds = %5 %10 = load ptr, ptr %3, align 8, !tbaa !68 call void @_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_(ptr noundef %10) br label %11 11: ; preds = %9 %12 = load ptr, ptr %3, align 8, !tbaa !68 %13 = getelementptr inbounds nuw %"class.std::vector.14", ptr %12, i32 1 store ptr %13, ptr %3, align 8, !tbaa !68 br label %5, !llvm.loop !343 14: ; preds = %5 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !276 store ptr %1, ptr %5, align 8, !tbaa !68 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = icmp ne ptr %8, null br i1 %9, label %10, label %14 10: ; preds = %3 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %7, i32 0, i32 0 %12 = load ptr, ptr %5, align 8, !tbaa !68 %13 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE10deallocateERS3_PS2_m(ptr noundef nonnull align 1 dereferenceable(1) %11, ptr noundef %12, i64 noundef %13) br label %14 14: ; preds = %10, %3 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !282 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE10deallocateERS3_PS2_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !280 store ptr %1, ptr %5, align 8, !tbaa !68 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8, !tbaa !280 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE10deallocateEPS2_m(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, i64 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE10deallocateEPS2_m(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !282 store ptr %1, ptr %5, align 8, !tbaa !68 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %5, align 8, !tbaa !68 %8 = load i64, ptr %6, align 8, !tbaa !97 %9 = mul i64 %8, 24 call void @_ZdlPvm(ptr noundef %7, i64 noundef %9) #21 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEERS5_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 store ptr %0, ptr %3, align 8, !tbaa !62 store ptr %1, ptr %4, align 8, !tbaa !71 %6 = load ptr, ptr %3, align 8 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !86 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %10, i32 0, i32 2 %12 = load ptr, ptr %11, align 8, !tbaa !90 %13 = icmp ne ptr %9, %12 br i1 %13, label %14, label %24 14: ; preds = %2 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %16, i32 0, i32 1 %18 = load ptr, ptr %17, align 8, !tbaa !86 %19 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef %18, ptr noundef nonnull align 8 dereferenceable(32) %19) #18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %6, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !86 %23 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %22, i32 1 store ptr %23, ptr %21, align 8, !tbaa !86 br label %30 24: ; preds = %2 %25 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %5, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = load ptr, ptr %4, align 8, !tbaa !71 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %5, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr %29, ptr noundef nonnull align 8 dereferenceable(32) %27) br label %30 30: ; preds = %24, %14 %31 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 ret ptr %31 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !244 store ptr %1, ptr %5, align 8, !tbaa !71 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %4, align 8, !tbaa !244 %8 = load ptr, ptr %5, align 8, !tbaa !71 %9 = load ptr, ptr %6, align 8, !tbaa !71 call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS5_JS5_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(32) %9) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %4, i32 0, i32 0 store ptr %1, ptr %14, align 8 store ptr %0, ptr %5, align 8, !tbaa !62 store ptr %2, ptr %6, align 8, !tbaa !71 %15 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %16 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef 1, ptr noundef @.str.51) store i64 %16, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %15, i32 0, i32 0 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %17, i32 0, i32 0 %19 = load ptr, ptr %18, align 8, !tbaa !85 store ptr %19, ptr %8, align 8, !tbaa !71 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %15, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !86 store ptr %22, ptr %9, align 8, !tbaa !71 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %23 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %11, i32 0, i32 0 store ptr %23, ptr %24, align 8 %25 = call noundef i64 @_ZN9__gnu_cxxmiIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSE_SH_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %25, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %26 = load i64, ptr %7, align 8, !tbaa !97 %27 = call noundef ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %26) store ptr %27, ptr %12, align 8, !tbaa !71 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %28 = load ptr, ptr %12, align 8, !tbaa !71 store ptr %28, ptr %13, align 8, !tbaa !71 %29 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %15, i32 0, i32 0 %30 = load ptr, ptr %12, align 8, !tbaa !71 %31 = load i64, ptr %10, align 8, !tbaa !97 %32 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %30, i64 %31 %33 = load ptr, ptr %6, align 8, !tbaa !71 call void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %29, ptr noundef %32, ptr noundef nonnull align 8 dereferenceable(32) %33) #18 store ptr null, ptr %13, align 8, !tbaa !71 %34 = load ptr, ptr %8, align 8, !tbaa !71 %35 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %36 = load ptr, ptr %35, align 8, !tbaa !71 %37 = load ptr, ptr %12, align 8, !tbaa !71 %38 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %39 = call noundef ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_(ptr noundef %34, ptr noundef %36, ptr noundef %37, ptr noundef nonnull align 1 dereferenceable(1) %38) #18 store ptr %39, ptr %13, align 8, !tbaa !71 %40 = load ptr, ptr %13, align 8, !tbaa !71 %41 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %40, i32 1 store ptr %41, ptr %13, align 8, !tbaa !71 %42 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %43 = load ptr, ptr %42, align 8, !tbaa !71 %44 = load ptr, ptr %9, align 8, !tbaa !71 %45 = load ptr, ptr %13, align 8, !tbaa !71 %46 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %47 = call noundef ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_(ptr noundef %43, ptr noundef %44, ptr noundef %45, ptr noundef nonnull align 1 dereferenceable(1) %46) #18 store ptr %47, ptr %13, align 8, !tbaa !71 %48 = load ptr, ptr %8, align 8, !tbaa !71 %49 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %15, i32 0, i32 0 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %49, i32 0, i32 2 %51 = load ptr, ptr %50, align 8, !tbaa !90 %52 = load ptr, ptr %8, align 8, !tbaa !71 %53 = ptrtoint ptr %51 to i64 %54 = ptrtoint ptr %52 to i64 %55 = sub i64 %53, %54 %56 = sdiv exact i64 %55, 32 call void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef %48, i64 noundef %56) %57 = load ptr, ptr %12, align 8, !tbaa !71 %58 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %15, i32 0, i32 0 %59 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %58, i32 0, i32 0 store ptr %57, ptr %59, align 8, !tbaa !85 %60 = load ptr, ptr %13, align 8, !tbaa !71 %61 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %15, i32 0, i32 0 %62 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %61, i32 0, i32 1 store ptr %60, ptr %62, align 8, !tbaa !86 %63 = load ptr, ptr %12, align 8, !tbaa !71 %64 = load i64, ptr %7, align 8, !tbaa !97 %65 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %63, i64 %64 %66 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %15, i32 0, i32 0 %67 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %66, i32 0, i32 2 store ptr %65, ptr %67, align 8, !tbaa !90 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !62 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 1 call void @_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS7_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 store ptr %0, ptr %2, align 8, !tbaa !62 %5 = load ptr, ptr %2, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %6 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %4, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 1) #18 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %3, i32 0, i32 0 store ptr %8, ptr %9, align 8 %10 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS5_JS5_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !248 store ptr %1, ptr %5, align 8, !tbaa !71 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %5, align 8, !tbaa !71 %8 = load ptr, ptr %6, align 8, !tbaa !71 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define available_externally void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %5, i32 0, i32 0 %7 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %5) %8 = load ptr, ptr %4, align 8, !tbaa !71 %9 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv(ptr noundef nonnull align 8 dereferenceable(32) %8) invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef %7, ptr noundef nonnull align 1 dereferenceable(1) %9) to label %10 unwind label %38 10: ; preds = %2 %11 = load ptr, ptr %4, align 8, !tbaa !71 %12 = invoke noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv(ptr noundef nonnull align 8 dereferenceable(32) %11) to label %13 unwind label %38 13: ; preds = %10 br i1 %12, label %14, label %24 14: ; preds = %13 %15 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %5, i32 0, i32 2 %16 = getelementptr inbounds [16 x i8], ptr %15, i64 0, i64 0 %17 = load ptr, ptr %4, align 8, !tbaa !71 %18 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %17, i32 0, i32 2 %19 = getelementptr inbounds [16 x i8], ptr %18, i64 0, i64 0 %20 = load ptr, ptr %4, align 8, !tbaa !71 %21 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %20) #18 %22 = add i64 %21, 1 %23 = call noundef ptr @_ZNSt11char_traitsIcE4copyEPcPKcm(ptr noundef %16, ptr noundef %19, i64 noundef %22) br label %30 24: ; preds = %13 %25 = load ptr, ptr %4, align 8, !tbaa !71 %26 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %25) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef %26) %27 = load ptr, ptr %4, align 8, !tbaa !71 %28 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %27, i32 0, i32 2 %29 = load i64, ptr %28, align 8, !tbaa !304 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm(ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef %29) br label %30 30: ; preds = %24, %14 %31 = load ptr, ptr %4, align 8, !tbaa !71 %32 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %31) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef %32) %33 = load ptr, ptr %4, align 8, !tbaa !71 %34 = load ptr, ptr %4, align 8, !tbaa !71 %35 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %34) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef %35) %36 = load ptr, ptr %4, align 8, !tbaa !71 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %36, i64 noundef 0) to label %37 unwind label %38 37: ; preds = %30 ret void 38: ; preds = %30, %10, %2 %39 = landingpad { ptr, i32 } catch ptr null %40 = extractvalue { ptr, i32 } %39, 0 call void @__clang_call_terminate(ptr %40) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !62 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !75 %9 = load ptr, ptr %4, align 8 %10 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %11 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %12 = sub i64 %10, %11 %13 = load i64, ptr %5, align 8, !tbaa !97 %14 = icmp ult i64 %12, %13 br i1 %14, label %15, label %17 15: ; preds = %3 %16 = load ptr, ptr %6, align 8, !tbaa !75 call void @_ZSt20__throw_length_errorPKc(ptr noundef %16) #19 unreachable 17: ; preds = %3 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %18 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 store i64 %19, ptr %8, align 8, !tbaa !97 %20 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %5) %21 = load i64, ptr %20, align 8, !tbaa !97 %22 = add i64 %18, %21 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 store i64 %22, ptr %7, align 8, !tbaa !97 %23 = load i64, ptr %7, align 8, !tbaa !97 %24 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %25 = icmp ult i64 %23, %24 br i1 %25, label %30, label %26 26: ; preds = %17 %27 = load i64, ptr %7, align 8, !tbaa !97 %28 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %29 = icmp ugt i64 %27, %28 br i1 %29, label %30, label %32 30: ; preds = %26, %17 %31 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 br label %34 32: ; preds = %26 %33 = load i64, ptr %7, align 8, !tbaa !97 br label %34 34: ; preds = %32, %30 %35 = phi i64 [ %31, %30 ], [ %33, %32 ] call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret i64 %35 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZN9__gnu_cxxmiIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSE_SH_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !344 store ptr %1, ptr %4, align 8, !tbaa !344 %5 = load ptr, ptr %3, align 8, !tbaa !344 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !71 %8 = load ptr, ptr %4, align 8, !tbaa !344 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !71 %11 = ptrtoint ptr %7 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 %14 = sdiv exact i64 %13, 32 ret i64 %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !62 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 0 call void @_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS7_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !240 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = icmp ne i64 %6, 0 br i1 %7, label %8, label %12 8: ; preds = %2 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %5, i32 0, i32 0 %10 = load i64, ptr %4, align 8, !tbaa !97 %11 = call noundef ptr @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m(ptr noundef nonnull align 1 dereferenceable(1) %9, i64 noundef %10) br label %13 12: ; preds = %2 br label %13 13: ; preds = %12, %8 %14 = phi ptr [ %11, %8 ], [ null, %12 ] ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #1 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !71 store ptr %1, ptr %6, align 8, !tbaa !71 store ptr %2, ptr %7, align 8, !tbaa !71 store ptr %3, ptr %8, align 8, !tbaa !244 %9 = load ptr, ptr %5, align 8, !tbaa !71 %10 = load ptr, ptr %6, align 8, !tbaa !71 %11 = load ptr, ptr %7, align 8, !tbaa !71 %12 = load ptr, ptr %8, align 8, !tbaa !244 %13 = call noundef ptr @_ZSt12__relocate_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_(ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef nonnull align 1 dereferenceable(1) %12) #18 ret ptr %13 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !344 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !62 %3 = load ptr, ptr %2, align 8 %4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 %5 = call noundef i64 @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_max_sizeERKS6_(ptr noundef nonnull align 1 dereferenceable(1) %4) #18 ret i64 %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_max_sizeERKS6_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca i64, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %2, align 8, !tbaa !244 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 store i64 288230376151711743, ptr %3, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %5 = load ptr, ptr %2, align 8, !tbaa !244 %6 = call noundef i64 @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8max_sizeERKS6_(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 store i64 %6, ptr %4, align 8, !tbaa !97 %7 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) %8 = load i64, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret i64 %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !240 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8max_sizeERKS6_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !244 %3 = load ptr, ptr %2, align 8, !tbaa !244 %4 = call noundef i64 @_ZNKSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !248 %3 = load ptr, ptr %2, align 8 %4 = call noundef i64 @_ZNKSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !248 ret i64 288230376151711743 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS7_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !344 store ptr %1, ptr %4, align 8, !tbaa !346 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !346 %8 = load ptr, ptr %7, align 8, !tbaa !71 store ptr %8, ptr %6, align 8, !tbaa !348 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !244 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8, !tbaa !244 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef ptr @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %5, i64 noundef %6, ptr noundef null) ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !248 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !114 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #18 %10 = icmp ugt i64 %8, %9 %11 = zext i1 %10 to i64 %12 = call i64 @llvm.expect.i64(i64 %11, i64 0) %13 = icmp ne i64 %12, 0 br i1 %13, label %14, label %19 14: ; preds = %3 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 576460752303423487 br i1 %16, label %17, label %18 17: ; preds = %14 call void @_ZSt28__throw_bad_array_new_lengthv() #19 unreachable 18: ; preds = %14 call void @_ZSt17__throw_bad_allocv() #19 unreachable 19: ; preds = %3 %20 = load i64, ptr %5, align 8, !tbaa !97 %21 = mul i64 %20, 32 %22 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %21) #23 ret ptr %22 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__relocate_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #4 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !71 store ptr %1, ptr %6, align 8, !tbaa !71 store ptr %2, ptr %7, align 8, !tbaa !71 store ptr %3, ptr %8, align 8, !tbaa !244 %9 = load ptr, ptr %5, align 8, !tbaa !71 %10 = call noundef ptr @_ZSt12__niter_baseIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_S7_(ptr noundef %9) #18 %11 = load ptr, ptr %6, align 8, !tbaa !71 %12 = call noundef ptr @_ZSt12__niter_baseIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_S7_(ptr noundef %11) #18 %13 = load ptr, ptr %7, align 8, !tbaa !71 %14 = call noundef ptr @_ZSt12__niter_baseIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_S7_(ptr noundef %13) #18 %15 = load ptr, ptr %8, align 8, !tbaa !244 %16 = call noundef ptr @_ZSt14__relocate_a_1IPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_(ptr noundef %10, ptr noundef %12, ptr noundef %14, ptr noundef nonnull align 1 dereferenceable(1) %15) #18 ret ptr %16 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt14__relocate_a_1IPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #4 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !71 store ptr %1, ptr %6, align 8, !tbaa !71 store ptr %2, ptr %7, align 8, !tbaa !71 store ptr %3, ptr %8, align 8, !tbaa !244 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %10 = load ptr, ptr %7, align 8, !tbaa !71 store ptr %10, ptr %9, align 8, !tbaa !71 br label %11 11: ; preds = %19, %4 %12 = load ptr, ptr %5, align 8, !tbaa !71 %13 = load ptr, ptr %6, align 8, !tbaa !71 %14 = icmp ne ptr %12, %13 br i1 %14, label %15, label %24 15: ; preds = %11 %16 = load ptr, ptr %9, align 8, !tbaa !71 %17 = load ptr, ptr %5, align 8, !tbaa !71 %18 = load ptr, ptr %8, align 8, !tbaa !244 call void @_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_(ptr noundef %16, ptr noundef %17, ptr noundef nonnull align 1 dereferenceable(1) %18) #18 br label %19 19: ; preds = %15 %20 = load ptr, ptr %5, align 8, !tbaa !71 %21 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %20, i32 1 store ptr %21, ptr %5, align 8, !tbaa !71 %22 = load ptr, ptr %9, align 8, !tbaa !71 %23 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %22, i32 1 store ptr %23, ptr %9, align 8, !tbaa !71 br label %11, !llvm.loop !350 24: ; preds = %11 %25 = load ptr, ptr %9, align 8, !tbaa !71 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %25 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_baseIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_S7_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8, !tbaa !71 ret ptr %3 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_(ptr noalias noundef %0, ptr noalias noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #4 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !71 store ptr %1, ptr %5, align 8, !tbaa !71 store ptr %2, ptr %6, align 8, !tbaa !244 %7 = load ptr, ptr %6, align 8, !tbaa !244 %8 = load ptr, ptr %4, align 8, !tbaa !71 %9 = load ptr, ptr %5, align 8, !tbaa !71 call void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(32) %9) #18 %10 = load ptr, ptr %6, align 8, !tbaa !244 %11 = load ptr, ptr %5, align 8, !tbaa !71 call void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7destroyIS5_EEvRS6_PT_(ptr noundef nonnull align 1 dereferenceable(1) %10, ptr noundef %11) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7destroyIS5_EEvRS6_PT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !244 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8, !tbaa !244 %6 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE7destroyIS5_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE7destroyIS5_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !248 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !344 store i64 %1, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !348 %10 = load i64, ptr %5, align 8, !tbaa !97 %11 = sub i64 0, %10 %12 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %9, i64 %11 store ptr %12, ptr %6, align 8, !tbaa !71 call void @_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS7_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %3, i32 0, i32 0 %14 = load ptr, ptr %13, align 8 ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !344 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !348 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #1 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !205 store ptr %1, ptr %4, align 8, !tbaa !205 %5 = load ptr, ptr %3, align 8, !tbaa !205 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %6, align 8, !tbaa !207 %8 = load ptr, ptr %4, align 8, !tbaa !205 %9 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !207 %11 = icmp eq ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %7 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 store ptr %0, ptr %4, align 8, !tbaa !223 store ptr %1, ptr %5, align 8, !tbaa !71 %8 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %9 = call noundef ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %10 = call noundef ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %11 = load ptr, ptr %5, align 8, !tbaa !71 %12 = call ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef %9, ptr noundef %10, ptr noundef nonnull align 8 dereferenceable(32) %11) %13 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %6, i32 0, i32 0 store ptr %12, ptr %13, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %14 = call ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %15 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %7, i32 0, i32 0 store ptr %14, ptr %15, align 8 %16 = call noundef zeroext i1 @_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #18 br i1 %16, label %24, label %17 17: ; preds = %2 %18 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %8, i32 0, i32 0 %19 = load ptr, ptr %5, align 8, !tbaa !71 %20 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %6, i32 0, i32 0 %21 = load ptr, ptr %20, align 8, !tbaa !207 %22 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %21) %23 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %18, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %22) br i1 %23, label %24, label %27 24: ; preds = %17, %2 %25 = call ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %26 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %3, i32 0, i32 0 store ptr %25, ptr %26, align 8 br label %28 27: ; preds = %17 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !91 br label %28 28: ; preds = %27, %24 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %29 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %3, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 ret ptr %30 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !223 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPKSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %7) #18 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(32) %3) #0 comdat align 2 { %5 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !223 store ptr %1, ptr %7, align 8, !tbaa !291 store ptr %2, ptr %8, align 8, !tbaa !92 store ptr %3, ptr %9, align 8, !tbaa !71 %10 = load ptr, ptr %6, align 8 br label %11 11: ; preds = %27, %4 %12 = load ptr, ptr %7, align 8, !tbaa !291 %13 = icmp ne ptr %12, null br i1 %13, label %14, label %28 14: ; preds = %11 %15 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %10, i32 0, i32 0 %16 = load ptr, ptr %7, align 8, !tbaa !291 %17 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %16) %18 = load ptr, ptr %9, align 8, !tbaa !71 %19 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %18) br i1 %19, label %24, label %20 20: ; preds = %14 %21 = load ptr, ptr %7, align 8, !tbaa !291 store ptr %21, ptr %8, align 8, !tbaa !92 %22 = load ptr, ptr %7, align 8, !tbaa !291 %23 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base(ptr noundef %22) #18 store ptr %23, ptr %7, align 8, !tbaa !291 br label %27 24: ; preds = %14 %25 = load ptr, ptr %7, align 8, !tbaa !291 %26 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base(ptr noundef %25) #18 store ptr %26, ptr %7, align 8, !tbaa !291 br label %27 27: ; preds = %24, %20 br label %11, !llvm.loop !351 28: ; preds = %11 %29 = load ptr, ptr %8, align 8, !tbaa !92 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPKSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %29) #18 %30 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %5, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 ret ptr %31 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 1 %8 = load ptr, ptr %7, align 8, !tbaa !236 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !352 store ptr %1, ptr %5, align 8, !tbaa !71 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %5, align 8, !tbaa !71 %8 = load ptr, ptr %6, align 8, !tbaa !71 %9 = call noundef zeroext i1 @_ZStltIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) #18 ret i1 %9 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %3) ret ptr %4 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %0) #0 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"struct.std::_Select1st", align 1 store ptr %0, ptr %2, align 8, !tbaa !291 call void @llvm.lifetime.start.p0(i64 1, ptr %3) #18 %4 = load ptr, ptr %2, align 8, !tbaa !291 %5 = call noundef ptr @_ZNKSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %4) %6 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt10_Select1stISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEclERKS8_(ptr noundef nonnull align 1 dereferenceable(1) %3, ptr noundef nonnull align 8 dereferenceable(36) %5) call void @llvm.lifetime.end.p0(i64 1, ptr %3) #18 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 2 %5 = load ptr, ptr %4, align 8, !tbaa !288 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 3 %5 = load ptr, ptr %4, align 8, !tbaa !287 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPKSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !205 store ptr %1, ptr %4, align 8, !tbaa !92 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !92 store ptr %7, ptr %6, align 8, !tbaa !207 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt10_Select1stISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEclERKS8_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 8 dereferenceable(36) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !354 store ptr %1, ptr %4, align 8, !tbaa !193 %5 = load ptr, ptr %4, align 8, !tbaa !193 %6 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %5, i32 0, i32 0 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !291 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node.48", ptr %3, i32 0, i32 1 %5 = call noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE6_M_ptrEv(ptr noundef nonnull align 8 dereferenceable(40) %4) #18 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE6_M_ptrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !294 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE7_M_addrEv(ptr noundef nonnull align 8 dereferenceable(40) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE7_M_addrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !294 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.__gnu_cxx::__aligned_membuf.49", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZStltIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #4 comdat personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8, !tbaa !71 %6 = load ptr, ptr %4, align 8, !tbaa !71 %7 = invoke noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) to label %8 unwind label %10 8: ; preds = %2 %9 = icmp slt i32 %7, 0 ret i1 %9 10: ; preds = %2 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 call void @__clang_call_terminate(ptr %12) #20 unreachable } ; Function Attrs: mustprogress uwtable define available_externally noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca i64, align 8 %7 = alloca i64, align 8 %8 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %9 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %10 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %9) #18 store i64 %10, ptr %5, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %11 = load ptr, ptr %4, align 8, !tbaa !71 %12 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #18 store i64 %12, ptr %6, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %13 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) %14 = load i64, ptr %13, align 8, !tbaa !97 store i64 %14, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 4, ptr %8) #18 %15 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %9) %16 = load ptr, ptr %4, align 8, !tbaa !71 %17 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #18 %18 = load i64, ptr %7, align 8, !tbaa !97 %19 = call noundef i32 @_ZNSt11char_traitsIcE7compareEPKcS2_m(ptr noundef %15, ptr noundef %17, i64 noundef %18) store i32 %19, ptr %8, align 4, !tbaa !72 %20 = load i32, ptr %8, align 4, !tbaa !72 %21 = icmp ne i32 %20, 0 br i1 %21, label %26, label %22 22: ; preds = %2 %23 = load i64, ptr %5, align 8, !tbaa !97 %24 = load i64, ptr %6, align 8, !tbaa !97 %25 = call noundef i32 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm(i64 noundef %23, i64 noundef %24) #18 store i32 %25, ptr %8, align 4, !tbaa !72 br label %26 26: ; preds = %22, %2 %27 = load i32, ptr %8, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret i32 %27 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i32 @_ZNSt11char_traitsIcE7compareEPKcS2_m(ptr noundef %0, ptr noundef %1, i64 noundef %2) #1 comdat align 2 { %4 = alloca i32, align 4 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 store ptr %0, ptr %5, align 8, !tbaa !75 store ptr %1, ptr %6, align 8, !tbaa !75 store i64 %2, ptr %7, align 8, !tbaa !97 %8 = load i64, ptr %7, align 8, !tbaa !97 %9 = icmp eq i64 %8, 0 br i1 %9, label %10, label %11 10: ; preds = %3 store i32 0, ptr %4, align 4 br label %16 11: ; preds = %3 %12 = load ptr, ptr %5, align 8, !tbaa !75 %13 = load ptr, ptr %6, align 8, !tbaa !75 %14 = load i64, ptr %7, align 8, !tbaa !97 %15 = call i32 @memcmp(ptr noundef %12, ptr noundef %13, i64 noundef %14) #18 store i32 %15, ptr %4, align 4 br label %16 16: ; preds = %11, %10 %17 = load i32, ptr %4, align 4 ret i32 %17 } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %3) ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef i32 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm(i64 noundef %0, i64 noundef %1) #1 align 2 { %3 = alloca i32, align 4 %4 = alloca i64, align 8 %5 = alloca i64, align 8 %6 = alloca i64, align 8 %7 = alloca i32, align 4 store i64 %0, ptr %4, align 8, !tbaa !97 store i64 %1, ptr %5, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %8 = load i64, ptr %4, align 8, !tbaa !97 %9 = load i64, ptr %5, align 8, !tbaa !97 %10 = sub i64 %8, %9 store i64 %10, ptr %6, align 8, !tbaa !97 %11 = load i64, ptr %6, align 8, !tbaa !97 %12 = icmp sgt i64 %11, 2147483647 br i1 %12, label %13, label %14 13: ; preds = %2 store i32 2147483647, ptr %3, align 4 store i32 1, ptr %7, align 4 br label %21 14: ; preds = %2 %15 = load i64, ptr %6, align 8, !tbaa !97 %16 = icmp slt i64 %15, -2147483648 br i1 %16, label %17, label %18 17: ; preds = %14 store i32 -2147483648, ptr %3, align 4 store i32 1, ptr %7, align 4 br label %21 18: ; preds = %14 %19 = load i64, ptr %6, align 8, !tbaa !97 %20 = trunc i64 %19 to i32 store i32 %20, ptr %3, align 4 store i32 1, ptr %7, align 4 br label %21 21: ; preds = %18, %17, %13 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %22 = load i32, ptr %3, align 4 ret i32 %22 } ; Function Attrs: nounwind declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #7 ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JRKS5_EEEvRS6_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !244 store ptr %1, ptr %5, align 8, !tbaa !71 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %4, align 8, !tbaa !244 %8 = load ptr, ptr %5, align 8, !tbaa !71 %9 = load ptr, ptr %6, align 8, !tbaa !71 call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS5_JRKS5_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(32) %9) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.58", align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %4, i32 0, i32 0 store ptr %1, ptr %16, align 8 store ptr %0, ptr %5, align 8, !tbaa !62 store ptr %2, ptr %6, align 8, !tbaa !71 %17 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %18 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 1, ptr noundef @.str.51) store i64 %18, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %17, i32 0, i32 0 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %19, i32 0, i32 0 %21 = load ptr, ptr %20, align 8, !tbaa !85 store ptr %21, ptr %8, align 8, !tbaa !71 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %22 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %17, i32 0, i32 0 %23 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %22, i32 0, i32 1 %24 = load ptr, ptr %23, align 8, !tbaa !86 store ptr %24, ptr %9, align 8, !tbaa !71 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %25 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.58", ptr %11, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = call noundef i64 @_ZN9__gnu_cxxmiIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSE_SH_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %27, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %28 = load i64, ptr %7, align 8, !tbaa !97 %29 = call noundef ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %28) store ptr %29, ptr %12, align 8, !tbaa !71 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %30 = load ptr, ptr %12, align 8, !tbaa !71 store ptr %30, ptr %13, align 8, !tbaa !71 %31 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %17, i32 0, i32 0 %32 = load ptr, ptr %12, align 8, !tbaa !71 %33 = load i64, ptr %10, align 8, !tbaa !97 %34 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %32, i64 %33 %35 = load ptr, ptr %6, align 8, !tbaa !71 invoke void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE9constructIS5_JRKS5_EEEvRS6_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %31, ptr noundef %34, ptr noundef nonnull align 8 dereferenceable(32) %35) to label %36 unwind label %51 36: ; preds = %3 store ptr null, ptr %13, align 8, !tbaa !71 %37 = load ptr, ptr %8, align 8, !tbaa !71 %38 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %39 = load ptr, ptr %38, align 8, !tbaa !71 %40 = load ptr, ptr %12, align 8, !tbaa !71 %41 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %42 = call noundef ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_(ptr noundef %37, ptr noundef %39, ptr noundef %40, ptr noundef nonnull align 1 dereferenceable(1) %41) #18 store ptr %42, ptr %13, align 8, !tbaa !71 %43 = load ptr, ptr %13, align 8, !tbaa !71 %44 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %43, i32 1 store ptr %44, ptr %13, align 8, !tbaa !71 %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %46 = load ptr, ptr %45, align 8, !tbaa !71 %47 = load ptr, ptr %9, align 8, !tbaa !71 %48 = load ptr, ptr %13, align 8, !tbaa !71 %49 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %50 = call noundef ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_(ptr noundef %46, ptr noundef %47, ptr noundef %48, ptr noundef nonnull align 1 dereferenceable(1) %49) #18 store ptr %50, ptr %13, align 8, !tbaa !71 br label %79 51: ; preds = %3 %52 = landingpad { ptr, i32 } catch ptr null %53 = extractvalue { ptr, i32 } %52, 0 store ptr %53, ptr %14, align 8 %54 = extractvalue { ptr, i32 } %52, 1 store i32 %54, ptr %15, align 4 br label %55 55: ; preds = %51 %56 = load ptr, ptr %14, align 8 %57 = call ptr @__cxa_begin_catch(ptr %56) #18 %58 = load ptr, ptr %13, align 8, !tbaa !71 %59 = icmp ne ptr %58, null br i1 %59, label %65, label %60 60: ; preds = %55 %61 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %17, i32 0, i32 0 %62 = load ptr, ptr %12, align 8, !tbaa !71 %63 = load i64, ptr %10, align 8, !tbaa !97 %64 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %62, i64 %63 call void @_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7destroyIS5_EEvRS6_PT_(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr noundef %64) #18 br label %74 65: ; preds = %55 %66 = load ptr, ptr %12, align 8, !tbaa !71 %67 = load ptr, ptr %13, align 8, !tbaa !71 %68 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 invoke void @_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E(ptr noundef %66, ptr noundef %67, ptr noundef nonnull align 1 dereferenceable(1) %68) to label %69 unwind label %70 69: ; preds = %65 br label %74 70: ; preds = %77, %74, %65 %71 = landingpad { ptr, i32 } cleanup %72 = extractvalue { ptr, i32 } %71, 0 store ptr %72, ptr %14, align 8 %73 = extractvalue { ptr, i32 } %71, 1 store i32 %73, ptr %15, align 4 invoke void @__cxa_end_catch() to label %78 unwind label %105 74: ; preds = %69, %60 %75 = load ptr, ptr %12, align 8, !tbaa !71 %76 = load i64, ptr %7, align 8, !tbaa !97 invoke void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %75, i64 noundef %76) to label %77 unwind label %70 77: ; preds = %74 invoke void @__cxa_rethrow() #19 to label %108 unwind label %70 78: ; preds = %70 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %100 79: ; preds = %36 %80 = load ptr, ptr %8, align 8, !tbaa !71 %81 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %17, i32 0, i32 0 %82 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %81, i32 0, i32 2 %83 = load ptr, ptr %82, align 8, !tbaa !90 %84 = load ptr, ptr %8, align 8, !tbaa !71 %85 = ptrtoint ptr %83 to i64 %86 = ptrtoint ptr %84 to i64 %87 = sub i64 %85, %86 %88 = sdiv exact i64 %87, 32 call void @_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %80, i64 noundef %88) %89 = load ptr, ptr %12, align 8, !tbaa !71 %90 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %17, i32 0, i32 0 %91 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %90, i32 0, i32 0 store ptr %89, ptr %91, align 8, !tbaa !85 %92 = load ptr, ptr %13, align 8, !tbaa !71 %93 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %17, i32 0, i32 0 %94 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %93, i32 0, i32 1 store ptr %92, ptr %94, align 8, !tbaa !86 %95 = load ptr, ptr %12, align 8, !tbaa !71 %96 = load i64, ptr %7, align 8, !tbaa !97 %97 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %95, i64 %96 %98 = getelementptr inbounds nuw %"struct.std::_Vector_base", ptr %17, i32 0, i32 0 %99 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %98, i32 0, i32 2 store ptr %97, ptr %99, align 8, !tbaa !90 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void 100: ; preds = %78 %101 = load ptr, ptr %14, align 8 %102 = load i32, ptr %15, align 4 %103 = insertvalue { ptr, i32 } poison, ptr %101, 0 %104 = insertvalue { ptr, i32 } %103, i32 %102, 1 resume { ptr, i32 } %104 105: ; preds = %70 %106 = landingpad { ptr, i32 } catch ptr null %107 = extractvalue { ptr, i32 } %106, 0 call void @__clang_call_terminate(ptr %107) #20 unreachable 108: ; preds = %77 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9constructIS5_JRKS5_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !248 store ptr %1, ptr %5, align 8, !tbaa !71 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %5, align 8, !tbaa !71 %8 = load ptr, ptr %6, align 8, !tbaa !71 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) ret void } declare void @__cxa_rethrow() declare void @__cxa_end_catch() ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE11lower_boundERS9_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca %"struct.std::_Rb_tree_iterator", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !60 store ptr %1, ptr %5, align 8, !tbaa !71 %6 = load ptr, ptr %4, align 8 %7 = getelementptr inbounds nuw %"class.std::map", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %5, align 8, !tbaa !71 %9 = call ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11lower_boundERS7_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 store ptr %9, ptr %10, align 8 %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 ret ptr %12 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #1 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !356 store ptr %1, ptr %4, align 8, !tbaa !356 %5 = load ptr, ptr %3, align 8, !tbaa !356 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %6, align 8, !tbaa !358 %8 = load ptr, ptr %4, align 8, !tbaa !356 %9 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !358 %11 = icmp eq ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !60 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::map", ptr %4, i32 0, i32 0 %6 = call ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %2, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !60 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map", ptr %3, i32 0, i32 0 call void @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %4) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !356 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !358 %6 = call noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %5) ret ptr %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %6 = alloca %"struct.std::_Rb_tree_iterator", align 8 %7 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", align 8 %13 = alloca %"struct.std::pair.60", align 8 %14 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %15 = alloca ptr, align 8 %16 = alloca i32, align 4 %17 = alloca %"struct.std::pair.60", align 8 %18 = alloca i32, align 4 %19 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %7, i32 0, i32 0 store ptr %1, ptr %19, align 8 store ptr %0, ptr %8, align 8, !tbaa !223 store ptr %2, ptr %9, align 8, !tbaa !360 store ptr %3, ptr %10, align 8, !tbaa !362 store ptr %4, ptr %11, align 8, !tbaa !364 %20 = load ptr, ptr %8, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr %12) #18 %21 = load ptr, ptr %9, align 8, !tbaa !360 %22 = load ptr, ptr %10, align 8, !tbaa !362 %23 = load ptr, ptr %11, align 8, !tbaa !364 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef nonnull align 1 dereferenceable(1) %21, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 1 dereferenceable(1) %23) call void @llvm.lifetime.start.p0(i64 16, ptr %13) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !91 %24 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node6_M_keyEv(ptr noundef nonnull align 8 dereferenceable(16) %12) to label %25 unwind label %45 25: ; preds = %5 %26 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %14, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = invoke { ptr, ptr } @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_(ptr noundef nonnull align 8 dereferenceable(48) %20, ptr %27, ptr noundef nonnull align 8 dereferenceable(32) %24) to label %29 unwind label %45 29: ; preds = %25 %30 = getelementptr inbounds nuw { ptr, ptr }, ptr %13, i32 0, i32 0 %31 = extractvalue { ptr, ptr } %28, 0 store ptr %31, ptr %30, align 8 %32 = getelementptr inbounds nuw { ptr, ptr }, ptr %13, i32 0, i32 1 %33 = extractvalue { ptr, ptr } %28, 1 store ptr %33, ptr %32, align 8 %34 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %13, i32 0, i32 1 %35 = load ptr, ptr %34, align 8, !tbaa !366 %36 = icmp ne ptr %35, null br i1 %36, label %37, label %49 37: ; preds = %29 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %13, i64 16, i1 false) %38 = getelementptr inbounds nuw { ptr, ptr }, ptr %17, i32 0, i32 0 %39 = load ptr, ptr %38, align 8 %40 = getelementptr inbounds nuw { ptr, ptr }, ptr %17, i32 0, i32 1 %41 = load ptr, ptr %40, align 8 %42 = invoke ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node9_M_insertES6_IPSt18_Rb_tree_node_baseSH_E(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr %39, ptr %41) to label %43 unwind label %45 43: ; preds = %37 %44 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %6, i32 0, i32 0 store ptr %42, ptr %44, align 8 store i32 1, ptr %18, align 4 br label %52 45: ; preds = %37, %25, %5 %46 = landingpad { ptr, i32 } cleanup %47 = extractvalue { ptr, i32 } %46, 0 store ptr %47, ptr %15, align 8 %48 = extractvalue { ptr, i32 } %46, 1 store i32 %48, ptr %16, align 4 call void @llvm.lifetime.end.p0(i64 16, ptr %13) #18 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %12) #18 br label %55 49: ; preds = %29 %50 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %13, i32 0, i32 0 %51 = load ptr, ptr %50, align 8, !tbaa !368 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef %51) #18 store i32 1, ptr %18, align 4 br label %52 52: ; preds = %49, %43 call void @llvm.lifetime.end.p0(i64 16, ptr %13) #18 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %12) #18 %53 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %6, i32 0, i32 0 %54 = load ptr, ptr %53, align 8 ret ptr %54 55: ; preds = %45 %56 = load ptr, ptr %15, align 8 %57 = load i32, ptr %16, align 4 %58 = insertvalue { ptr, i32 } poison, ptr %56, 0 %59 = insertvalue { ptr, i32 } %58, i32 %57, 1 resume { ptr, i32 } %59 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2ERKSt17_Rb_tree_iteratorIS8_E(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !205 store ptr %1, ptr %4, align 8, !tbaa !356 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !356 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !358 store ptr %9, ptr %6, align 8, !tbaa !207 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS7_EEEbE4typeELb1EEES7_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !362 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !71 invoke void @_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ES7_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) to label %7 unwind label %8 7: ; preds = %2 ret void 8: ; preds = %2 %9 = landingpad { ptr, i32 } catch ptr null %10 = extractvalue { ptr, i32 } %9, 0 call void @__clang_call_terminate(ptr %10) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11lower_boundERS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca %"struct.std::_Rb_tree_iterator", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !223 store ptr %1, ptr %5, align 8, !tbaa !71 %6 = load ptr, ptr %4, align 8 %7 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 %8 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 %9 = load ptr, ptr %5, align 8, !tbaa !71 %10 = call ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(32) %9) %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 store ptr %10, ptr %11, align 8 %12 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 ret ptr %13 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(32) %3) #0 comdat align 2 { %5 = alloca %"struct.std::_Rb_tree_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !223 store ptr %1, ptr %7, align 8, !tbaa !291 store ptr %2, ptr %8, align 8, !tbaa !92 store ptr %3, ptr %9, align 8, !tbaa !71 %10 = load ptr, ptr %6, align 8 br label %11 11: ; preds = %27, %4 %12 = load ptr, ptr %7, align 8, !tbaa !291 %13 = icmp ne ptr %12, null br i1 %13, label %14, label %28 14: ; preds = %11 %15 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %10, i32 0, i32 0 %16 = load ptr, ptr %7, align 8, !tbaa !291 %17 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %16) %18 = load ptr, ptr %9, align 8, !tbaa !71 %19 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %18) br i1 %19, label %24, label %20 20: ; preds = %14 %21 = load ptr, ptr %7, align 8, !tbaa !291 store ptr %21, ptr %8, align 8, !tbaa !92 %22 = load ptr, ptr %7, align 8, !tbaa !291 %23 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %22) #18 store ptr %23, ptr %7, align 8, !tbaa !291 br label %27 24: ; preds = %14 %25 = load ptr, ptr %7, align 8, !tbaa !291 %26 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %25) #18 store ptr %26, ptr %7, align 8, !tbaa !291 br label %27 27: ; preds = %24, %20 br label %11, !llvm.loop !369 28: ; preds = %11 %29 = load ptr, ptr %8, align 8, !tbaa !92 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %29) #18 %30 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %5, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 ret ptr %31 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !356 store ptr %1, ptr %4, align 8, !tbaa !92 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !92 store ptr %7, ptr %6, align 8, !tbaa !358 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !223 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %7) #18 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) unnamed_addr #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !370 store ptr %1, ptr %7, align 8, !tbaa !223 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !362 store ptr %4, ptr %10, align 8, !tbaa !364 %11 = load ptr, ptr %6, align 8 %12 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %11, i32 0, i32 0 %13 = load ptr, ptr %7, align 8, !tbaa !223 store ptr %13, ptr %12, align 8, !tbaa !223 %14 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %11, i32 0, i32 1 %15 = load ptr, ptr %7, align 8, !tbaa !223 %16 = load ptr, ptr %8, align 8, !tbaa !360 %17 = load ptr, ptr %9, align 8, !tbaa !362 %18 = load ptr, ptr %10, align 8, !tbaa !364 %19 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %15, ptr noundef nonnull align 1 dereferenceable(1) %16, ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 1 dereferenceable(1) %18) store ptr %19, ptr %14, align 8, !tbaa !372 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 { %4 = alloca %"struct.std::pair.60", align 8 %5 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca %"struct.std::_Rb_tree_iterator", align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca %"struct.std::_Rb_tree_iterator", align 8 %12 = alloca ptr, align 8 %13 = alloca %"struct.std::_Rb_tree_iterator", align 8 %14 = alloca ptr, align 8 %15 = alloca ptr, align 8 %16 = alloca ptr, align 8 %17 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %17, align 8 store ptr %0, ptr %6, align 8, !tbaa !223 store ptr %2, ptr %7, align 8, !tbaa !71 %18 = load ptr, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = call ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE13_M_const_castEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %20 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 store ptr %19, ptr %20, align 8 %21 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 %22 = load ptr, ptr %21, align 8, !tbaa !358 %23 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %24 = icmp eq ptr %22, %23 br i1 %24, label %25, label %44 25: ; preds = %3 %26 = call noundef i64 @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %27 = icmp ugt i64 %26, 0 br i1 %27, label %28, label %37 28: ; preds = %25 %29 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %18, i32 0, i32 0 %30 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %31 = load ptr, ptr %30, align 8, !tbaa !92 %32 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %31) %33 = load ptr, ptr %7, align 8, !tbaa !71 %34 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %29, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %33) br i1 %34, label %35, label %37 35: ; preds = %28 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 store ptr null, ptr %9, align 8, !tbaa !92 %36 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %36) call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 store i32 1, ptr %10, align 4 br label %129 37: ; preds = %28, %25 %38 = load ptr, ptr %7, align 8, !tbaa !71 %39 = call { ptr, ptr } @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %38) %40 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %41 = extractvalue { ptr, ptr } %39, 0 store ptr %41, ptr %40, align 8 %42 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %43 = extractvalue { ptr, ptr } %39, 1 store ptr %43, ptr %42, align 8 store i32 1, ptr %10, align 4 br label %129 44: ; preds = %3 %45 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %18, i32 0, i32 0 %46 = load ptr, ptr %7, align 8, !tbaa !71 %47 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 %48 = load ptr, ptr %47, align 8, !tbaa !358 %49 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %48) %50 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %49) br i1 %50, label %51, label %86 51: ; preds = %44 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 %52 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 %53 = load ptr, ptr %52, align 8, !tbaa !358 %54 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %55 = load ptr, ptr %54, align 8, !tbaa !92 %56 = icmp eq ptr %53, %55 br i1 %56, label %57, label %60 57: ; preds = %51 %58 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) store i32 1, ptr %10, align 4 br label %85 60: ; preds = %51 %61 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %18, i32 0, i32 0 %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #18 %63 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %62, i32 0, i32 0 %64 = load ptr, ptr %63, align 8, !tbaa !358 %65 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %64) %66 = load ptr, ptr %7, align 8, !tbaa !71 %67 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %66) br i1 %67, label %68, label %78 68: ; preds = %60 %69 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %11, i32 0, i32 0 %70 = load ptr, ptr %69, align 8, !tbaa !358 %71 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %70) #18 %72 = icmp eq ptr %71, null br i1 %72, label %73, label %75 73: ; preds = %68 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 store ptr null, ptr %12, align 8, !tbaa !92 %74 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %11, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %74) call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 store i32 1, ptr %10, align 4 br label %85 75: ; preds = %68 %76 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 %77 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(8) %77) store i32 1, ptr %10, align 4 br label %85 78: ; preds = %60 %79 = load ptr, ptr %7, align 8, !tbaa !71 %80 = call { ptr, ptr } @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %79) %81 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %82 = extractvalue { ptr, ptr } %80, 0 store ptr %82, ptr %81, align 8 %83 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %84 = extractvalue { ptr, ptr } %80, 1 store ptr %84, ptr %83, align 8 store i32 1, ptr %10, align 4 br label %85 85: ; preds = %78, %75, %73, %57 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 br label %129 86: ; preds = %44 %87 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %18, i32 0, i32 0 %88 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 %89 = load ptr, ptr %88, align 8, !tbaa !358 %90 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %89) %91 = load ptr, ptr %7, align 8, !tbaa !71 %92 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %87, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %91) br i1 %92, label %93, label %127 93: ; preds = %86 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 %94 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 %95 = load ptr, ptr %94, align 8, !tbaa !358 %96 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %97 = load ptr, ptr %96, align 8, !tbaa !92 %98 = icmp eq ptr %95, %97 br i1 %98, label %99, label %101 99: ; preds = %93 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 store ptr null, ptr %14, align 8, !tbaa !92 %100 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %100) call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 store i32 1, ptr %10, align 4 br label %126 101: ; preds = %93 %102 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %18, i32 0, i32 0 %103 = load ptr, ptr %7, align 8, !tbaa !71 %104 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %13) #18 %105 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %104, i32 0, i32 0 %106 = load ptr, ptr %105, align 8, !tbaa !358 %107 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %106) %108 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %102, ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %107) br i1 %108, label %109, label %119 109: ; preds = %101 %110 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 %111 = load ptr, ptr %110, align 8, !tbaa !358 %112 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %111) #18 %113 = icmp eq ptr %112, null br i1 %113, label %114, label %116 114: ; preds = %109 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 store ptr null, ptr %15, align 8, !tbaa !92 %115 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %115) call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 store i32 1, ptr %10, align 4 br label %126 116: ; preds = %109 %117 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %13, i32 0, i32 0 %118 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %13, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef nonnull align 8 dereferenceable(8) %118) store i32 1, ptr %10, align 4 br label %126 119: ; preds = %101 %120 = load ptr, ptr %7, align 8, !tbaa !71 %121 = call { ptr, ptr } @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %120) %122 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %123 = extractvalue { ptr, ptr } %121, 0 store ptr %123, ptr %122, align 8 %124 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %125 = extractvalue { ptr, ptr } %121, 1 store ptr %125, ptr %124, align 8 store i32 1, ptr %10, align 4 br label %126 126: ; preds = %119, %116, %114, %99 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 br label %129 127: ; preds = %86 %128 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %8, i32 0, i32 0 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 store ptr null, ptr %16, align 8, !tbaa !92 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %128, ptr noundef nonnull align 8 dereferenceable(8) %16) call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 store i32 1, ptr %10, align 4 br label %129 129: ; preds = %127, %126, %85, %37, %35 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 %130 = load { ptr, ptr }, ptr %4, align 8 ret { ptr, ptr } %130 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node6_M_keyEv(ptr noundef nonnull align 8 dereferenceable(16) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !370 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %3, i32 0, i32 1 %5 = load ptr, ptr %4, align 8, !tbaa !372 %6 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %5) ret ptr %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node9_M_insertES6_IPSt18_Rb_tree_node_baseSH_E(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr %1, ptr %2) #0 comdat align 2 { %4 = alloca %"struct.std::_Rb_tree_iterator", align 8 %5 = alloca %"struct.std::pair.60", align 8 %6 = alloca ptr, align 8 %7 = getelementptr inbounds nuw { ptr, ptr }, ptr %5, i32 0, i32 0 store ptr %1, ptr %7, align 8 %8 = getelementptr inbounds nuw { ptr, ptr }, ptr %5, i32 0, i32 1 store ptr %2, ptr %8, align 8 store ptr %0, ptr %6, align 8, !tbaa !370 %9 = load ptr, ptr %6, align 8 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %9, i32 0, i32 0 %11 = load ptr, ptr %10, align 8, !tbaa !374 %12 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %5, i32 0, i32 0 %13 = load ptr, ptr %12, align 8, !tbaa !368 %14 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %5, i32 0, i32 1 %15 = load ptr, ptr %14, align 8, !tbaa !366 %16 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %9, i32 0, i32 1 %17 = load ptr, ptr %16, align 8, !tbaa !372 %18 = call ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %11, ptr noundef %13, ptr noundef %15, ptr noundef %17) %19 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %4, i32 0, i32 0 store ptr %18, ptr %19, align 8 %20 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %9, i32 0, i32 1 store ptr null, ptr %20, align 8, !tbaa !372 %21 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %4, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 ret ptr %22 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !370 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %3, i32 0, i32 1 %5 = load ptr, ptr %4, align 8, !tbaa !372 %6 = icmp ne ptr %5, null br i1 %6, label %7, label %12 7: ; preds = %1 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %3, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !374 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::pair, int>, std::_Select1st, int>>, std::less>>::_Auto_node", ptr %3, i32 0, i32 1 %11 = load ptr, ptr %10, align 8, !tbaa !372 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef %11) #18 br label %12 12: ; preds = %7, %1 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #0 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !223 store ptr %1, ptr %6, align 8, !tbaa !360 store ptr %2, ptr %7, align 8, !tbaa !362 store ptr %3, ptr %8, align 8, !tbaa !364 %10 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %11 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_get_nodeEv(ptr noundef nonnull align 8 dereferenceable(48) %10) store ptr %11, ptr %9, align 8, !tbaa !291 %12 = load ptr, ptr %9, align 8, !tbaa !291 %13 = load ptr, ptr %6, align 8, !tbaa !360 %14 = load ptr, ptr %7, align 8, !tbaa !362 %15 = load ptr, ptr %8, align 8, !tbaa !364 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 1 dereferenceable(1) %15) %16 = load ptr, ptr %9, align 8, !tbaa !291 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %16 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_get_nodeEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 %5 = call noundef ptr @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE8allocateERSB_m(ptr noundef nonnull align 1 dereferenceable(1) %4, i64 noundef 1) ret ptr %5 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 store ptr %0, ptr %6, align 8, !tbaa !223 store ptr %1, ptr %7, align 8, !tbaa !291 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !362 store ptr %4, ptr %10, align 8, !tbaa !364 %13 = load ptr, ptr %6, align 8 %14 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 %15 = load ptr, ptr %7, align 8, !tbaa !291 %16 = call noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %15) %17 = load ptr, ptr %8, align 8, !tbaa !360 %18 = load ptr, ptr %9, align 8, !tbaa !362 %19 = load ptr, ptr %10, align 8, !tbaa !364 invoke void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESH_IJEEEEEvRSB_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %14, ptr noundef %16, ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 1 dereferenceable(1) %19) to label %20 unwind label %21 20: ; preds = %5 br label %34 21: ; preds = %5 %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 store ptr %23, ptr %11, align 8 %24 = extractvalue { ptr, i32 } %22, 1 store i32 %24, ptr %12, align 4 br label %25 25: ; preds = %21 %26 = load ptr, ptr %11, align 8 %27 = call ptr @__cxa_begin_catch(ptr %26) #18 %28 = load ptr, ptr %7, align 8, !tbaa !291 call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef %28) #18 invoke void @__cxa_rethrow() #19 to label %43 unwind label %29 29: ; preds = %25 %30 = landingpad { ptr, i32 } cleanup %31 = extractvalue { ptr, i32 } %30, 0 store ptr %31, ptr %11, align 8 %32 = extractvalue { ptr, i32 } %30, 1 store i32 %32, ptr %12, align 4 invoke void @__cxa_end_catch() to label %33 unwind label %40 33: ; preds = %29 br label %35 34: ; preds = %20 ret void 35: ; preds = %33 %36 = load ptr, ptr %11, align 8 %37 = load i32, ptr %12, align 4 %38 = insertvalue { ptr, i32 } poison, ptr %36, 0 %39 = insertvalue { ptr, i32 } %38, i32 %37, 1 resume { ptr, i32 } %39 40: ; preds = %29 %41 = landingpad { ptr, i32 } catch ptr null %42 = extractvalue { ptr, i32 } %41, 0 call void @__clang_call_terminate(ptr %42) #20 unreachable 43: ; preds = %25 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE8allocateERSB_m(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !227 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8, !tbaa !227 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef ptr @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %5, i64 noundef %6, ptr noundef null) ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !234 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !114 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #18 %10 = icmp ugt i64 %8, %9 %11 = zext i1 %10 to i64 %12 = call i64 @llvm.expect.i64(i64 %11, i64 0) %13 = icmp ne i64 %12, 0 br i1 %13, label %14, label %19 14: ; preds = %3 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 256204778801521550 br i1 %16, label %17, label %18 17: ; preds = %14 call void @_ZSt28__throw_bad_array_new_lengthv() #19 unreachable 18: ; preds = %14 call void @_ZSt17__throw_bad_allocv() #19 unreachable 19: ; preds = %3 %20 = load i64, ptr %5, align 8, !tbaa !97 %21 = mul i64 %20, 72 %22 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %21) #23 ret ptr %22 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !234 ret i64 128102389400760775 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESH_IJEEEEEvRSB_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !227 store ptr %1, ptr %7, align 8, !tbaa !193 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !362 store ptr %4, ptr %10, align 8, !tbaa !364 %11 = load ptr, ptr %6, align 8, !tbaa !227 %12 = load ptr, ptr %7, align 8, !tbaa !193 %13 = load ptr, ptr %8, align 8, !tbaa !360 %14 = load ptr, ptr %9, align 8, !tbaa !362 %15 = load ptr, ptr %10, align 8, !tbaa !364 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESG_IJEEEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %11, ptr noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 1 dereferenceable(1) %15) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESG_IJEEEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca %"class.std::tuple", align 8 store ptr %0, ptr %6, align 8, !tbaa !234 store ptr %1, ptr %7, align 8, !tbaa !193 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !362 store ptr %4, ptr %10, align 8, !tbaa !364 %12 = load ptr, ptr %7, align 8, !tbaa !193 %13 = load ptr, ptr %9, align 8, !tbaa !362 call void @_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %13) #18 call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEC2IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(36) %12, ptr noundef %11) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !362 store ptr %1, ptr %4, align 8, !tbaa !362 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !362 call void @_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEC2IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(36) %0, ptr noundef %1) unnamed_addr #5 comdat align 2 { %3 = alloca %"class.std::tuple.59", align 1 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !193 store ptr %1, ptr %5, align 8, !tbaa !362 %6 = load ptr, ptr %4, align 8 call void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEC2IJRS6_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(36) %6, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 1 dereferenceable(1) %3) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !375 store ptr %1, ptr %4, align 8, !tbaa !375 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !375 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !377 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEC2IJRS6_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(36) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #5 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !193 store ptr %1, ptr %5, align 8, !tbaa !362 store ptr %2, ptr %6, align 8, !tbaa !364 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !362 %10 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSC_(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %10) %11 = getelementptr inbounds nuw %"struct.std::pair.40", ptr %7, i32 0, i32 1 store i32 0, ptr %11, align 8, !tbaa !195 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSC_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !362 %3 = load ptr, ptr %2, align 8, !tbaa !362 %4 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt12__get_helperILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJEERT0_RSt11_Tuple_implIXT_EJS8_DpT1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZSt12__get_helperILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJEERT0_RSt11_Tuple_implIXT_EJS8_DpT1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !375 %3 = load ptr, ptr %2, align 8, !tbaa !375 %4 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7_M_headERS8_(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7_M_headERS8_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !375 %3 = load ptr, ptr %2, align 8, !tbaa !375 %4 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EE7_M_headERS8_(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EE7_M_headERS8_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !378 %3 = load ptr, ptr %2, align 8, !tbaa !378 %4 = getelementptr inbounds nuw %"struct.std::_Head_base", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !380 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE13_M_const_castEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !205 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !207 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %6) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 1 %7 = load i64, ptr %6, align 8, !tbaa !239 ret i64 %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 3 ret ptr %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %2) unnamed_addr #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !382 store ptr %1, ptr %5, align 8, !tbaa !384 store ptr %2, ptr %6, align 8, !tbaa !384 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !384 %10 = load ptr, ptr %9, align 8, !tbaa !92 store ptr %10, ptr %8, align 8, !tbaa !368 %11 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 1 %12 = load ptr, ptr %6, align 8, !tbaa !384 %13 = load ptr, ptr %12, align 8, !tbaa !92 store ptr %13, ptr %11, align 8, !tbaa !366 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca %"struct.std::pair.60", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i8, align 1 %9 = alloca %"struct.std::_Rb_tree_iterator", align 8 %10 = alloca %"struct.std::_Rb_tree_iterator", align 8 %11 = alloca i32, align 4 %12 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !223 store ptr %1, ptr %5, align 8, !tbaa !71 %13 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %14 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 store ptr %14, ptr %6, align 8, !tbaa !291 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %15 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 store ptr %15, ptr %7, align 8, !tbaa !92 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 store i8 1, ptr %8, align 1, !tbaa !87 br label %16 16: ; preds = %35, %2 %17 = load ptr, ptr %6, align 8, !tbaa !291 %18 = icmp ne ptr %17, null br i1 %18, label %19, label %37 19: ; preds = %16 %20 = load ptr, ptr %6, align 8, !tbaa !291 store ptr %20, ptr %7, align 8, !tbaa !92 %21 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %13, i32 0, i32 0 %22 = load ptr, ptr %5, align 8, !tbaa !71 %23 = load ptr, ptr %6, align 8, !tbaa !291 %24 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %23) %25 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %21, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %24) %26 = zext i1 %25 to i8 store i8 %26, ptr %8, align 1, !tbaa !87 %27 = load i8, ptr %8, align 1, !tbaa !87, !range !88, !noundef !89 %28 = trunc i8 %27 to i1 br i1 %28, label %29, label %32 29: ; preds = %19 %30 = load ptr, ptr %6, align 8, !tbaa !291 %31 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %30) #18 br label %35 32: ; preds = %19 %33 = load ptr, ptr %6, align 8, !tbaa !291 %34 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %33) #18 br label %35 35: ; preds = %32, %29 %36 = phi ptr [ %31, %29 ], [ %34, %32 ] store ptr %36, ptr %6, align 8, !tbaa !291 br label %16, !llvm.loop !386 37: ; preds = %16 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %38 = load ptr, ptr %7, align 8, !tbaa !92 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef %38) #18 %39 = load i8, ptr %8, align 1, !tbaa !87, !range !88, !noundef !89 %40 = trunc i8 %39 to i1 br i1 %40, label %41, label %49 41: ; preds = %37 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %42 = call ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 %43 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %10, i32 0, i32 0 store ptr %42, ptr %43, align 8 %44 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 br i1 %44, label %45, label %46 45: ; preds = %41 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISI_SJ_EEEbE4typeELb1EEEOSI_OSJ_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) store i32 1, ptr %11, align 4 br label %59 46: ; preds = %41 %47 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 br label %48 48: ; preds = %46 br label %49 49: ; preds = %48, %37 %50 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %13, i32 0, i32 0 %51 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %9, i32 0, i32 0 %52 = load ptr, ptr %51, align 8, !tbaa !358 %53 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %52) %54 = load ptr, ptr %5, align 8, !tbaa !71 %55 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %50, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %54) br i1 %55, label %56, label %57 56: ; preds = %49 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISI_SJ_EEEbE4typeELb1EEEOSI_OSJ_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) store i32 1, ptr %11, align 4 br label %59 57: ; preds = %49 %58 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %9, i32 0, i32 0 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 store ptr null, ptr %12, align 8, !tbaa !92 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %12) call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 store i32 1, ptr %11, align 4 br label %59 59: ; preds = %57, %56, %45 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %60 = load { ptr, ptr }, ptr %3, align 8 ret { ptr, ptr } %60 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !223 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 2 ret ptr %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %2) unnamed_addr #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !382 store ptr %1, ptr %5, align 8, !tbaa !384 store ptr %2, ptr %6, align 8, !tbaa !384 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !384 %10 = load ptr, ptr %9, align 8, !tbaa !92 store ptr %10, ptr %8, align 8, !tbaa !368 %11 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 1 %12 = load ptr, ptr %6, align 8, !tbaa !384 %13 = load ptr, ptr %12, align 8, !tbaa !92 store ptr %13, ptr %11, align 8, !tbaa !366 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !356 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !358 %6 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef %5) #22 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8, !tbaa !358 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !356 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !358 %6 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %5) #22 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8, !tbaa !358 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !223 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !237 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %9) #18 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %2, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 ret ptr %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISI_SJ_EEEbE4typeELb1EEEOSI_OSJ_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %2) unnamed_addr #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !382 store ptr %1, ptr %5, align 8, !tbaa !387 store ptr %2, ptr %6, align 8, !tbaa !384 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !387 %10 = load ptr, ptr %9, align 8, !tbaa !291 store ptr %10, ptr %8, align 8, !tbaa !368 %11 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 1 %12 = load ptr, ptr %6, align 8, !tbaa !384 %13 = load ptr, ptr %12, align 8, !tbaa !92 store ptr %13, ptr %11, align 8, !tbaa !366 ret void } ; Function Attrs: nounwind willreturn memory(read) declare noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef) #16 ; Function Attrs: nounwind willreturn memory(read) declare noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef) #16 ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) #0 comdat align 2 { %5 = alloca %"struct.std::_Rb_tree_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i8, align 1 store ptr %0, ptr %6, align 8, !tbaa !223 store ptr %1, ptr %7, align 8, !tbaa !92 store ptr %2, ptr %8, align 8, !tbaa !92 store ptr %3, ptr %9, align 8, !tbaa !291 %11 = load ptr, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 %12 = load ptr, ptr %7, align 8, !tbaa !92 %13 = icmp ne ptr %12, null br i1 %13, label %25, label %14 14: ; preds = %4 %15 = load ptr, ptr %8, align 8, !tbaa !92 %16 = call noundef ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %11) #18 %17 = icmp eq ptr %15, %16 br i1 %17, label %25, label %18 18: ; preds = %14 %19 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %11, i32 0, i32 0 %20 = load ptr, ptr %9, align 8, !tbaa !291 %21 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %20) %22 = load ptr, ptr %8, align 8, !tbaa !92 %23 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %22) %24 = call noundef zeroext i1 @_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_(ptr noundef nonnull align 1 dereferenceable(1) %19, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %23) br label %25 25: ; preds = %18, %14, %4 %26 = phi i1 [ true, %14 ], [ true, %4 ], [ %24, %18 ] %27 = zext i1 %26 to i8 store i8 %27, ptr %10, align 1, !tbaa !87 %28 = load i8, ptr %10, align 1, !tbaa !87, !range !88, !noundef !89 %29 = trunc i8 %28 to i1 %30 = load ptr, ptr %9, align 8, !tbaa !291 %31 = load ptr, ptr %8, align 8, !tbaa !92 %32 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %11, i32 0, i32 0 %33 = getelementptr inbounds i8, ptr %32, i64 8 %34 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %33, i32 0, i32 0 call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %29, ptr noundef %30, ptr noundef %31, ptr noundef nonnull align 8 dereferenceable(32) %34) #18 %35 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %11, i32 0, i32 0 %36 = getelementptr inbounds i8, ptr %35, i64 8 %37 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %36, i32 0, i32 1 %38 = load i64, ptr %37, align 8, !tbaa !239 %39 = add i64 %38, 1 store i64 %39, ptr %37, align 8, !tbaa !239 %40 = load ptr, ptr %9, align 8, !tbaa !291 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %40) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 %41 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator", ptr %5, i32 0, i32 0 %42 = load ptr, ptr %41, align 8 ret ptr %42 } ; Function Attrs: nounwind declare void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #7 ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ES7_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !375 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC2ES7_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC2ES7_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !378 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Head_base", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !71 store ptr %7, ptr %6, align 8, !tbaa !71 ret void } ; Function Attrs: noreturn declare void @_ZSt20__throw_out_of_rangePKc(ptr noundef) #13 ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE21_M_default_initializeEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !81 %9 = load i64, ptr %4, align 8, !tbaa !97 %10 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %11 = call noundef ptr @_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E(ptr noundef %8, i64 noundef %9, ptr noundef nonnull align 1 dereferenceable(1) %10) %12 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %13 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %12, i32 0, i32 1 store ptr %11, ptr %13, align 8, !tbaa !82 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E(ptr noundef %0, i64 noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !95 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef ptr @_ZSt25__uninitialized_default_nIPimET_S1_T0_(ptr noundef %7, i64 noundef %8) ret ptr %9 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt25__uninitialized_default_nIPimET_S1_T0_(ptr noundef %0, i64 noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca i8, align 1 store ptr %0, ptr %3, align 8, !tbaa !100 store i64 %1, ptr %4, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 1, ptr %5) #18 store i8 1, ptr %5, align 1, !tbaa !87 %6 = load ptr, ptr %3, align 8, !tbaa !100 %7 = load i64, ptr %4, align 8, !tbaa !97 %8 = call noundef ptr @_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPimEET_S3_T0_(ptr noundef %6, i64 noundef %7) call void @llvm.lifetime.end.p0(i64 1, ptr %5) #18 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPimEET_S3_T0_(ptr noundef %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !100 store i64 %1, ptr %4, align 8, !tbaa !97 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = icmp ugt i64 %6, 0 br i1 %7, label %8, label %18 8: ; preds = %2 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %9 = load ptr, ptr %3, align 8, !tbaa !100 store ptr %9, ptr %5, align 8, !tbaa !100 %10 = load ptr, ptr %5, align 8, !tbaa !100 call void @_ZSt10_ConstructIiJEEvPT_DpOT0_(ptr noundef %10) %11 = load ptr, ptr %3, align 8, !tbaa !100 %12 = getelementptr inbounds nuw i32, ptr %11, i32 1 store ptr %12, ptr %3, align 8, !tbaa !100 %13 = load ptr, ptr %3, align 8, !tbaa !100 %14 = load i64, ptr %4, align 8, !tbaa !97 %15 = sub i64 %14, 1 %16 = load ptr, ptr %5, align 8, !tbaa !100 %17 = call noundef ptr @_ZSt6fill_nIPimiET_S1_T0_RKT1_(ptr noundef %13, i64 noundef %15, ptr noundef nonnull align 4 dereferenceable(4) %16) store ptr %17, ptr %3, align 8, !tbaa !100 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %18 18: ; preds = %8, %2 %19 = load ptr, ptr %3, align 8, !tbaa !100 ret ptr %19 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt10_ConstructIiJEEvPT_DpOT0_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !100 %3 = load ptr, ptr %2, align 8, !tbaa !100 store i32 0, ptr %3, align 4, !tbaa !72 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorIiSaIiEE8capacityEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %4, i32 0, i32 2 %6 = load ptr, ptr %5, align 8, !tbaa !101 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %3, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !81 %10 = ptrtoint ptr %6 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 4 ret i64 %13 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !102 store ptr %1, ptr %4, align 8, !tbaa !338 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !338 %8 = load ptr, ptr %7, align 8, !tbaa !100 store ptr %8, ptr %6, align 8, !tbaa !104 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !124 store ptr %1, ptr %4, align 8, !tbaa !338 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !338 %8 = load ptr, ptr %7, align 8, !tbaa !100 store ptr %8, ptr %6, align 8, !tbaa !126 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %0, ptr %1) #5 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %9, align 8 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %10, align 8 %11 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 br i1 %11, label %12, label %24 12: ; preds = %2 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %13 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %3) #18 %14 = call noundef i64 @_ZSt4__lgl(i64 noundef %13) %15 = mul nsw i64 %14, 2 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 call void @_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElNS0_5__ops15_Iter_less_iterEEvT_S9_T0_T1_(ptr %17, ptr %19, i64 noundef %15) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %23 = load ptr, ptr %22, align 8 call void @_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %21, ptr %23) br label %24 24: ; preds = %12, %2 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx5__ops16__iter_less_iterEv() #4 comdat { ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElNS0_5__ops15_Iter_less_iterEEvT_S9_T0_T1_(ptr %0, ptr %1, i64 noundef %2) #0 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca i64, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %0, ptr %15, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %1, ptr %16, align 8 store i64 %2, ptr %6, align 8, !tbaa !97 br label %17 17: ; preds = %30, %3 %18 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %19 = icmp sgt i64 %18, 16 br i1 %19, label %20, label %44 20: ; preds = %17 %21 = load i64, ptr %6, align 8, !tbaa !97 %22 = icmp eq i64 %21, 0 br i1 %22, label %23, label %30 23: ; preds = %20 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 call void @_ZSt14__partial_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_(ptr %25, ptr %27, ptr %29) br label %44 30: ; preds = %20 %31 = load i64, ptr %6, align 8, !tbaa !97 %32 = add nsw i64 %31, -1 store i64 %32, ptr %6, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %34 = load ptr, ptr %33, align 8 %35 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %36 = load ptr, ptr %35, align 8 %37 = call ptr @_ZSt27__unguarded_partition_pivotIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEET_S9_S9_T0_(ptr %34, ptr %36) %38 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 store ptr %37, ptr %38, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %10, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %39 = load i64, ptr %6, align 8, !tbaa !97 %40 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 %41 = load ptr, ptr %40, align 8 %42 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %14, i32 0, i32 0 %43 = load ptr, ptr %42, align 8 call void @_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElNS0_5__ops15_Iter_less_iterEEvT_S9_T0_T1_(ptr %41, ptr %43, i64 noundef %39) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %10, i64 8, i1 false), !tbaa.struct !106 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 br label %17, !llvm.loop !389 44: ; preds = %23, %17 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZSt4__lgl(i64 noundef %0) #4 comdat { %2 = alloca i64, align 8 store i64 %0, ptr %2, align 8, !tbaa !97 %3 = load i64, ptr %2, align 8, !tbaa !97 %4 = call i64 @llvm.ctlz.i64(i64 %3, i1 true) %5 = trunc i64 %4 to i32 %6 = sub nsw i32 63, %5 %7 = sext i32 %6 to i64 ret i64 %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt22__final_insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %0, ptr %1) #0 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %12, align 8 %13 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %3) #18 %14 = icmp sgt i64 %13, 16 br i1 %14, label %15, label %28 15: ; preds = %2 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 %16 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %3, i64 noundef 16) #18 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %16, ptr %17, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 call void @_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %19, ptr %21) %22 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %3, i64 noundef 16) #18 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 store ptr %22, ptr %23, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 call void @_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %25, ptr %27) br label %33 28: ; preds = %2 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %32 = load ptr, ptr %31, align 8 call void @_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %30, ptr %32) br label %33 33: ; preds = %28, %15 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt14__partial_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %0, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %1, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %2, ptr %15, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 call void @_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_(ptr %17, ptr %19, ptr %21) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %23 = load ptr, ptr %22, align 8 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 call void @_ZSt11__sort_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_RT0_(ptr %23, ptr %25, ptr noundef nonnull align 1 dereferenceable(1) %7) ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt27__unguarded_partition_pivotIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEET_S9_S9_T0_(ptr %0, ptr %1) #5 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %0, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %1, ptr %15, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %16 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %17 = sdiv i64 %16, 2 %18 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef %17) #18 %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %18, ptr %19, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %20 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 1) #18 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 store ptr %20, ptr %21, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %22 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef 1) #18 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 store ptr %22, ptr %23, align 8 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 %30 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 call void @_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_S9_T0_(ptr %25, ptr %27, ptr %29, ptr %31) %32 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 1) #18 %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 store ptr %32, ptr %33, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %34 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %35 = load ptr, ptr %34, align 8 %36 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %37 = load ptr, ptr %36, align 8 %38 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 %39 = load ptr, ptr %38, align 8 %40 = call ptr @_ZSt21__unguarded_partitionIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEET_S9_S9_S9_T0_(ptr %35, ptr %37, ptr %39) %41 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %40, ptr %41, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %42 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 %43 = load ptr, ptr %42, align 8 ret ptr %43 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_(ptr %0, ptr %1, ptr %2) #0 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %0, ptr %16, align 8 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %1, ptr %17, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %2, ptr %18, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %20 = load ptr, ptr %19, align 8 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 call void @_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_RT0_(ptr %20, ptr %22, ptr noundef nonnull align 1 dereferenceable(1) %7) call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 br label %23 23: ; preds = %40, %3 %24 = call noundef zeroext i1 @_ZN9__gnu_cxxltIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 br i1 %24, label %26, label %25 25: ; preds = %23 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 br label %42 26: ; preds = %23 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %10, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %27 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %28 = load ptr, ptr %27, align 8 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr %28, ptr %30) br i1 %31, label %32, label %39 32: ; preds = %26 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %10, i64 8, i1 false), !tbaa.struct !106 %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 %34 = load ptr, ptr %33, align 8 %35 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %14, i32 0, i32 0 %36 = load ptr, ptr %35, align 8 %37 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %15, i32 0, i32 0 %38 = load ptr, ptr %37, align 8 call void @_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_(ptr %34, ptr %36, ptr %38, ptr noundef nonnull align 1 dereferenceable(1) %7) br label %39 39: ; preds = %32, %26 br label %40 40: ; preds = %39 %41 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %10) #18 br label %23, !llvm.loop !390 42: ; preds = %25 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt11__sort_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_RT0_(ptr %0, ptr %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #0 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %0, ptr %10, align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %1, ptr %11, align 8 store ptr %2, ptr %6, align 8, !tbaa !391 br label %12 12: ; preds = %15, %3 %13 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %14 = icmp sgt i64 %13, 1 br i1 %14, label %15, label %24 15: ; preds = %12 %16 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %17 = load ptr, ptr %6, align 8, !tbaa !391 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %23 = load ptr, ptr %22, align 8 call void @_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_(ptr %19, ptr %21, ptr %23, ptr noundef nonnull align 1 dereferenceable(1) %17) br label %12, !llvm.loop !393 24: ; preds = %12 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_RT0_(ptr %0, ptr %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #0 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca i64, align 8 %9 = alloca i32, align 4 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca i32, align 4 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %0, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %1, ptr %14, align 8 store ptr %2, ptr %6, align 8, !tbaa !391 %15 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %16 = icmp slt i64 %15, 2 br i1 %16, label %17, label %18 17: ; preds = %3 br label %45 18: ; preds = %3 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %19 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 store i64 %19, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %20 = load i64, ptr %7, align 8, !tbaa !97 %21 = sub nsw i64 %20, 2 %22 = sdiv i64 %21, 2 store i64 %22, ptr %8, align 8, !tbaa !97 br label %23 23: ; preds = %43, %18 br label %24 24: ; preds = %23 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %25 = load i64, ptr %8, align 8, !tbaa !97 %26 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef %25) #18 %27 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 store ptr %26, ptr %27, align 8 %28 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %10) #18 %29 = load i32, ptr %28, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 store i32 %29, ptr %9, align 4, !tbaa !72 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %30 = load i64, ptr %8, align 8, !tbaa !97 %31 = load i64, ptr %7, align 8, !tbaa !97 %32 = load i32, ptr %9, align 4, !tbaa !72 %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %34 = load ptr, ptr %33, align 8 call void @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEliNS0_5__ops15_Iter_less_iterEEvT_T0_SA_T1_T2_(ptr %34, i64 noundef %30, i64 noundef %31, i32 noundef %32) %35 = load i64, ptr %8, align 8, !tbaa !97 %36 = icmp eq i64 %35, 0 br i1 %36, label %37, label %38 37: ; preds = %24 store i32 1, ptr %12, align 4 br label %41 38: ; preds = %24 %39 = load i64, ptr %8, align 8, !tbaa !97 %40 = add nsw i64 %39, -1 store i64 %40, ptr %8, align 8, !tbaa !97 store i32 0, ptr %12, align 4 br label %41 41: ; preds = %38, %37 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 %42 = load i32, ptr %12, align 4 switch i32 %42, label %44 [ i32 0, label %43 ] 43: ; preds = %41 br label %23, !llvm.loop !394 44: ; preds = %41 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %45 45: ; preds = %44, %17 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZN9__gnu_cxxltIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !124 store ptr %1, ptr %4, align 8, !tbaa !124 %5 = load ptr, ptr %3, align 8, !tbaa !124 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !100 %8 = load ptr, ptr %4, align 8, !tbaa !124 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !100 %11 = icmp ult ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr %1, ptr %2) #1 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca ptr, align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %7, align 8 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %2, ptr %8, align 8 store ptr %0, ptr %6, align 8, !tbaa !391 %9 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %10 = load i32, ptr %9, align 4, !tbaa !72 %11 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %12 = load i32, ptr %11, align 4, !tbaa !72 %13 = icmp slt i32 %10, %12 ret i1 %13 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_(ptr %0, ptr %1, ptr %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %1, ptr %12, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 store ptr %2, ptr %13, align 8 store ptr %3, ptr %8, align 8, !tbaa !391 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 %14 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %7) #18 %15 = load i32, ptr %14, align 4, !tbaa !72 store i32 %15, ptr %9, align 4, !tbaa !72 %16 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %17 = load i32, ptr %16, align 4, !tbaa !72 %18 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %7) #18 store i32 %17, ptr %18, align 4, !tbaa !72 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %19 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %20 = load i32, ptr %9, align 4, !tbaa !72 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 call void @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEliNS0_5__ops15_Iter_less_iterEEvT_T0_SA_T1_T2_(ptr %22, i64 noundef 0, i64 noundef %19, i32 noundef %20) call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !124 store i64 %1, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !126 %10 = load i64, ptr %5, align 8, !tbaa !97 %11 = getelementptr inbounds i32, ptr %9, i64 %10 store ptr %11, ptr %6, align 8, !tbaa !100 call void @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 ret ptr %13 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEliNS0_5__ops15_Iter_less_iterEEvT_T0_SA_T1_T2_(ptr %0, i64 noundef %1, i64 noundef %2, i32 noundef %3) #0 comdat { %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %7 = alloca i64, align 8 %8 = alloca i64, align 8 %9 = alloca i32, align 4 %10 = alloca i64, align 8 %11 = alloca i64, align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %17 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %18 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_val", align 1 %19 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %0, ptr %20, align 8 store i64 %1, ptr %7, align 8, !tbaa !97 store i64 %2, ptr %8, align 8, !tbaa !97 store i32 %3, ptr %9, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %21 = load i64, ptr %7, align 8, !tbaa !97 store i64 %21, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %22 = load i64, ptr %7, align 8, !tbaa !97 store i64 %22, ptr %11, align 8, !tbaa !97 br label %23 23: ; preds = %48, %4 %24 = load i64, ptr %11, align 8, !tbaa !97 %25 = load i64, ptr %8, align 8, !tbaa !97 %26 = sub nsw i64 %25, 1 %27 = sdiv i64 %26, 2 %28 = icmp slt i64 %24, %27 br i1 %28, label %29, label %59 29: ; preds = %23 %30 = load i64, ptr %11, align 8, !tbaa !97 %31 = add nsw i64 %30, 1 %32 = mul nsw i64 2, %31 store i64 %32, ptr %11, align 8, !tbaa !97 %33 = load i64, ptr %11, align 8, !tbaa !97 %34 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef %33) #18 %35 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 store ptr %34, ptr %35, align 8 %36 = load i64, ptr %11, align 8, !tbaa !97 %37 = sub nsw i64 %36, 1 %38 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef %37) #18 %39 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 store ptr %38, ptr %39, align 8 %40 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %41 = load ptr, ptr %40, align 8 %42 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 %43 = load ptr, ptr %42, align 8 %44 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr %41, ptr %43) br i1 %44, label %45, label %48 45: ; preds = %29 %46 = load i64, ptr %11, align 8, !tbaa !97 %47 = add nsw i64 %46, -1 store i64 %47, ptr %11, align 8, !tbaa !97 br label %48 48: ; preds = %45, %29 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 %49 = load i64, ptr %11, align 8, !tbaa !97 %50 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef %49) #18 %51 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %14, i32 0, i32 0 store ptr %50, ptr %51, align 8 %52 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #18 %53 = load i32, ptr %52, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 %54 = load i64, ptr %7, align 8, !tbaa !97 %55 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef %54) #18 %56 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %15, i32 0, i32 0 store ptr %55, ptr %56, align 8 %57 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #18 store i32 %53, ptr %57, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 %58 = load i64, ptr %11, align 8, !tbaa !97 store i64 %58, ptr %7, align 8, !tbaa !97 br label %23, !llvm.loop !395 59: ; preds = %23 %60 = load i64, ptr %8, align 8, !tbaa !97 %61 = and i64 %60, 1 %62 = icmp eq i64 %61, 0 br i1 %62, label %63, label %85 63: ; preds = %59 %64 = load i64, ptr %11, align 8, !tbaa !97 %65 = load i64, ptr %8, align 8, !tbaa !97 %66 = sub nsw i64 %65, 2 %67 = sdiv i64 %66, 2 %68 = icmp eq i64 %64, %67 br i1 %68, label %69, label %85 69: ; preds = %63 %70 = load i64, ptr %11, align 8, !tbaa !97 %71 = add nsw i64 %70, 1 %72 = mul nsw i64 2, %71 store i64 %72, ptr %11, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 %73 = load i64, ptr %11, align 8, !tbaa !97 %74 = sub nsw i64 %73, 1 %75 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef %74) #18 %76 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %16, i32 0, i32 0 store ptr %75, ptr %76, align 8 %77 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #18 %78 = load i32, ptr %77, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %17) #18 %79 = load i64, ptr %7, align 8, !tbaa !97 %80 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef %79) #18 %81 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %17, i32 0, i32 0 store ptr %80, ptr %81, align 8 %82 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #18 store i32 %78, ptr %82, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 8, ptr %17) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 %83 = load i64, ptr %11, align 8, !tbaa !97 %84 = sub nsw i64 %83, 1 store i64 %84, ptr %7, align 8, !tbaa !97 br label %85 85: ; preds = %69, %63, %59 call void @llvm.lifetime.start.p0(i64 1, ptr %18) #18 call void @_ZN9__gnu_cxx5__ops14_Iter_less_valC2ENS0_15_Iter_less_iterE(ptr noundef nonnull align 1 dereferenceable(1) %18) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %86 = load i64, ptr %7, align 8, !tbaa !97 %87 = load i64, ptr %10, align 8, !tbaa !97 %88 = load i32, ptr %9, align 4, !tbaa !72 %89 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %19, i32 0, i32 0 %90 = load ptr, ptr %89, align 8 call void @_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEliNS0_5__ops14_Iter_less_valEEvT_T0_SA_T1_RT2_(ptr %90, i64 noundef %86, i64 noundef %87, i32 noundef %88, ptr noundef nonnull align 1 dereferenceable(1) %18) call void @llvm.lifetime.end.p0(i64 1, ptr %18) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx5__ops14_Iter_less_valC2ENS0_15_Iter_less_iterE(ptr noundef nonnull align 1 dereferenceable(1) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !396 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt11__push_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEliNS0_5__ops14_Iter_less_valEEvT_T0_SA_T1_RT2_(ptr %0, i64 noundef %1, i64 noundef %2, i32 noundef %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat { %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca i64, align 8 %8 = alloca i64, align 8 %9 = alloca i32, align 4 %10 = alloca ptr, align 8 %11 = alloca i64, align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %0, ptr %16, align 8 store i64 %1, ptr %7, align 8, !tbaa !97 store i64 %2, ptr %8, align 8, !tbaa !97 store i32 %3, ptr %9, align 4, !tbaa !72 store ptr %4, ptr %10, align 8, !tbaa !396 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %17 = load i64, ptr %7, align 8, !tbaa !97 %18 = sub nsw i64 %17, 1 %19 = sdiv i64 %18, 2 store i64 %19, ptr %11, align 8, !tbaa !97 br label %20 20: ; preds = %34, %5 %21 = load i64, ptr %7, align 8, !tbaa !97 %22 = load i64, ptr %8, align 8, !tbaa !97 %23 = icmp sgt i64 %21, %22 br i1 %23, label %24, label %32 24: ; preds = %20 %25 = load ptr, ptr %10, align 8, !tbaa !396 %26 = load i64, ptr %11, align 8, !tbaa !97 %27 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef %26) #18 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 store ptr %27, ptr %28, align 8 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 %31 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops14_Iter_less_valclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEEbT_RT0_(ptr noundef nonnull align 1 dereferenceable(1) %25, ptr %30, ptr noundef nonnull align 4 dereferenceable(4) %9) br label %32 32: ; preds = %24, %20 %33 = phi i1 [ false, %20 ], [ %31, %24 ] br i1 %33, label %34, label %48 34: ; preds = %32 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %35 = load i64, ptr %11, align 8, !tbaa !97 %36 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef %35) #18 %37 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 store ptr %36, ptr %37, align 8 %38 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %13) #18 %39 = load i32, ptr %38, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 %40 = load i64, ptr %7, align 8, !tbaa !97 %41 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef %40) #18 %42 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %14, i32 0, i32 0 store ptr %41, ptr %42, align 8 %43 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #18 store i32 %39, ptr %43, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 %44 = load i64, ptr %11, align 8, !tbaa !97 store i64 %44, ptr %7, align 8, !tbaa !97 %45 = load i64, ptr %7, align 8, !tbaa !97 %46 = sub nsw i64 %45, 1 %47 = sdiv i64 %46, 2 store i64 %47, ptr %11, align 8, !tbaa !97 br label %20, !llvm.loop !398 48: ; preds = %32 %49 = load i32, ptr %9, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 %50 = load i64, ptr %7, align 8, !tbaa !97 %51 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef %50) #18 %52 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %15, i32 0, i32 0 store ptr %51, ptr %52, align 8 %53 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #18 store i32 %49, ptr %53, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNK9__gnu_cxx5__ops14_Iter_less_valclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEEbT_RT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #1 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %7, align 8 store ptr %0, ptr %5, align 8, !tbaa !396 store ptr %2, ptr %6, align 8, !tbaa !100 %8 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %9 = load i32, ptr %8, align 4, !tbaa !72 %10 = load ptr, ptr %6, align 8, !tbaa !100 %11 = load i32, ptr %10, align 4, !tbaa !72 %12 = icmp slt i32 %9, %11 ret i1 %12 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !124 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !126 %6 = getelementptr inbounds i32, ptr %5, i32 -1 store ptr %6, ptr %4, align 8, !tbaa !126 ret ptr %3 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_S9_T0_(ptr %0, ptr %1, ptr %2, ptr %3) #0 comdat { %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %17 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %18 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %19 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %20 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %21 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %22 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %23 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %24 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %25 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %26 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %27 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %28 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %29 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %30 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %31 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %32 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %0, ptr %32, align 8 %33 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %1, ptr %33, align 8 %34 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 store ptr %2, ptr %34, align 8 %35 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 store ptr %3, ptr %35, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %36 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %37 = load ptr, ptr %36, align 8 %38 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %39 = load ptr, ptr %38, align 8 %40 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %9, ptr %37, ptr %39) br i1 %40, label %41, label %70 41: ; preds = %4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !106 %42 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %43 = load ptr, ptr %42, align 8 %44 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 %45 = load ptr, ptr %44, align 8 %46 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %9, ptr %43, ptr %45) br i1 %46, label %47, label %52 47: ; preds = %41 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %48 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %14, i32 0, i32 0 %49 = load ptr, ptr %48, align 8 %50 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %15, i32 0, i32 0 %51 = load ptr, ptr %50, align 8 call void @_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_(ptr %49, ptr %51) br label %69 52: ; preds = %41 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %16, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !106 %53 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %16, i32 0, i32 0 %54 = load ptr, ptr %53, align 8 %55 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %17, i32 0, i32 0 %56 = load ptr, ptr %55, align 8 %57 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %9, ptr %54, ptr %56) br i1 %57, label %58, label %63 58: ; preds = %52 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !106 %59 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %18, i32 0, i32 0 %60 = load ptr, ptr %59, align 8 %61 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %19, i32 0, i32 0 %62 = load ptr, ptr %61, align 8 call void @_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_(ptr %60, ptr %62) br label %68 63: ; preds = %52 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %20, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %64 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %20, i32 0, i32 0 %65 = load ptr, ptr %64, align 8 %66 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %21, i32 0, i32 0 %67 = load ptr, ptr %66, align 8 call void @_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_(ptr %65, ptr %67) br label %68 68: ; preds = %63, %58 br label %69 69: ; preds = %68, %47 br label %99 70: ; preds = %4 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %22, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %23, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !106 %71 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %22, i32 0, i32 0 %72 = load ptr, ptr %71, align 8 %73 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %23, i32 0, i32 0 %74 = load ptr, ptr %73, align 8 %75 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %9, ptr %72, ptr %74) br i1 %75, label %76, label %81 76: ; preds = %70 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %24, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %25, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %77 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %24, i32 0, i32 0 %78 = load ptr, ptr %77, align 8 %79 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %25, i32 0, i32 0 %80 = load ptr, ptr %79, align 8 call void @_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_(ptr %78, ptr %80) br label %98 81: ; preds = %70 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %26, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %27, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !106 %82 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %26, i32 0, i32 0 %83 = load ptr, ptr %82, align 8 %84 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %27, i32 0, i32 0 %85 = load ptr, ptr %84, align 8 %86 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %9, ptr %83, ptr %85) br i1 %86, label %87, label %92 87: ; preds = %81 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %28, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %29, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !106 %88 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %28, i32 0, i32 0 %89 = load ptr, ptr %88, align 8 %90 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %29, i32 0, i32 0 %91 = load ptr, ptr %90, align 8 call void @_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_(ptr %89, ptr %91) br label %97 92: ; preds = %81 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %30, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %31, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %93 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %30, i32 0, i32 0 %94 = load ptr, ptr %93, align 8 %95 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %31, i32 0, i32 0 %96 = load ptr, ptr %95, align 8 call void @_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_(ptr %94, ptr %96) br label %97 97: ; preds = %92, %87 br label %98 98: ; preds = %97, %76 br label %99 99: ; preds = %98, %69 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !124 store i64 %1, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !126 %10 = load i64, ptr %5, align 8, !tbaa !97 %11 = sub i64 0, %10 %12 = getelementptr inbounds i32, ptr %9, i64 %11 store ptr %12, ptr %6, align 8, !tbaa !100 call void @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 %14 = load ptr, ptr %13, align 8 ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZSt21__unguarded_partitionIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEET_S9_S9_S9_T0_(ptr %0, ptr %1, ptr %2) #1 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %0, ptr %15, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %1, ptr %16, align 8 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 store ptr %2, ptr %17, align 8 br label %18 18: ; preds = %3, %42 br label %19 19: ; preds = %25, %18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %23 = load ptr, ptr %22, align 8 %24 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %8, ptr %21, ptr %23) br i1 %24, label %25, label %27 25: ; preds = %19 %26 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 br label %19, !llvm.loop !399 27: ; preds = %19 %28 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #18 br label %29 29: ; preds = %35, %27 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %30 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 %32 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %33 = load ptr, ptr %32, align 8 %34 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %8, ptr %31, ptr %33) br i1 %34, label %35, label %37 35: ; preds = %29 %36 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #18 br label %29, !llvm.loop !400 37: ; preds = %29 %38 = call noundef zeroext i1 @_ZN9__gnu_cxxltIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 br i1 %38, label %42, label %39 39: ; preds = %37 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %40 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 %41 = load ptr, ptr %40, align 8 ret ptr %41 42: ; preds = %37 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %43 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 %44 = load ptr, ptr %43, align 8 %45 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %14, i32 0, i32 0 %46 = load ptr, ptr %45, align 8 call void @_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_(ptr %44, ptr %46) %47 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 br label %18, !llvm.loop !401 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_EvT_T0_(ptr %0, ptr %1) #4 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %5, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %6, align 8 %7 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 %8 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 call void @_ZSt4swapIiENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_(ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8) #18 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt4swapIiENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_(ptr noundef nonnull align 4 dereferenceable(4) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !100 store ptr %1, ptr %4, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 4, ptr %5) #18 %6 = load ptr, ptr %3, align 8, !tbaa !100 %7 = load i32, ptr %6, align 4, !tbaa !72 store i32 %7, ptr %5, align 4, !tbaa !72 %8 = load ptr, ptr %4, align 8, !tbaa !100 %9 = load i32, ptr %8, align 4, !tbaa !72 %10 = load ptr, ptr %3, align 8, !tbaa !100 store i32 %9, ptr %10, align 4, !tbaa !72 %11 = load i32, ptr %5, align 4, !tbaa !72 %12 = load ptr, ptr %4, align 8, !tbaa !100 store i32 %11, ptr %12, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %5) #18 ret void } ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.ctlz.i64(i64, i1 immarg) #9 ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %0, ptr %1) #0 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca i32, align 4 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %14 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %15, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %16, align 8 %17 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 br i1 %17, label %18, label %19 18: ; preds = %2 br label %52 19: ; preds = %2 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %20 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %3, i64 noundef 1) #18 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %20, ptr %21, align 8 br label %22 22: ; preds = %50, %19 %23 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 br i1 %23, label %25, label %24 24: ; preds = %22 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 br label %52 25: ; preds = %22 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 %30 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr %27, ptr %29) br i1 %30, label %31, label %46 31: ; preds = %25 call void @llvm.lifetime.start.p0(i64 4, ptr %9) #18 %32 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %33 = load i32, ptr %32, align 4, !tbaa !72 store i32 %33, ptr %9, align 4, !tbaa !72 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %34 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef 1) #18 %35 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 store ptr %34, ptr %35, align 8 %36 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %37 = load ptr, ptr %36, align 8 %38 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %39 = load ptr, ptr %38, align 8 %40 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %41 = load ptr, ptr %40, align 8 %42 = call ptr @_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_(ptr %37, ptr %39, ptr %41) %43 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %13, i32 0, i32 0 store ptr %42, ptr %43, align 8 %44 = load i32, ptr %9, align 4, !tbaa !72 %45 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 store i32 %44, ptr %45, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 4, ptr %9) #18 br label %49 46: ; preds = %25 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 call void @_ZN9__gnu_cxx5__ops15__val_comp_iterENS0_15_Iter_less_iterE() %47 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %14, i32 0, i32 0 %48 = load ptr, ptr %47, align 8 call void @_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops14_Val_less_iterEEvT_T0_(ptr %48) br label %49 49: ; preds = %46, %31 br label %50 50: ; preds = %49 %51 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #18 br label %22, !llvm.loop !402 52: ; preds = %18, %24 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %0, ptr %1) #5 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %7, align 8 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %8, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 br label %9 9: ; preds = %15, %2 %10 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %4) #18 br i1 %10, label %12, label %11 11: ; preds = %9 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %17 12: ; preds = %9 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @_ZN9__gnu_cxx5__ops15__val_comp_iterENS0_15_Iter_less_iterE() %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 %14 = load ptr, ptr %13, align 8 call void @_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops14_Val_less_iterEEvT_T0_(ptr %14) br label %15 15: ; preds = %12 %16 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 br label %9, !llvm.loop !403 17: ; preds = %11 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZN9__gnu_cxxeqIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !124 store ptr %1, ptr %4, align 8, !tbaa !124 %5 = load ptr, ptr %3, align 8, !tbaa !124 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !100 %8 = load ptr, ptr %4, align 8, !tbaa !124 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !100 %11 = icmp eq ptr %7, %10 ret i1 %11 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %0, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %1, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 store ptr %2, ptr %15, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET_S7_(ptr %17) %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 store ptr %18, ptr %19, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET_S7_(ptr %21) %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 store ptr %22, ptr %23, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 %30 = call ptr @_ZSt22__copy_move_backward_aILb1EN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET1_T0_S8_S7_(ptr %25, ptr %27, ptr %29) %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %30, ptr %31, align 8 %32 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 %33 = load ptr, ptr %32, align 8 ret ptr %33 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops14_Val_less_iterEEvT_T0_(ptr %0) #0 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %3 = alloca %"struct.__gnu_cxx::__ops::_Val_less_iter", align 1 %4 = alloca i32, align 4 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %2, i32 0, i32 0 store ptr %0, ptr %7, align 8 call void @llvm.lifetime.start.p0(i64 4, ptr %4) #18 %8 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #18 %9 = load i32, ptr %8, align 4, !tbaa !72 store i32 %9, ptr %4, align 4, !tbaa !72 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %2, i64 8, i1 false), !tbaa.struct !106 %10 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 br label %11 11: ; preds = %15, %1 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 %14 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops14_Val_less_iterclIiNS_17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEbRT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %3, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr %13) br i1 %14, label %15, label %20 15: ; preds = %11 %16 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %17 = load i32, ptr %16, align 4, !tbaa !72 %18 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #18 store i32 %17, ptr %18, align 4, !tbaa !72 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %19 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 br label %11, !llvm.loop !404 20: ; preds = %11 %21 = load i32, ptr %4, align 4, !tbaa !72 %22 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #18 store i32 %21, ptr %22, align 4, !tbaa !72 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 call void @llvm.lifetime.end.p0(i64 4, ptr %4) #18 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx5__ops15__val_comp_iterENS0_15_Iter_less_iterE() #4 comdat { ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt22__copy_move_backward_aILb1EN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET1_T0_S8_S7_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %0, ptr %12, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 store ptr %1, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 store ptr %2, ptr %14, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %9, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = call noundef ptr @_ZSt12__niter_baseIPiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS4_T0_EE(ptr %16) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %10, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = call noundef ptr @_ZSt12__niter_baseIPiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS4_T0_EE(ptr %19) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = call noundef ptr @_ZSt12__niter_baseIPiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS4_T0_EE(ptr %22) #18 %24 = call noundef ptr @_ZSt23__copy_move_backward_a1ILb1EPiS0_ET1_T0_S2_S1_(ptr noundef %17, ptr noundef %20, ptr noundef %23) %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %26 = load ptr, ptr %25, align 8 %27 = call ptr @_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET_S7_T0_(ptr %26, ptr noundef %24) %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %27, ptr %28, align 8 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 ret ptr %30 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET_S7_(ptr %0) #4 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %4, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %2, i32 0, i32 0 %6 = load ptr, ptr %5, align 8 ret ptr %6 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr ptr @_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET_S7_T0_(ptr %0, ptr noundef %1) #4 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca ptr, align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %0, ptr %7, align 8 store ptr %1, ptr %5, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 %10 = load ptr, ptr %9, align 8 %11 = call noundef ptr @_ZSt12__niter_baseIPiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS4_T0_EE(ptr %10) #18 %12 = ptrtoint ptr %8 to i64 %13 = ptrtoint ptr %11 to i64 %14 = sub i64 %12, %13 %15 = sdiv exact i64 %14, 4 %16 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef %15) #18 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %16, ptr %17, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 ret ptr %19 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt23__copy_move_backward_a1ILb1EPiS0_ET1_T0_S2_S1_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = call noundef ptr @_ZSt23__copy_move_backward_a2ILb1EPiS0_ET1_T0_S2_S1_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_baseIPiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS4_T0_EE(ptr %0) #1 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %3 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %2, i32 0, i32 0 store ptr %0, ptr %3, align 8 %4 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #18 %5 = load ptr, ptr %4, align 8, !tbaa !100 ret ptr %5 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt23__copy_move_backward_a2ILb1EPiS0_ET1_T0_S2_S1_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = call noundef ptr @_ZNSt20__copy_move_backwardILb1ELb1ESt26random_access_iterator_tagE13__copy_move_bIiEEPT_PKS3_S6_S4_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt20__copy_move_backwardILb1ELb1ESt26random_access_iterator_tagE13__copy_move_bIiEEPT_PKS3_S6_S4_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %4, align 8, !tbaa !100 %10 = ptrtoint ptr %8 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 4 store i64 %13, ptr %7, align 8, !tbaa !97 %14 = load i64, ptr %7, align 8, !tbaa !97 %15 = icmp ne i64 %14, 0 br i1 %15, label %16, label %24 16: ; preds = %3 %17 = load ptr, ptr %6, align 8, !tbaa !100 %18 = load i64, ptr %7, align 8, !tbaa !97 %19 = sub i64 0, %18 %20 = getelementptr inbounds i32, ptr %17, i64 %19 %21 = load ptr, ptr %4, align 8, !tbaa !100 %22 = load i64, ptr %7, align 8, !tbaa !97 %23 = mul i64 4, %22 call void @llvm.memmove.p0.p0.i64(ptr align 4 %20, ptr align 4 %21, i64 %23, i1 false) br label %24 24: ; preds = %16, %3 %25 = load ptr, ptr %6, align 8, !tbaa !100 %26 = load i64, ptr %7, align 8, !tbaa !97 %27 = sub i64 0, %26 %28 = getelementptr inbounds i32, ptr %25, i64 %27 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret ptr %28 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNK9__gnu_cxx5__ops14_Val_less_iterclIiNS_17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEbRT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 4 dereferenceable(4) %1, ptr %2) #1 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %2, ptr %7, align 8 store ptr %0, ptr %5, align 8, !tbaa !405 store ptr %1, ptr %6, align 8, !tbaa !100 %8 = load ptr, ptr %6, align 8, !tbaa !100 %9 = load i32, ptr %8, align 4, !tbaa !72 %10 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %11 = load i32, ptr %10, align 4, !tbaa !72 %12 = icmp slt i32 %9, %11 ret i1 %12 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE17_M_default_appendEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca i64, align 8 %6 = alloca i64, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i64, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 store ptr %0, ptr %3, align 8, !tbaa !68 store i64 %1, ptr %4, align 8, !tbaa !97 %13 = load ptr, ptr %3, align 8 %14 = load i64, ptr %4, align 8, !tbaa !97 %15 = icmp ne i64 %14, 0 br i1 %15, label %16, label %115 16: ; preds = %2 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %17 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 store i64 %17, ptr %5, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %19 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %18, i32 0, i32 2 %20 = load ptr, ptr %19, align 8, !tbaa !101 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %22 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %21, i32 0, i32 1 %23 = load ptr, ptr %22, align 8, !tbaa !82 %24 = ptrtoint ptr %20 to i64 %25 = ptrtoint ptr %23 to i64 %26 = sub i64 %24, %25 %27 = sdiv exact i64 %26, 4 store i64 %27, ptr %6, align 8, !tbaa !97 %28 = load i64, ptr %5, align 8, !tbaa !97 %29 = call noundef i64 @_ZNKSt6vectorIiSaIiEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 %30 = icmp ugt i64 %28, %29 br i1 %30, label %37, label %31 31: ; preds = %16 %32 = load i64, ptr %6, align 8, !tbaa !97 %33 = call noundef i64 @_ZNKSt6vectorIiSaIiEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 %34 = load i64, ptr %5, align 8, !tbaa !97 %35 = sub i64 %33, %34 %36 = icmp ugt i64 %32, %35 br i1 %36, label %37, label %38 37: ; preds = %31, %16 unreachable 38: ; preds = %31 %39 = load i64, ptr %6, align 8, !tbaa !97 %40 = load i64, ptr %4, align 8, !tbaa !97 %41 = icmp uge i64 %39, %40 br i1 %41, label %42, label %51 42: ; preds = %38 %43 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %44 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %43, i32 0, i32 1 %45 = load ptr, ptr %44, align 8, !tbaa !82 %46 = load i64, ptr %4, align 8, !tbaa !97 %47 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 %48 = call noundef ptr @_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E(ptr noundef %45, i64 noundef %46, ptr noundef nonnull align 1 dereferenceable(1) %47) %49 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %49, i32 0, i32 1 store ptr %48, ptr %50, align 8, !tbaa !82 br label %114 51: ; preds = %38 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %52 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %53 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %52, i32 0, i32 0 %54 = load ptr, ptr %53, align 8, !tbaa !81 store ptr %54, ptr %7, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %55 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %56 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %55, i32 0, i32 1 %57 = load ptr, ptr %56, align 8, !tbaa !82 store ptr %57, ptr %8, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %58 = load i64, ptr %4, align 8, !tbaa !97 %59 = call noundef i64 @_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %58, ptr noundef @.str.56) store i64 %59, ptr %9, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %60 = load i64, ptr %9, align 8, !tbaa !97 %61 = call noundef ptr @_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %60) store ptr %61, ptr %10, align 8, !tbaa !100 %62 = load ptr, ptr %10, align 8, !tbaa !100 %63 = load i64, ptr %5, align 8, !tbaa !97 %64 = getelementptr inbounds nuw i32, ptr %62, i64 %63 %65 = load i64, ptr %4, align 8, !tbaa !97 %66 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 %67 = invoke noundef ptr @_ZSt27__uninitialized_default_n_aIPimiET_S1_T0_RSaIT1_E(ptr noundef %64, i64 noundef %65, ptr noundef nonnull align 1 dereferenceable(1) %66) to label %68 unwind label %69 68: ; preds = %51 br label %84 69: ; preds = %51 %70 = landingpad { ptr, i32 } catch ptr null %71 = extractvalue { ptr, i32 } %70, 0 store ptr %71, ptr %11, align 8 %72 = extractvalue { ptr, i32 } %70, 1 store i32 %72, ptr %12, align 4 br label %73 73: ; preds = %69 %74 = load ptr, ptr %11, align 8 %75 = call ptr @__cxa_begin_catch(ptr %74) #18 %76 = load ptr, ptr %10, align 8, !tbaa !100 %77 = load i64, ptr %9, align 8, !tbaa !97 invoke void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef %76, i64 noundef %77) to label %78 unwind label %79 78: ; preds = %73 invoke void @__cxa_rethrow() #19 to label %124 unwind label %79 79: ; preds = %78, %73 %80 = landingpad { ptr, i32 } cleanup %81 = extractvalue { ptr, i32 } %80, 0 store ptr %81, ptr %11, align 8 %82 = extractvalue { ptr, i32 } %80, 1 store i32 %82, ptr %12, align 4 invoke void @__cxa_end_catch() to label %83 unwind label %121 83: ; preds = %79 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %116 84: ; preds = %68 %85 = load ptr, ptr %7, align 8, !tbaa !100 %86 = load ptr, ptr %8, align 8, !tbaa !100 %87 = load ptr, ptr %10, align 8, !tbaa !100 %88 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #18 %89 = call noundef ptr @_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_(ptr noundef %85, ptr noundef %86, ptr noundef %87, ptr noundef nonnull align 1 dereferenceable(1) %88) #18 %90 = load ptr, ptr %7, align 8, !tbaa !100 %91 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %92 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %91, i32 0, i32 2 %93 = load ptr, ptr %92, align 8, !tbaa !101 %94 = load ptr, ptr %7, align 8, !tbaa !100 %95 = ptrtoint ptr %93 to i64 %96 = ptrtoint ptr %94 to i64 %97 = sub i64 %95, %96 %98 = sdiv exact i64 %97, 4 call void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef %90, i64 noundef %98) %99 = load ptr, ptr %10, align 8, !tbaa !100 %100 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %101 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %100, i32 0, i32 0 store ptr %99, ptr %101, align 8, !tbaa !81 %102 = load ptr, ptr %10, align 8, !tbaa !100 %103 = load i64, ptr %5, align 8, !tbaa !97 %104 = getelementptr inbounds nuw i32, ptr %102, i64 %103 %105 = load i64, ptr %4, align 8, !tbaa !97 %106 = getelementptr inbounds nuw i32, ptr %104, i64 %105 %107 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %108 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %107, i32 0, i32 1 store ptr %106, ptr %108, align 8, !tbaa !82 %109 = load ptr, ptr %10, align 8, !tbaa !100 %110 = load i64, ptr %9, align 8, !tbaa !97 %111 = getelementptr inbounds nuw i32, ptr %109, i64 %110 %112 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %13, i32 0, i32 0 %113 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %112, i32 0, i32 2 store ptr %111, ptr %113, align 8, !tbaa !101 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %114 114: ; preds = %84, %42 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 br label %115 115: ; preds = %114, %2 ret void 116: ; preds = %83 %117 = load ptr, ptr %11, align 8 %118 = load i32, ptr %12, align 4 %119 = insertvalue { ptr, i32 } poison, ptr %117, 0 %120 = insertvalue { ptr, i32 } %119, i32 %118, 1 resume { ptr, i32 } %120 121: ; preds = %79 %122 = landingpad { ptr, i32 } catch ptr null %123 = extractvalue { ptr, i32 } %122, 0 call void @__clang_call_terminate(ptr %123) #20 unreachable 124: ; preds = %78 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE15_M_erase_at_endEPi(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !100 %6 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !82 %10 = load ptr, ptr %4, align 8, !tbaa !100 %11 = ptrtoint ptr %9 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 %14 = sdiv exact i64 %13, 4 store i64 %14, ptr %5, align 8, !tbaa !97 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ne i64 %15, 0 br i1 %16, label %17, label %27 17: ; preds = %2 %18 = load ptr, ptr %4, align 8, !tbaa !100 %19 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %19, i32 0, i32 1 %21 = load ptr, ptr %20, align 8, !tbaa !82 %22 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 invoke void @_ZSt8_DestroyIPiiEvT_S1_RSaIT0_E(ptr noundef %18, ptr noundef %21, ptr noundef nonnull align 1 dereferenceable(1) %22) to label %23 unwind label %28 23: ; preds = %17 %24 = load ptr, ptr %4, align 8, !tbaa !100 %25 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %26 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %25, i32 0, i32 1 store ptr %24, ptr %26, align 8, !tbaa !82 br label %27 27: ; preds = %23, %2 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret void 28: ; preds = %17 %29 = landingpad { ptr, i32 } catch ptr null %30 = extractvalue { ptr, i32 } %29, 0 call void @__clang_call_terminate(ptr %30) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #1 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !209 store ptr %1, ptr %4, align 8, !tbaa !209 %5 = load ptr, ptr %3, align 8, !tbaa !209 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %6, align 8, !tbaa !211 %8 = load ptr, ptr %4, align 8, !tbaa !209 %9 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !211 %11 = icmp eq ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE4findERS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %7 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 store ptr %0, ptr %4, align 8, !tbaa !250 store ptr %1, ptr %5, align 8, !tbaa !113 %8 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %9 = call noundef ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %10 = call noundef ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %11 = load ptr, ptr %5, align 8, !tbaa !113 %12 = call ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_(ptr noundef nonnull align 8 dereferenceable(48) %8, ptr noundef %9, ptr noundef %10, ptr noundef nonnull align 8 dereferenceable(32) %11) %13 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %6, i32 0, i32 0 store ptr %12, ptr %13, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %14 = call ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %15 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %7, i32 0, i32 0 store ptr %14, ptr %15, align 8 %16 = call noundef zeroext i1 @_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #18 br i1 %16, label %24, label %17 17: ; preds = %2 %18 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %8, i32 0, i32 0 %19 = load ptr, ptr %5, align 8, !tbaa !113 %20 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %6, i32 0, i32 0 %21 = load ptr, ptr %20, align 8, !tbaa !211 %22 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %21) %23 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %18, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %22) br i1 %23, label %24, label %27 24: ; preds = %17, %2 %25 = call ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %8) #18 %26 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %3, i32 0, i32 0 store ptr %25, ptr %26, align 8 br label %28 27: ; preds = %17 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !91 br label %28 28: ; preds = %27, %24 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %29 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %3, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 ret ptr %30 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !250 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPKSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %7) #18 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(32) %3) #0 comdat align 2 { %5 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !250 store ptr %1, ptr %7, align 8, !tbaa !284 store ptr %2, ptr %8, align 8, !tbaa !92 store ptr %3, ptr %9, align 8, !tbaa !113 %10 = load ptr, ptr %6, align 8 br label %11 11: ; preds = %27, %4 %12 = load ptr, ptr %7, align 8, !tbaa !284 %13 = icmp ne ptr %12, null br i1 %13, label %14, label %28 14: ; preds = %11 %15 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %10, i32 0, i32 0 %16 = load ptr, ptr %7, align 8, !tbaa !284 %17 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %16) %18 = load ptr, ptr %9, align 8, !tbaa !113 %19 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %18) br i1 %19, label %24, label %20 20: ; preds = %14 %21 = load ptr, ptr %7, align 8, !tbaa !284 store ptr %21, ptr %8, align 8, !tbaa !92 %22 = load ptr, ptr %7, align 8, !tbaa !284 %23 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base(ptr noundef %22) #18 store ptr %23, ptr %7, align 8, !tbaa !284 br label %27 24: ; preds = %14 %25 = load ptr, ptr %7, align 8, !tbaa !284 %26 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base(ptr noundef %25) #18 store ptr %26, ptr %7, align 8, !tbaa !284 br label %27 27: ; preds = %24, %20 br label %11, !llvm.loop !407 28: ; preds = %11 %29 = load ptr, ptr %8, align 8, !tbaa !92 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPKSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %29) #18 %30 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %5, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 ret ptr %31 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 1 %8 = load ptr, ptr %7, align 8, !tbaa !236 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 ret ptr %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !408 store ptr %1, ptr %5, align 8, !tbaa !113 store ptr %2, ptr %6, align 8, !tbaa !113 %7 = load ptr, ptr %5, align 8, !tbaa !113 %8 = load ptr, ptr %6, align 8, !tbaa !113 %9 = call noundef zeroext i1 @_ZStltIN5ezSAT4OpIdESt6vectorIiSaIiEEEbRKSt4pairIT_T0_ESA_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) ret i1 %9 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %3) ret ptr %4 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %0) #0 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"struct.std::_Select1st.63", align 1 store ptr %0, ptr %2, align 8, !tbaa !284 call void @llvm.lifetime.start.p0(i64 1, ptr %3) #18 %4 = load ptr, ptr %2, align 8, !tbaa !284 %5 = call noundef ptr @_ZNKSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %4) %6 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt10_Select1stISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEclERKS8_(ptr noundef nonnull align 1 dereferenceable(1) %3, ptr noundef nonnull align 8 dereferenceable(36) %5) call void @llvm.lifetime.end.p0(i64 1, ptr %3) #18 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 2 %5 = load ptr, ptr %4, align 8, !tbaa !288 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base(ptr noundef %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %3, i32 0, i32 3 %5 = load ptr, ptr %4, align 8, !tbaa !287 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPKSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !209 store ptr %1, ptr %4, align 8, !tbaa !92 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !92 store ptr %7, ptr %6, align 8, !tbaa !211 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt10_Select1stISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEclERKS8_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 8 dereferenceable(36) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !410 store ptr %1, ptr %4, align 8, !tbaa !198 %5 = load ptr, ptr %4, align 8, !tbaa !198 %6 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %5, i32 0, i32 0 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !284 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node", ptr %3, i32 0, i32 1 %5 = call noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE6_M_ptrEv(ptr noundef nonnull align 8 dereferenceable(40) %4) #18 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE6_M_ptrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !289 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE7_M_addrEv(ptr noundef nonnull align 8 dereferenceable(40) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE7_M_addrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !289 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.__gnu_cxx::__aligned_membuf", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZStltIN5ezSAT4OpIdESt6vectorIiSaIiEEEbRKSt4pairIT_T0_ESA_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !113 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %3, align 8, !tbaa !113 %6 = getelementptr inbounds nuw %"struct.std::pair", ptr %5, i32 0, i32 0 %7 = load i32, ptr %6, align 8, !tbaa !115 %8 = load ptr, ptr %4, align 8, !tbaa !113 %9 = getelementptr inbounds nuw %"struct.std::pair", ptr %8, i32 0, i32 0 %10 = load i32, ptr %9, align 8, !tbaa !115 %11 = icmp slt i32 %7, %10 br i1 %11, label %28, label %12 12: ; preds = %2 %13 = load ptr, ptr %4, align 8, !tbaa !113 %14 = getelementptr inbounds nuw %"struct.std::pair", ptr %13, i32 0, i32 0 %15 = load i32, ptr %14, align 8, !tbaa !115 %16 = load ptr, ptr %3, align 8, !tbaa !113 %17 = getelementptr inbounds nuw %"struct.std::pair", ptr %16, i32 0, i32 0 %18 = load i32, ptr %17, align 8, !tbaa !115 %19 = icmp slt i32 %15, %18 br i1 %19, label %26, label %20 20: ; preds = %12 %21 = load ptr, ptr %3, align 8, !tbaa !113 %22 = getelementptr inbounds nuw %"struct.std::pair", ptr %21, i32 0, i32 1 %23 = load ptr, ptr %4, align 8, !tbaa !113 %24 = getelementptr inbounds nuw %"struct.std::pair", ptr %23, i32 0, i32 1 %25 = call noundef zeroext i1 @_ZStltIiSaIiEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %24) br label %26 26: ; preds = %20, %12 %27 = phi i1 [ false, %12 ], [ %25, %20 ] br label %28 28: ; preds = %26, %2 %29 = phi i1 [ true, %2 ], [ %27, %26 ] ret i1 %29 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZStltIiSaIiEEbRKSt6vectorIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %9 = load ptr, ptr %3, align 8, !tbaa !68 %10 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %10, ptr %11, align 8 %12 = load ptr, ptr %3, align 8, !tbaa !68 %13 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #18 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %13, ptr %14, align 8 %15 = load ptr, ptr %4, align 8, !tbaa !68 %16 = call ptr @_ZNKSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 store ptr %16, ptr %17, align 8 %18 = load ptr, ptr %4, align 8, !tbaa !68 %19 = call ptr @_ZNKSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #18 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %19, ptr %20, align 8 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 %24 = load ptr, ptr %23, align 8 %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 %26 = load ptr, ptr %25, align 8 %27 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 %28 = load ptr, ptr %27, align 8 %29 = call noundef zeroext i1 @_ZSt23lexicographical_compareIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_EbT_S8_T0_S9_(ptr %22, ptr %24, ptr %26, ptr %28) ret i1 %29 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZSt23lexicographical_compareIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_EbT_S8_T0_S9_(ptr %0, ptr %1, ptr %2, ptr %3) #5 comdat { %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %0, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %1, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 store ptr %2, ptr %15, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %3, ptr %16, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !106 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %18 = load ptr, ptr %17, align 8 %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %20 = load ptr, ptr %19, align 8 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %11, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %12, i32 0, i32 0 %24 = load ptr, ptr %23, align 8 %25 = call noundef zeroext i1 @_ZSt29__lexicographical_compare_auxIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_EbT_S8_T0_S9_(ptr %18, ptr %20, ptr %22, ptr %24) ret i1 %25 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZSt29__lexicographical_compare_auxIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_EbT_S8_T0_S9_(ptr %0, ptr %1, ptr %2, ptr %3) #5 comdat { %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %0, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %1, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 store ptr %2, ptr %15, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %3, ptr %16, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %18 = load ptr, ptr %17, align 8 %19 = call noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %18) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = call noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %21) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %11, i32 0, i32 0 %24 = load ptr, ptr %23, align 8 %25 = call noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %24) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !106 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %12, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = call noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %27) #18 %29 = call noundef zeroext i1 @_ZSt30__lexicographical_compare_aux1IPKiS1_EbT_S2_T0_S3_(ptr noundef %19, ptr noundef %22, ptr noundef %25, ptr noundef %28) ret i1 %29 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZSt30__lexicographical_compare_aux1IPKiS1_EbT_S2_T0_S3_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) #5 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i8, align 1 store ptr %0, ptr %5, align 8, !tbaa !100 store ptr %1, ptr %6, align 8, !tbaa !100 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 1, ptr %9) #18 store i8 0, ptr %9, align 1, !tbaa !87 %10 = load ptr, ptr %5, align 8, !tbaa !100 %11 = load ptr, ptr %6, align 8, !tbaa !100 %12 = load ptr, ptr %7, align 8, !tbaa !100 %13 = load ptr, ptr %8, align 8, !tbaa !100 %14 = call noundef zeroext i1 @_ZNSt25__lexicographical_compareILb0EE4__lcIPKiS3_EEbT_S4_T0_S5_(ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef %13) call void @llvm.lifetime.end.p0(i64 1, ptr %9) #18 ret i1 %14 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZNSt25__lexicographical_compareILb0EE4__lcIPKiS3_EEbT_S4_T0_S5_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) #0 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !100 store ptr %1, ptr %6, align 8, !tbaa !100 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !100 %9 = load ptr, ptr %5, align 8, !tbaa !100 %10 = load ptr, ptr %6, align 8, !tbaa !100 %11 = load ptr, ptr %7, align 8, !tbaa !100 %12 = load ptr, ptr %8, align 8, !tbaa !100 call void @_ZN9__gnu_cxx5__ops16__iter_less_iterEv() %13 = call noundef zeroext i1 @_ZSt30__lexicographical_compare_implIPKiS1_N9__gnu_cxx5__ops15_Iter_less_iterEEbT_S5_T0_S6_T1_(ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef %12) ret i1 %13 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZSt30__lexicographical_compare_implIPKiS1_N9__gnu_cxx5__ops15_Iter_less_iterEEbT_S5_T0_S6_T1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) #0 comdat { %5 = alloca i1, align 1 %6 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 store ptr %0, ptr %7, align 8, !tbaa !100 store ptr %1, ptr %8, align 8, !tbaa !100 store ptr %2, ptr %9, align 8, !tbaa !100 store ptr %3, ptr %10, align 8, !tbaa !100 %11 = load ptr, ptr %7, align 8, !tbaa !100 %12 = load ptr, ptr %8, align 8, !tbaa !100 %13 = load ptr, ptr %9, align 8, !tbaa !100 %14 = load ptr, ptr %10, align 8, !tbaa !100 %15 = call noundef ptr @_ZNSt8__lc_raiISt26random_access_iterator_tagS0_E10__newlast1IPKiS4_EET_S5_S5_T0_S6_(ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %14) store ptr %15, ptr %8, align 8, !tbaa !100 br label %16 16: ; preds = %37, %4 %17 = load ptr, ptr %7, align 8, !tbaa !100 %18 = load ptr, ptr %8, align 8, !tbaa !100 %19 = icmp ne ptr %17, %18 br i1 %19, label %20, label %24 20: ; preds = %16 %21 = load ptr, ptr %9, align 8, !tbaa !100 %22 = load ptr, ptr %10, align 8, !tbaa !100 %23 = call noundef zeroext i1 @_ZNSt8__lc_raiISt26random_access_iterator_tagS0_E6__cnd2IPKiEEbT_S5_(ptr noundef %21, ptr noundef %22) br label %24 24: ; preds = %20, %16 %25 = phi i1 [ false, %16 ], [ %23, %20 ] br i1 %25, label %26, label %42 26: ; preds = %24 %27 = load ptr, ptr %7, align 8, !tbaa !100 %28 = load ptr, ptr %9, align 8, !tbaa !100 %29 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclIPKiS4_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %27, ptr noundef %28) br i1 %29, label %30, label %31 30: ; preds = %26 store i1 true, ptr %5, align 1 br label %52 31: ; preds = %26 %32 = load ptr, ptr %9, align 8, !tbaa !100 %33 = load ptr, ptr %7, align 8, !tbaa !100 %34 = call noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclIPKiS4_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %6, ptr noundef %32, ptr noundef %33) br i1 %34, label %35, label %36 35: ; preds = %31 store i1 false, ptr %5, align 1 br label %52 36: ; preds = %31 br label %37 37: ; preds = %36 %38 = load ptr, ptr %7, align 8, !tbaa !100 %39 = getelementptr inbounds nuw i32, ptr %38, i32 1 store ptr %39, ptr %7, align 8, !tbaa !100 %40 = load ptr, ptr %9, align 8, !tbaa !100 %41 = getelementptr inbounds nuw i32, ptr %40, i32 1 store ptr %41, ptr %9, align 8, !tbaa !100 br label %16, !llvm.loop !412 42: ; preds = %24 %43 = load ptr, ptr %7, align 8, !tbaa !100 %44 = load ptr, ptr %8, align 8, !tbaa !100 %45 = icmp eq ptr %43, %44 br i1 %45, label %46, label %50 46: ; preds = %42 %47 = load ptr, ptr %9, align 8, !tbaa !100 %48 = load ptr, ptr %10, align 8, !tbaa !100 %49 = icmp ne ptr %47, %48 br label %50 50: ; preds = %46, %42 %51 = phi i1 [ false, %42 ], [ %49, %46 ] store i1 %51, ptr %5, align 1 br label %52 52: ; preds = %50, %35, %30 %53 = load i1, ptr %5, align 1 ret i1 %53 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8__lc_raiISt26random_access_iterator_tagS0_E10__newlast1IPKiS4_EET_S5_S5_T0_S6_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) #1 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i64, align 8 %10 = alloca i64, align 8 store ptr %0, ptr %5, align 8, !tbaa !100 store ptr %1, ptr %6, align 8, !tbaa !100 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %11 = load ptr, ptr %6, align 8, !tbaa !100 %12 = load ptr, ptr %5, align 8, !tbaa !100 %13 = ptrtoint ptr %11 to i64 %14 = ptrtoint ptr %12 to i64 %15 = sub i64 %13, %14 %16 = sdiv exact i64 %15, 4 store i64 %16, ptr %9, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %17 = load ptr, ptr %8, align 8, !tbaa !100 %18 = load ptr, ptr %7, align 8, !tbaa !100 %19 = ptrtoint ptr %17 to i64 %20 = ptrtoint ptr %18 to i64 %21 = sub i64 %19, %20 %22 = sdiv exact i64 %21, 4 store i64 %22, ptr %10, align 8, !tbaa !97 %23 = load i64, ptr %10, align 8, !tbaa !97 %24 = load i64, ptr %9, align 8, !tbaa !97 %25 = icmp slt i64 %23, %24 br i1 %25, label %26, label %30 26: ; preds = %4 %27 = load ptr, ptr %5, align 8, !tbaa !100 %28 = load i64, ptr %10, align 8, !tbaa !97 %29 = getelementptr inbounds i32, ptr %27, i64 %28 br label %32 30: ; preds = %4 %31 = load ptr, ptr %6, align 8, !tbaa !100 br label %32 32: ; preds = %30, %26 %33 = phi ptr [ %29, %26 ], [ %31, %30 ] call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %33 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNSt8__lc_raiISt26random_access_iterator_tagS0_E6__cnd2IPKiEEbT_S5_(ptr noundef %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !100 store ptr %1, ptr %4, align 8, !tbaa !100 ret i1 true } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNK9__gnu_cxx5__ops15_Iter_less_iterclIPKiS4_EEbT_T0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !391 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %5, align 8, !tbaa !100 %8 = load i32, ptr %7, align 4, !tbaa !72 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = load i32, ptr %9, align 4, !tbaa !72 %11 = icmp slt i32 %8, %10 ret i1 %11 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE11lower_boundERS9_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !64 store ptr %1, ptr %5, align 8, !tbaa !113 %6 = load ptr, ptr %4, align 8 %7 = getelementptr inbounds nuw %"class.std::map.3", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %5, align 8, !tbaa !113 %9 = call ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11lower_boundERS7_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 store ptr %9, ptr %10, align 8 %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 ret ptr %12 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #1 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !413 store ptr %1, ptr %4, align 8, !tbaa !413 %5 = load ptr, ptr %3, align 8, !tbaa !413 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %6, align 8, !tbaa !415 %8 = load ptr, ptr %4, align 8, !tbaa !413 %9 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !415 %11 = icmp eq ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !64 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::map.3", ptr %4, i32 0, i32 0 %6 = call ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %2, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNKSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !64 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map.3", ptr %3, i32 0, i32 0 call void @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %4) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(36) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !413 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !415 %6 = call noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %5) ret ptr %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11lower_boundERS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !250 store ptr %1, ptr %5, align 8, !tbaa !113 %6 = load ptr, ptr %4, align 8 %7 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 %8 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 %9 = load ptr, ptr %5, align 8, !tbaa !113 %10 = call ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(32) %9) %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 store ptr %10, ptr %11, align 8 %12 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 ret ptr %13 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(32) %3) #0 comdat align 2 { %5 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !250 store ptr %1, ptr %7, align 8, !tbaa !284 store ptr %2, ptr %8, align 8, !tbaa !92 store ptr %3, ptr %9, align 8, !tbaa !113 %10 = load ptr, ptr %6, align 8 br label %11 11: ; preds = %27, %4 %12 = load ptr, ptr %7, align 8, !tbaa !284 %13 = icmp ne ptr %12, null br i1 %13, label %14, label %28 14: ; preds = %11 %15 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %10, i32 0, i32 0 %16 = load ptr, ptr %7, align 8, !tbaa !284 %17 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %16) %18 = load ptr, ptr %9, align 8, !tbaa !113 %19 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %18) br i1 %19, label %24, label %20 20: ; preds = %14 %21 = load ptr, ptr %7, align 8, !tbaa !284 store ptr %21, ptr %8, align 8, !tbaa !92 %22 = load ptr, ptr %7, align 8, !tbaa !284 %23 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %22) #18 store ptr %23, ptr %7, align 8, !tbaa !284 br label %27 24: ; preds = %14 %25 = load ptr, ptr %7, align 8, !tbaa !284 %26 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %25) #18 store ptr %26, ptr %7, align 8, !tbaa !284 br label %27 27: ; preds = %24, %20 br label %11, !llvm.loop !417 28: ; preds = %11 %29 = load ptr, ptr %8, align 8, !tbaa !92 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %29) #18 %30 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %5, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 ret ptr %31 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !413 store ptr %1, ptr %4, align 8, !tbaa !92 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !92 store ptr %7, ptr %6, align 8, !tbaa !415 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !250 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %7) #18 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %6 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %7 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", align 8 %13 = alloca %"struct.std::pair.60", align 8 %14 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %15 = alloca ptr, align 8 %16 = alloca i32, align 4 %17 = alloca %"struct.std::pair.60", align 8 %18 = alloca i32, align 4 %19 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %7, i32 0, i32 0 store ptr %1, ptr %19, align 8 store ptr %0, ptr %8, align 8, !tbaa !250 store ptr %2, ptr %9, align 8, !tbaa !360 store ptr %3, ptr %10, align 8, !tbaa !418 store ptr %4, ptr %11, align 8, !tbaa !364 %20 = load ptr, ptr %8, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr %12) #18 %21 = load ptr, ptr %9, align 8, !tbaa !360 %22 = load ptr, ptr %10, align 8, !tbaa !418 %23 = load ptr, ptr %11, align 8, !tbaa !364 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef nonnull align 1 dereferenceable(1) %21, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 1 dereferenceable(1) %23) call void @llvm.lifetime.start.p0(i64 16, ptr %13) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !91 %24 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_node6_M_keyEv(ptr noundef nonnull align 8 dereferenceable(16) %12) to label %25 unwind label %45 25: ; preds = %5 %26 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %14, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = invoke { ptr, ptr } @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_(ptr noundef nonnull align 8 dereferenceable(48) %20, ptr %27, ptr noundef nonnull align 8 dereferenceable(32) %24) to label %29 unwind label %45 29: ; preds = %25 %30 = getelementptr inbounds nuw { ptr, ptr }, ptr %13, i32 0, i32 0 %31 = extractvalue { ptr, ptr } %28, 0 store ptr %31, ptr %30, align 8 %32 = getelementptr inbounds nuw { ptr, ptr }, ptr %13, i32 0, i32 1 %33 = extractvalue { ptr, ptr } %28, 1 store ptr %33, ptr %32, align 8 %34 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %13, i32 0, i32 1 %35 = load ptr, ptr %34, align 8, !tbaa !366 %36 = icmp ne ptr %35, null br i1 %36, label %37, label %49 37: ; preds = %29 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %13, i64 16, i1 false) %38 = getelementptr inbounds nuw { ptr, ptr }, ptr %17, i32 0, i32 0 %39 = load ptr, ptr %38, align 8 %40 = getelementptr inbounds nuw { ptr, ptr }, ptr %17, i32 0, i32 1 %41 = load ptr, ptr %40, align 8 %42 = invoke ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_node9_M_insertES0_IPSt18_Rb_tree_node_baseSH_E(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr %39, ptr %41) to label %43 unwind label %45 43: ; preds = %37 %44 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %6, i32 0, i32 0 store ptr %42, ptr %44, align 8 store i32 1, ptr %18, align 4 br label %52 45: ; preds = %37, %25, %5 %46 = landingpad { ptr, i32 } cleanup %47 = extractvalue { ptr, i32 } %46, 0 store ptr %47, ptr %15, align 8 %48 = extractvalue { ptr, i32 } %46, 1 store i32 %48, ptr %16, align 4 call void @llvm.lifetime.end.p0(i64 16, ptr %13) #18 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %12) #18 br label %55 49: ; preds = %29 %50 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %13, i32 0, i32 0 %51 = load ptr, ptr %50, align 8, !tbaa !368 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef %51) #18 store i32 1, ptr %18, align 4 br label %52 52: ; preds = %49, %43 call void @llvm.lifetime.end.p0(i64 16, ptr %13) #18 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %12) #18 %53 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %6, i32 0, i32 0 %54 = load ptr, ptr %53, align 8 ret ptr %54 55: ; preds = %45 %56 = load ptr, ptr %15, align 8 %57 = load i32, ptr %16, align 4 %58 = insertvalue { ptr, i32 } poison, ptr %56, 0 %59 = insertvalue { ptr, i32 } %58, i32 %57, 1 resume { ptr, i32 } %59 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2ERKSt17_Rb_tree_iteratorIS8_E(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !209 store ptr %1, ptr %4, align 8, !tbaa !413 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !413 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !415 store ptr %9, ptr %6, align 8, !tbaa !211 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt5tupleIJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS8_EEEbE4typeELb1EEES8_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !418 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !113 invoke void @_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2ES8_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) to label %7 unwind label %8 7: ; preds = %2 ret void 8: ; preds = %2 %9 = landingpad { ptr, i32 } catch ptr null %10 = extractvalue { ptr, i32 } %9, 0 call void @__clang_call_terminate(ptr %10) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) unnamed_addr #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !420 store ptr %1, ptr %7, align 8, !tbaa !250 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !418 store ptr %4, ptr %10, align 8, !tbaa !364 %11 = load ptr, ptr %6, align 8 %12 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %11, i32 0, i32 0 %13 = load ptr, ptr %7, align 8, !tbaa !250 store ptr %13, ptr %12, align 8, !tbaa !250 %14 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %11, i32 0, i32 1 %15 = load ptr, ptr %7, align 8, !tbaa !250 %16 = load ptr, ptr %8, align 8, !tbaa !360 %17 = load ptr, ptr %9, align 8, !tbaa !418 %18 = load ptr, ptr %10, align 8, !tbaa !364 %19 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %15, ptr noundef nonnull align 1 dereferenceable(1) %16, ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 1 dereferenceable(1) %18) store ptr %19, ptr %14, align 8, !tbaa !422 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 { %4 = alloca %"struct.std::pair.60", align 8 %5 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %12 = alloca ptr, align 8 %13 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %14 = alloca ptr, align 8 %15 = alloca ptr, align 8 %16 = alloca ptr, align 8 %17 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %5, i32 0, i32 0 store ptr %1, ptr %17, align 8 store ptr %0, ptr %6, align 8, !tbaa !250 store ptr %2, ptr %7, align 8, !tbaa !113 %18 = load ptr, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = call ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE13_M_const_castEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %20 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 store ptr %19, ptr %20, align 8 %21 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 %22 = load ptr, ptr %21, align 8, !tbaa !415 %23 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %24 = icmp eq ptr %22, %23 br i1 %24, label %25, label %44 25: ; preds = %3 %26 = call noundef i64 @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %27 = icmp ugt i64 %26, 0 br i1 %27, label %28, label %37 28: ; preds = %25 %29 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %18, i32 0, i32 0 %30 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %31 = load ptr, ptr %30, align 8, !tbaa !92 %32 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %31) %33 = load ptr, ptr %7, align 8, !tbaa !113 %34 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %29, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %33) br i1 %34, label %35, label %37 35: ; preds = %28 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 store ptr null, ptr %9, align 8, !tbaa !92 %36 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %36) call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 store i32 1, ptr %10, align 4 br label %129 37: ; preds = %28, %25 %38 = load ptr, ptr %7, align 8, !tbaa !113 %39 = call { ptr, ptr } @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE24_M_get_insert_unique_posERS7_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %38) %40 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %41 = extractvalue { ptr, ptr } %39, 0 store ptr %41, ptr %40, align 8 %42 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %43 = extractvalue { ptr, ptr } %39, 1 store ptr %43, ptr %42, align 8 store i32 1, ptr %10, align 4 br label %129 44: ; preds = %3 %45 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %18, i32 0, i32 0 %46 = load ptr, ptr %7, align 8, !tbaa !113 %47 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 %48 = load ptr, ptr %47, align 8, !tbaa !415 %49 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %48) %50 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(32) %49) br i1 %50, label %51, label %86 51: ; preds = %44 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 %52 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 %53 = load ptr, ptr %52, align 8, !tbaa !415 %54 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %55 = load ptr, ptr %54, align 8, !tbaa !92 %56 = icmp eq ptr %53, %55 br i1 %56, label %57, label %60 57: ; preds = %51 %58 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) store i32 1, ptr %10, align 4 br label %85 60: ; preds = %51 %61 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %18, i32 0, i32 0 %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #18 %63 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %62, i32 0, i32 0 %64 = load ptr, ptr %63, align 8, !tbaa !415 %65 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %64) %66 = load ptr, ptr %7, align 8, !tbaa !113 %67 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %66) br i1 %67, label %68, label %78 68: ; preds = %60 %69 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %11, i32 0, i32 0 %70 = load ptr, ptr %69, align 8, !tbaa !415 %71 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %70) #18 %72 = icmp eq ptr %71, null br i1 %72, label %73, label %75 73: ; preds = %68 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 store ptr null, ptr %12, align 8, !tbaa !92 %74 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %11, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %74) call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 store i32 1, ptr %10, align 4 br label %85 75: ; preds = %68 %76 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 %77 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(8) %77) store i32 1, ptr %10, align 4 br label %85 78: ; preds = %60 %79 = load ptr, ptr %7, align 8, !tbaa !113 %80 = call { ptr, ptr } @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE24_M_get_insert_unique_posERS7_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %79) %81 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %82 = extractvalue { ptr, ptr } %80, 0 store ptr %82, ptr %81, align 8 %83 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %84 = extractvalue { ptr, ptr } %80, 1 store ptr %84, ptr %83, align 8 store i32 1, ptr %10, align 4 br label %85 85: ; preds = %78, %75, %73, %57 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 br label %129 86: ; preds = %44 %87 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %18, i32 0, i32 0 %88 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 %89 = load ptr, ptr %88, align 8, !tbaa !415 %90 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %89) %91 = load ptr, ptr %7, align 8, !tbaa !113 %92 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %87, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %91) br i1 %92, label %93, label %127 93: ; preds = %86 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 %94 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 %95 = load ptr, ptr %94, align 8, !tbaa !415 %96 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %97 = load ptr, ptr %96, align 8, !tbaa !92 %98 = icmp eq ptr %95, %97 br i1 %98, label %99, label %101 99: ; preds = %93 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 store ptr null, ptr %14, align 8, !tbaa !92 %100 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %100) call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 store i32 1, ptr %10, align 4 br label %126 101: ; preds = %93 %102 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %18, i32 0, i32 0 %103 = load ptr, ptr %7, align 8, !tbaa !113 %104 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %13) #18 %105 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %104, i32 0, i32 0 %106 = load ptr, ptr %105, align 8, !tbaa !415 %107 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %106) %108 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %102, ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %107) br i1 %108, label %109, label %119 109: ; preds = %101 %110 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 %111 = load ptr, ptr %110, align 8, !tbaa !415 %112 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %111) #18 %113 = icmp eq ptr %112, null br i1 %113, label %114, label %116 114: ; preds = %109 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 store ptr null, ptr %15, align 8, !tbaa !92 %115 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %115) call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 store i32 1, ptr %10, align 4 br label %126 116: ; preds = %109 %117 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %13, i32 0, i32 0 %118 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %13, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef nonnull align 8 dereferenceable(8) %118) store i32 1, ptr %10, align 4 br label %126 119: ; preds = %101 %120 = load ptr, ptr %7, align 8, !tbaa !113 %121 = call { ptr, ptr } @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE24_M_get_insert_unique_posERS7_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(32) %120) %122 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %123 = extractvalue { ptr, ptr } %121, 0 store ptr %123, ptr %122, align 8 %124 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %125 = extractvalue { ptr, ptr } %121, 1 store ptr %125, ptr %124, align 8 store i32 1, ptr %10, align 4 br label %126 126: ; preds = %119, %116, %114, %99 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 br label %129 127: ; preds = %86 %128 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %8, i32 0, i32 0 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 store ptr null, ptr %16, align 8, !tbaa !92 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %128, ptr noundef nonnull align 8 dereferenceable(8) %16) call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 store i32 1, ptr %10, align 4 br label %129 129: ; preds = %127, %126, %85, %37, %35 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 %130 = load { ptr, ptr }, ptr %4, align 8 ret { ptr, ptr } %130 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_node6_M_keyEv(ptr noundef nonnull align 8 dereferenceable(16) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !420 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %3, i32 0, i32 1 %5 = load ptr, ptr %4, align 8, !tbaa !422 %6 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %5) ret ptr %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_node9_M_insertES0_IPSt18_Rb_tree_node_baseSH_E(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr %1, ptr %2) #0 comdat align 2 { %4 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %5 = alloca %"struct.std::pair.60", align 8 %6 = alloca ptr, align 8 %7 = getelementptr inbounds nuw { ptr, ptr }, ptr %5, i32 0, i32 0 store ptr %1, ptr %7, align 8 %8 = getelementptr inbounds nuw { ptr, ptr }, ptr %5, i32 0, i32 1 store ptr %2, ptr %8, align 8 store ptr %0, ptr %6, align 8, !tbaa !420 %9 = load ptr, ptr %6, align 8 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %9, i32 0, i32 0 %11 = load ptr, ptr %10, align 8, !tbaa !424 %12 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %5, i32 0, i32 0 %13 = load ptr, ptr %12, align 8, !tbaa !368 %14 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %5, i32 0, i32 1 %15 = load ptr, ptr %14, align 8, !tbaa !366 %16 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %9, i32 0, i32 1 %17 = load ptr, ptr %16, align 8, !tbaa !422 %18 = call ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %11, ptr noundef %13, ptr noundef %15, ptr noundef %17) %19 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %4, i32 0, i32 0 store ptr %18, ptr %19, align 8 %20 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %9, i32 0, i32 1 store ptr null, ptr %20, align 8, !tbaa !422 %21 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %4, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 ret ptr %22 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !420 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %3, i32 0, i32 1 %5 = load ptr, ptr %4, align 8, !tbaa !422 %6 = icmp ne ptr %5, null br i1 %6, label %7, label %12 7: ; preds = %1 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %3, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !424 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree>, std::pair>, int>, std::_Select1st>, int>>, std::less>>>::_Auto_node", ptr %3, i32 0, i32 1 %11 = load ptr, ptr %10, align 8, !tbaa !422 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef %11) #18 br label %12 12: ; preds = %7, %1 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #0 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !250 store ptr %1, ptr %6, align 8, !tbaa !360 store ptr %2, ptr %7, align 8, !tbaa !418 store ptr %3, ptr %8, align 8, !tbaa !364 %10 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %11 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_get_nodeEv(ptr noundef nonnull align 8 dereferenceable(48) %10) store ptr %11, ptr %9, align 8, !tbaa !284 %12 = load ptr, ptr %9, align 8, !tbaa !284 %13 = load ptr, ptr %6, align 8, !tbaa !360 %14 = load ptr, ptr %7, align 8, !tbaa !418 %15 = load ptr, ptr %8, align 8, !tbaa !364 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 1 dereferenceable(1) %15) %16 = load ptr, ptr %9, align 8, !tbaa !284 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %16 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_get_nodeEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 %5 = call noundef ptr @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE8allocateERSB_m(ptr noundef nonnull align 1 dereferenceable(1) %4, i64 noundef 1) ret ptr %5 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 store ptr %0, ptr %6, align 8, !tbaa !250 store ptr %1, ptr %7, align 8, !tbaa !284 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !418 store ptr %4, ptr %10, align 8, !tbaa !364 %13 = load ptr, ptr %6, align 8 %14 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 %15 = load ptr, ptr %7, align 8, !tbaa !284 %16 = call noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(72) %15) %17 = load ptr, ptr %8, align 8, !tbaa !360 %18 = load ptr, ptr %9, align 8, !tbaa !418 %19 = load ptr, ptr %10, align 8, !tbaa !364 invoke void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESH_IJEEEEEvRSB_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %14, ptr noundef %16, ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 1 dereferenceable(1) %19) to label %20 unwind label %21 20: ; preds = %5 br label %34 21: ; preds = %5 %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 store ptr %23, ptr %11, align 8 %24 = extractvalue { ptr, i32 } %22, 1 store i32 %24, ptr %12, align 4 br label %25 25: ; preds = %21 %26 = load ptr, ptr %11, align 8 %27 = call ptr @__cxa_begin_catch(ptr %26) #18 %28 = load ptr, ptr %7, align 8, !tbaa !284 call void @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef %28) #18 invoke void @__cxa_rethrow() #19 to label %43 unwind label %29 29: ; preds = %25 %30 = landingpad { ptr, i32 } cleanup %31 = extractvalue { ptr, i32 } %30, 0 store ptr %31, ptr %11, align 8 %32 = extractvalue { ptr, i32 } %30, 1 store i32 %32, ptr %12, align 4 invoke void @__cxa_end_catch() to label %33 unwind label %40 33: ; preds = %29 br label %35 34: ; preds = %20 ret void 35: ; preds = %33 %36 = load ptr, ptr %11, align 8 %37 = load i32, ptr %12, align 4 %38 = insertvalue { ptr, i32 } poison, ptr %36, 0 %39 = insertvalue { ptr, i32 } %38, i32 %37, 1 resume { ptr, i32 } %39 40: ; preds = %29 %41 = landingpad { ptr, i32 } catch ptr null %42 = extractvalue { ptr, i32 } %41, 0 call void @__clang_call_terminate(ptr %42) #20 unreachable 43: ; preds = %25 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE8allocateERSB_m(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !254 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8, !tbaa !254 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef ptr @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %5, i64 noundef %6, ptr noundef null) ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !258 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !114 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #18 %10 = icmp ugt i64 %8, %9 %11 = zext i1 %10 to i64 %12 = call i64 @llvm.expect.i64(i64 %11, i64 0) %13 = icmp ne i64 %12, 0 br i1 %13, label %14, label %19 14: ; preds = %3 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 256204778801521550 br i1 %16, label %17, label %18 17: ; preds = %14 call void @_ZSt28__throw_bad_array_new_lengthv() #19 unreachable 18: ; preds = %14 call void @_ZSt17__throw_bad_allocv() #19 unreachable 19: ; preds = %3 %20 = load i64, ptr %5, align 8, !tbaa !97 %21 = mul i64 %20, 72 %22 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %21) #23 ret ptr %22 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !258 ret i64 128102389400760775 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESH_IJEEEEEvRSB_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !254 store ptr %1, ptr %7, align 8, !tbaa !198 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !418 store ptr %4, ptr %10, align 8, !tbaa !364 %11 = load ptr, ptr %6, align 8, !tbaa !254 %12 = load ptr, ptr %7, align 8, !tbaa !198 %13 = load ptr, ptr %8, align 8, !tbaa !360 %14 = load ptr, ptr %9, align 8, !tbaa !418 %15 = load ptr, ptr %10, align 8, !tbaa !364 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESG_IJEEEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %11, ptr noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 1 dereferenceable(1) %15) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE9constructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS8_EESG_IJEEEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca %"class.std::tuple.66", align 8 store ptr %0, ptr %6, align 8, !tbaa !258 store ptr %1, ptr %7, align 8, !tbaa !198 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !418 store ptr %4, ptr %10, align 8, !tbaa !364 %12 = load ptr, ptr %7, align 8, !tbaa !198 %13 = load ptr, ptr %9, align 8, !tbaa !418 call void @_ZNSt5tupleIJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2EOS9_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %13) #18 call void @_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEC2IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(36) %12, ptr noundef %11) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt5tupleIJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2EOS9_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !418 store ptr %1, ptr %4, align 8, !tbaa !418 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !418 call void @_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2EOS9_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEC2IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(36) %0, ptr noundef %1) unnamed_addr #5 comdat align 2 { %3 = alloca %"class.std::tuple.59", align 1 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !198 store ptr %1, ptr %5, align 8, !tbaa !418 %6 = load ptr, ptr %4, align 8 call void @_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEC2IJRS6_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(36) %6, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 1 dereferenceable(1) %3) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2EOS9_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !425 store ptr %1, ptr %4, align 8, !tbaa !425 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !425 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !427 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZNSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEC2IJRS6_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE(ptr noundef nonnull align 8 dereferenceable(36) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #5 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !198 store ptr %1, ptr %5, align 8, !tbaa !418 store ptr %2, ptr %6, align 8, !tbaa !364 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !418 %10 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSD_(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 call void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %10) %11 = getelementptr inbounds nuw %"struct.std::pair.43", ptr %7, i32 0, i32 1 store i32 0, ptr %11, align 8, !tbaa !200 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSD_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !418 %3 = load ptr, ptr %2, align 8, !tbaa !418 %4 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt12__get_helperILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEJEERT0_RSt11_Tuple_implIXT_EJS9_DpT1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !113 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::pair", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !113 %8 = getelementptr inbounds nuw %"struct.std::pair", ptr %7, i32 0, i32 0 %9 = load i32, ptr %8, align 8, !tbaa !115 store i32 %9, ptr %6, align 8, !tbaa !115 %10 = getelementptr inbounds nuw %"struct.std::pair", ptr %5, i32 0, i32 1 %11 = load ptr, ptr %4, align 8, !tbaa !113 %12 = getelementptr inbounds nuw %"struct.std::pair", ptr %11, i32 0, i32 1 call void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %12) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZSt12__get_helperILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEJEERT0_RSt11_Tuple_implIXT_EJS9_DpT1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !425 %3 = load ptr, ptr %2, align 8, !tbaa !425 %4 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE7_M_headERS9_(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE7_M_headERS9_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !425 %3 = load ptr, ptr %2, align 8, !tbaa !425 %4 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt10_Head_baseILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEELb0EE7_M_headERS9_(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt10_Head_baseILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEELb0EE7_M_headERS9_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !428 %3 = load ptr, ptr %2, align 8, !tbaa !428 %4 = getelementptr inbounds nuw %"struct.std::_Head_base.68", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !430 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE13_M_const_castEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !209 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !211 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %6) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 1 %7 = load i64, ptr %6, align 8, !tbaa !239 ret i64 %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 3 ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE24_M_get_insert_unique_posERS7_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 comdat align 2 { %3 = alloca %"struct.std::pair.60", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i8, align 1 %9 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %10 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %11 = alloca i32, align 4 %12 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !250 store ptr %1, ptr %5, align 8, !tbaa !113 %13 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %14 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 store ptr %14, ptr %6, align 8, !tbaa !284 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %15 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 store ptr %15, ptr %7, align 8, !tbaa !92 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 store i8 1, ptr %8, align 1, !tbaa !87 br label %16 16: ; preds = %35, %2 %17 = load ptr, ptr %6, align 8, !tbaa !284 %18 = icmp ne ptr %17, null br i1 %18, label %19, label %37 19: ; preds = %16 %20 = load ptr, ptr %6, align 8, !tbaa !284 store ptr %20, ptr %7, align 8, !tbaa !92 %21 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %13, i32 0, i32 0 %22 = load ptr, ptr %5, align 8, !tbaa !113 %23 = load ptr, ptr %6, align 8, !tbaa !284 %24 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %23) %25 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %21, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %24) %26 = zext i1 %25 to i8 store i8 %26, ptr %8, align 1, !tbaa !87 %27 = load i8, ptr %8, align 1, !tbaa !87, !range !88, !noundef !89 %28 = trunc i8 %27 to i1 br i1 %28, label %29, label %32 29: ; preds = %19 %30 = load ptr, ptr %6, align 8, !tbaa !284 %31 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %30) #18 br label %35 32: ; preds = %19 %33 = load ptr, ptr %6, align 8, !tbaa !284 %34 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %33) #18 br label %35 35: ; preds = %32, %29 %36 = phi ptr [ %31, %29 ], [ %34, %32 ] store ptr %36, ptr %6, align 8, !tbaa !284 br label %16, !llvm.loop !432 37: ; preds = %16 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %38 = load ptr, ptr %7, align 8, !tbaa !92 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef %38) #18 %39 = load i8, ptr %8, align 1, !tbaa !87, !range !88, !noundef !89 %40 = trunc i8 %39 to i1 br i1 %40, label %41, label %49 41: ; preds = %37 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %42 = call ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 %43 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %10, i32 0, i32 0 store ptr %42, ptr %43, align 8 %44 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEESB_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 br i1 %44, label %45, label %46 45: ; preds = %41 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISI_SJ_EEEbE4typeELb1EEEOSI_OSJ_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) store i32 1, ptr %11, align 4 br label %59 46: ; preds = %41 %47 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 br label %48 48: ; preds = %46 br label %49 49: ; preds = %48, %37 %50 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %13, i32 0, i32 0 %51 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %9, i32 0, i32 0 %52 = load ptr, ptr %51, align 8, !tbaa !415 %53 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %52) %54 = load ptr, ptr %5, align 8, !tbaa !113 %55 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %50, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %54) br i1 %55, label %56, label %57 56: ; preds = %49 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISI_SJ_EEEbE4typeELb1EEEOSI_OSJ_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) store i32 1, ptr %11, align 4 br label %59 57: ; preds = %49 %58 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %9, i32 0, i32 0 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 store ptr null, ptr %12, align 8, !tbaa !92 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %12) call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 store i32 1, ptr %11, align 4 br label %59 59: ; preds = %57, %56, %45 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %60 = load { ptr, ptr }, ptr %3, align 8 ret { ptr, ptr } %60 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !250 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 2 ret ptr %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !413 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !415 %6 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef %5) #22 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8, !tbaa !415 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !413 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !415 %6 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %5) #22 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8, !tbaa !415 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !250 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !237 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %9) #18 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %2, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 ret ptr %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISI_SJ_EEEbE4typeELb1EEEOSI_OSJ_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %2) unnamed_addr #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !382 store ptr %1, ptr %5, align 8, !tbaa !433 store ptr %2, ptr %6, align 8, !tbaa !384 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !433 %10 = load ptr, ptr %9, align 8, !tbaa !284 store ptr %10, ptr %8, align 8, !tbaa !368 %11 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 1 %12 = load ptr, ptr %6, align 8, !tbaa !384 %13 = load ptr, ptr %12, align 8, !tbaa !92 store ptr %13, ptr %11, align 8, !tbaa !366 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) #0 comdat align 2 { %5 = alloca %"struct.std::_Rb_tree_iterator.65", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i8, align 1 store ptr %0, ptr %6, align 8, !tbaa !250 store ptr %1, ptr %7, align 8, !tbaa !92 store ptr %2, ptr %8, align 8, !tbaa !92 store ptr %3, ptr %9, align 8, !tbaa !284 %11 = load ptr, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 %12 = load ptr, ptr %7, align 8, !tbaa !92 %13 = icmp ne ptr %12, null br i1 %13, label %25, label %14 14: ; preds = %4 %15 = load ptr, ptr %8, align 8, !tbaa !92 %16 = call noundef ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %11) #18 %17 = icmp eq ptr %15, %16 br i1 %17, label %25, label %18 18: ; preds = %14 %19 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %11, i32 0, i32 0 %20 = load ptr, ptr %9, align 8, !tbaa !284 %21 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E(ptr noundef %20) %22 = load ptr, ptr %8, align 8, !tbaa !92 %23 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %22) %24 = call noundef zeroext i1 @_ZNKSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEclERKS6_S9_(ptr noundef nonnull align 1 dereferenceable(1) %19, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %23) br label %25 25: ; preds = %18, %14, %4 %26 = phi i1 [ true, %14 ], [ true, %4 ], [ %24, %18 ] %27 = zext i1 %26 to i8 store i8 %27, ptr %10, align 1, !tbaa !87 %28 = load i8, ptr %10, align 1, !tbaa !87, !range !88, !noundef !89 %29 = trunc i8 %28 to i1 %30 = load ptr, ptr %9, align 8, !tbaa !284 %31 = load ptr, ptr %8, align 8, !tbaa !92 %32 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %11, i32 0, i32 0 %33 = getelementptr inbounds i8, ptr %32, i64 8 %34 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %33, i32 0, i32 0 call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %29, ptr noundef %30, ptr noundef %31, ptr noundef nonnull align 8 dereferenceable(32) %34) #18 %35 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %11, i32 0, i32 0 %36 = getelementptr inbounds i8, ptr %35, i64 8 %37 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %36, i32 0, i32 1 %38 = load i64, ptr %37, align 8, !tbaa !239 %39 = add i64 %38, 1 store i64 %39, ptr %37, align 8, !tbaa !239 %40 = load ptr, ptr %9, align 8, !tbaa !284 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %40) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 %41 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.65", ptr %5, i32 0, i32 0 %42 = load ptr, ptr %41, align 8 ret ptr %42 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEEC2ES8_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !425 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !113 call void @_ZNSt10_Head_baseILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEELb0EEC2ES8_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt10_Head_baseILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEELb0EEC2ES8_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !428 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Head_base.68", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !113 store ptr %7, ptr %6, align 8, !tbaa !113 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE9constructIS6_JRKS6_EEEvRS7_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !264 store ptr %1, ptr %5, align 8, !tbaa !113 store ptr %2, ptr %6, align 8, !tbaa !113 %7 = load ptr, ptr %4, align 8, !tbaa !264 %8 = load ptr, ptr %5, align 8, !tbaa !113 %9 = load ptr, ptr %6, align 8, !tbaa !113 call void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE9constructIS6_JRKS6_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(32) %9) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.69", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.69", align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.69", ptr %4, i32 0, i32 0 store ptr %1, ptr %16, align 8 store ptr %0, ptr %5, align 8, !tbaa !66 store ptr %2, ptr %6, align 8, !tbaa !113 %17 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %18 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 1, ptr noundef @.str.51) store i64 %18, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %17, i32 0, i32 0 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %19, i32 0, i32 0 %21 = load ptr, ptr %20, align 8, !tbaa !83 store ptr %21, ptr %8, align 8, !tbaa !113 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %22 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %17, i32 0, i32 0 %23 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %22, i32 0, i32 1 %24 = load ptr, ptr %23, align 8, !tbaa !84 store ptr %24, ptr %9, align 8, !tbaa !113 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %25 = call ptr @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.69", ptr %11, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = call noundef i64 @_ZN9__gnu_cxxmiIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSE_SH_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %27, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %28 = load i64, ptr %7, align 8, !tbaa !97 %29 = call noundef ptr @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %28) store ptr %29, ptr %12, align 8, !tbaa !113 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %30 = load ptr, ptr %12, align 8, !tbaa !113 store ptr %30, ptr %13, align 8, !tbaa !113 %31 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %17, i32 0, i32 0 %32 = load ptr, ptr %12, align 8, !tbaa !113 %33 = load i64, ptr %10, align 8, !tbaa !97 %34 = getelementptr inbounds nuw %"struct.std::pair", ptr %32, i64 %33 %35 = load ptr, ptr %6, align 8, !tbaa !113 invoke void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE9constructIS6_JRKS6_EEEvRS7_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %31, ptr noundef %34, ptr noundef nonnull align 8 dereferenceable(32) %35) to label %36 unwind label %51 36: ; preds = %3 store ptr null, ptr %13, align 8, !tbaa !113 %37 = load ptr, ptr %8, align 8, !tbaa !113 %38 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %39 = load ptr, ptr %38, align 8, !tbaa !113 %40 = load ptr, ptr %12, align 8, !tbaa !113 %41 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %42 = call noundef ptr @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_(ptr noundef %37, ptr noundef %39, ptr noundef %40, ptr noundef nonnull align 1 dereferenceable(1) %41) #18 store ptr %42, ptr %13, align 8, !tbaa !113 %43 = load ptr, ptr %13, align 8, !tbaa !113 %44 = getelementptr inbounds nuw %"struct.std::pair", ptr %43, i32 1 store ptr %44, ptr %13, align 8, !tbaa !113 %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %46 = load ptr, ptr %45, align 8, !tbaa !113 %47 = load ptr, ptr %9, align 8, !tbaa !113 %48 = load ptr, ptr %13, align 8, !tbaa !113 %49 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %50 = call noundef ptr @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_(ptr noundef %46, ptr noundef %47, ptr noundef %48, ptr noundef nonnull align 1 dereferenceable(1) %49) #18 store ptr %50, ptr %13, align 8, !tbaa !113 br label %79 51: ; preds = %3 %52 = landingpad { ptr, i32 } catch ptr null %53 = extractvalue { ptr, i32 } %52, 0 store ptr %53, ptr %14, align 8 %54 = extractvalue { ptr, i32 } %52, 1 store i32 %54, ptr %15, align 4 br label %55 55: ; preds = %51 %56 = load ptr, ptr %14, align 8 %57 = call ptr @__cxa_begin_catch(ptr %56) #18 %58 = load ptr, ptr %13, align 8, !tbaa !113 %59 = icmp ne ptr %58, null br i1 %59, label %65, label %60 60: ; preds = %55 %61 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %17, i32 0, i32 0 %62 = load ptr, ptr %12, align 8, !tbaa !113 %63 = load i64, ptr %10, align 8, !tbaa !97 %64 = getelementptr inbounds nuw %"struct.std::pair", ptr %62, i64 %63 call void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE7destroyIS6_EEvRS7_PT_(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr noundef %64) #18 br label %74 65: ; preds = %55 %66 = load ptr, ptr %12, align 8, !tbaa !113 %67 = load ptr, ptr %13, align 8, !tbaa !113 %68 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 invoke void @_ZSt8_DestroyIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES6_EvT_S8_RSaIT0_E(ptr noundef %66, ptr noundef %67, ptr noundef nonnull align 1 dereferenceable(1) %68) to label %69 unwind label %70 69: ; preds = %65 br label %74 70: ; preds = %77, %74, %65 %71 = landingpad { ptr, i32 } cleanup %72 = extractvalue { ptr, i32 } %71, 0 store ptr %72, ptr %14, align 8 %73 = extractvalue { ptr, i32 } %71, 1 store i32 %73, ptr %15, align 4 invoke void @__cxa_end_catch() to label %78 unwind label %105 74: ; preds = %69, %60 %75 = load ptr, ptr %12, align 8, !tbaa !113 %76 = load i64, ptr %7, align 8, !tbaa !97 invoke void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE13_M_deallocateEPS6_m(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %75, i64 noundef %76) to label %77 unwind label %70 77: ; preds = %74 invoke void @__cxa_rethrow() #19 to label %108 unwind label %70 78: ; preds = %70 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %100 79: ; preds = %36 %80 = load ptr, ptr %8, align 8, !tbaa !113 %81 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %17, i32 0, i32 0 %82 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %81, i32 0, i32 2 %83 = load ptr, ptr %82, align 8, !tbaa !117 %84 = load ptr, ptr %8, align 8, !tbaa !113 %85 = ptrtoint ptr %83 to i64 %86 = ptrtoint ptr %84 to i64 %87 = sub i64 %85, %86 %88 = sdiv exact i64 %87, 32 call void @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE13_M_deallocateEPS6_m(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %80, i64 noundef %88) %89 = load ptr, ptr %12, align 8, !tbaa !113 %90 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %17, i32 0, i32 0 %91 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %90, i32 0, i32 0 store ptr %89, ptr %91, align 8, !tbaa !83 %92 = load ptr, ptr %13, align 8, !tbaa !113 %93 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %17, i32 0, i32 0 %94 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %93, i32 0, i32 1 store ptr %92, ptr %94, align 8, !tbaa !84 %95 = load ptr, ptr %12, align 8, !tbaa !113 %96 = load i64, ptr %7, align 8, !tbaa !97 %97 = getelementptr inbounds nuw %"struct.std::pair", ptr %95, i64 %96 %98 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %17, i32 0, i32 0 %99 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %98, i32 0, i32 2 store ptr %97, ptr %99, align 8, !tbaa !117 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void 100: ; preds = %78 %101 = load ptr, ptr %14, align 8 %102 = load i32, ptr %15, align 4 %103 = insertvalue { ptr, i32 } poison, ptr %101, 0 %104 = insertvalue { ptr, i32 } %103, i32 %102, 1 resume { ptr, i32 } %104 105: ; preds = %70 %106 = landingpad { ptr, i32 } catch ptr null %107 = extractvalue { ptr, i32 } %106, 0 call void @__clang_call_terminate(ptr %107) #20 unreachable 108: ; preds = %77 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.69", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !66 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %5, i32 0, i32 1 call void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEC2ERKS8_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.69", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE9constructIS6_JRKS6_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !268 store ptr %1, ptr %5, align 8, !tbaa !113 store ptr %2, ptr %6, align 8, !tbaa !113 %7 = load ptr, ptr %5, align 8, !tbaa !113 %8 = load ptr, ptr %6, align 8, !tbaa !113 call void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !66 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !75 %9 = load ptr, ptr %4, align 8 %10 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %11 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %12 = sub i64 %10, %11 %13 = load i64, ptr %5, align 8, !tbaa !97 %14 = icmp ult i64 %12, %13 br i1 %14, label %15, label %17 15: ; preds = %3 %16 = load ptr, ptr %6, align 8, !tbaa !75 call void @_ZSt20__throw_length_errorPKc(ptr noundef %16) #19 unreachable 17: ; preds = %3 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %18 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 store i64 %19, ptr %8, align 8, !tbaa !97 %20 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %5) %21 = load i64, ptr %20, align 8, !tbaa !97 %22 = add i64 %18, %21 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 store i64 %22, ptr %7, align 8, !tbaa !97 %23 = load i64, ptr %7, align 8, !tbaa !97 %24 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %25 = icmp ult i64 %23, %24 br i1 %25, label %30, label %26 26: ; preds = %17 %27 = load i64, ptr %7, align 8, !tbaa !97 %28 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %29 = icmp ugt i64 %27, %28 br i1 %29, label %30, label %32 30: ; preds = %26, %17 %31 = call noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 br label %34 32: ; preds = %26 %33 = load i64, ptr %7, align 8, !tbaa !97 br label %34 34: ; preds = %32, %30 %35 = phi i64 [ %31, %30 ], [ %33, %32 ] call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret i64 %35 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZN9__gnu_cxxmiIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSE_SH_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !435 store ptr %1, ptr %4, align 8, !tbaa !435 %5 = load ptr, ptr %3, align 8, !tbaa !435 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !113 %8 = load ptr, ptr %4, align 8, !tbaa !435 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !113 %11 = ptrtoint ptr %7 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 %14 = sdiv exact i64 %13, 32 ret i64 %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.69", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !66 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %5, i32 0, i32 0 call void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEC2ERKS8_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.69", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !260 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = icmp ne i64 %6, 0 br i1 %7, label %8, label %12 8: ; preds = %2 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %5, i32 0, i32 0 %10 = load i64, ptr %4, align 8, !tbaa !97 %11 = call noundef ptr @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE8allocateERS7_m(ptr noundef nonnull align 1 dereferenceable(1) %9, i64 noundef %10) br label %13 12: ; preds = %2 br label %13 13: ; preds = %12, %8 %14 = phi ptr [ %11, %8 ], [ null, %12 ] ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #1 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !113 store ptr %1, ptr %6, align 8, !tbaa !113 store ptr %2, ptr %7, align 8, !tbaa !113 store ptr %3, ptr %8, align 8, !tbaa !264 %9 = load ptr, ptr %5, align 8, !tbaa !113 %10 = load ptr, ptr %6, align 8, !tbaa !113 %11 = load ptr, ptr %7, align 8, !tbaa !113 %12 = load ptr, ptr %8, align 8, !tbaa !264 %13 = call noundef ptr @_ZSt12__relocate_aIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES7_SaIS6_EET0_T_SA_S9_RT1_(ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef nonnull align 1 dereferenceable(1) %12) #18 ret ptr %13 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !435 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.69", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE7destroyIS6_EEvRS7_PT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !264 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %3, align 8, !tbaa !264 %6 = load ptr, ptr %4, align 8, !tbaa !113 call void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE7destroyIS6_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !66 %3 = load ptr, ptr %2, align 8 %4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 %5 = call noundef i64 @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE11_S_max_sizeERKS6_(ptr noundef nonnull align 1 dereferenceable(1) %4) #18 ret i64 %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE11_S_max_sizeERKS6_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca i64, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %2, align 8, !tbaa !264 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 store i64 288230376151711743, ptr %3, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %5 = load ptr, ptr %2, align 8, !tbaa !264 %6 = call noundef i64 @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE8max_sizeERKS7_(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 store i64 %6, ptr %4, align 8, !tbaa !97 %7 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) %8 = load i64, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret i64 %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !260 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.10", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE8max_sizeERKS7_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !264 %3 = load ptr, ptr %2, align 8, !tbaa !264 %4 = call noundef i64 @_ZNKSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !268 %3 = load ptr, ptr %2, align 8 %4 = call noundef i64 @_ZNKSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !268 ret i64 288230376151711743 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEC2ERKS8_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !435 store ptr %1, ptr %4, align 8, !tbaa !437 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.69", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !437 %8 = load ptr, ptr %7, align 8, !tbaa !113 store ptr %8, ptr %6, align 8, !tbaa !439 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE8allocateERS7_m(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !264 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8, !tbaa !264 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef ptr @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %5, i64 noundef %6, ptr noundef null) ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !268 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !114 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #18 %10 = icmp ugt i64 %8, %9 %11 = zext i1 %10 to i64 %12 = call i64 @llvm.expect.i64(i64 %11, i64 0) %13 = icmp ne i64 %12, 0 br i1 %13, label %14, label %19 14: ; preds = %3 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 576460752303423487 br i1 %16, label %17, label %18 17: ; preds = %14 call void @_ZSt28__throw_bad_array_new_lengthv() #19 unreachable 18: ; preds = %14 call void @_ZSt17__throw_bad_allocv() #19 unreachable 19: ; preds = %3 %20 = load i64, ptr %5, align 8, !tbaa !97 %21 = mul i64 %20, 32 %22 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %21) #23 ret ptr %22 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__relocate_aIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES7_SaIS6_EET0_T_SA_S9_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #4 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !113 store ptr %1, ptr %6, align 8, !tbaa !113 store ptr %2, ptr %7, align 8, !tbaa !113 store ptr %3, ptr %8, align 8, !tbaa !264 %9 = load ptr, ptr %5, align 8, !tbaa !113 %10 = call noundef ptr @_ZSt12__niter_baseIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEET_S8_(ptr noundef %9) #18 %11 = load ptr, ptr %6, align 8, !tbaa !113 %12 = call noundef ptr @_ZSt12__niter_baseIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEET_S8_(ptr noundef %11) #18 %13 = load ptr, ptr %7, align 8, !tbaa !113 %14 = call noundef ptr @_ZSt12__niter_baseIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEET_S8_(ptr noundef %13) #18 %15 = load ptr, ptr %8, align 8, !tbaa !264 %16 = call noundef ptr @_ZSt14__relocate_a_1IPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES7_SaIS6_EET0_T_SA_S9_RT1_(ptr noundef %10, ptr noundef %12, ptr noundef %14, ptr noundef nonnull align 1 dereferenceable(1) %15) #18 ret ptr %16 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt14__relocate_a_1IPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES7_SaIS6_EET0_T_SA_S9_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #4 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !113 store ptr %1, ptr %6, align 8, !tbaa !113 store ptr %2, ptr %7, align 8, !tbaa !113 store ptr %3, ptr %8, align 8, !tbaa !264 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %10 = load ptr, ptr %7, align 8, !tbaa !113 store ptr %10, ptr %9, align 8, !tbaa !113 br label %11 11: ; preds = %19, %4 %12 = load ptr, ptr %5, align 8, !tbaa !113 %13 = load ptr, ptr %6, align 8, !tbaa !113 %14 = icmp ne ptr %12, %13 br i1 %14, label %15, label %24 15: ; preds = %11 %16 = load ptr, ptr %9, align 8, !tbaa !113 %17 = load ptr, ptr %5, align 8, !tbaa !113 %18 = load ptr, ptr %8, align 8, !tbaa !264 call void @_ZSt19__relocate_object_aISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES6_SaIS6_EEvPT_PT0_RT1_(ptr noundef %16, ptr noundef %17, ptr noundef nonnull align 1 dereferenceable(1) %18) #18 br label %19 19: ; preds = %15 %20 = load ptr, ptr %5, align 8, !tbaa !113 %21 = getelementptr inbounds nuw %"struct.std::pair", ptr %20, i32 1 store ptr %21, ptr %5, align 8, !tbaa !113 %22 = load ptr, ptr %9, align 8, !tbaa !113 %23 = getelementptr inbounds nuw %"struct.std::pair", ptr %22, i32 1 store ptr %23, ptr %9, align 8, !tbaa !113 br label %11, !llvm.loop !441 24: ; preds = %11 %25 = load ptr, ptr %9, align 8, !tbaa !113 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %25 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_baseIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEET_S8_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !113 %3 = load ptr, ptr %2, align 8, !tbaa !113 ret ptr %3 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__relocate_object_aISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES6_SaIS6_EEvPT_PT0_RT1_(ptr noalias noundef %0, ptr noalias noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #4 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !113 store ptr %1, ptr %5, align 8, !tbaa !113 store ptr %2, ptr %6, align 8, !tbaa !264 %7 = load ptr, ptr %6, align 8, !tbaa !264 %8 = load ptr, ptr %4, align 8, !tbaa !113 %9 = load ptr, ptr %5, align 8, !tbaa !113 call void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE9constructIS6_JS6_EEEvRS7_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(32) %9) #18 %10 = load ptr, ptr %6, align 8, !tbaa !264 %11 = load ptr, ptr %5, align 8, !tbaa !113 call void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE7destroyIS6_EEvRS7_PT_(ptr noundef nonnull align 1 dereferenceable(1) %10, ptr noundef %11) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE9constructIS6_JS6_EEEvRS7_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !264 store ptr %1, ptr %5, align 8, !tbaa !113 store ptr %2, ptr %6, align 8, !tbaa !113 %7 = load ptr, ptr %4, align 8, !tbaa !264 %8 = load ptr, ptr %5, align 8, !tbaa !113 %9 = load ptr, ptr %6, align 8, !tbaa !113 call void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE9constructIS6_JS6_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(32) %9) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE9constructIS6_JS6_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !268 store ptr %1, ptr %5, align 8, !tbaa !113 store ptr %2, ptr %6, align 8, !tbaa !113 %7 = load ptr, ptr %5, align 8, !tbaa !113 %8 = load ptr, ptr %6, align 8, !tbaa !113 call void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2EOS5_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %8) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEC2EOS5_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !113 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::pair", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !113 %8 = getelementptr inbounds nuw %"struct.std::pair", ptr %7, i32 0, i32 0 %9 = load i32, ptr %8, align 8, !tbaa !115 store i32 %9, ptr %6, align 8, !tbaa !115 %10 = getelementptr inbounds nuw %"struct.std::pair", ptr %5, i32 0, i32 1 %11 = load ptr, ptr %4, align 8, !tbaa !113 %12 = getelementptr inbounds nuw %"struct.std::pair", ptr %11, i32 0, i32 1 call void @_ZNSt6vectorIiSaIiEEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %12) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt12_Vector_baseIiSaIiEEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !270 store ptr %1, ptr %4, align 8, !tbaa !270 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !270 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 call void @_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2EOS2_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %8) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2EOS2_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !272 store ptr %1, ptr %4, align 8, !tbaa !272 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !272 call void @_ZNSaIiEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef nonnull align 1 dereferenceable(1) %6) #18 %7 = load ptr, ptr %4, align 8, !tbaa !272 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataC2EOS2_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %7) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataC2EOS2_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !442 store ptr %1, ptr %4, align 8, !tbaa !442 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !442 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !81 store ptr %9, ptr %6, align 8, !tbaa !81 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 1 %11 = load ptr, ptr %4, align 8, !tbaa !442 %12 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %11, i32 0, i32 1 %13 = load ptr, ptr %12, align 8, !tbaa !82 store ptr %13, ptr %10, align 8, !tbaa !82 %14 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 2 %15 = load ptr, ptr %4, align 8, !tbaa !442 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %15, i32 0, i32 2 %17 = load ptr, ptr %16, align 8, !tbaa !101 store ptr %17, ptr %14, align 8, !tbaa !101 %18 = load ptr, ptr %4, align 8, !tbaa !442 %19 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %18, i32 0, i32 2 store ptr null, ptr %19, align 8, !tbaa !101 %20 = load ptr, ptr %4, align 8, !tbaa !442 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %20, i32 0, i32 1 store ptr null, ptr %21, align 8, !tbaa !82 %22 = load ptr, ptr %4, align 8, !tbaa !442 %23 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %22, i32 0, i32 0 store ptr null, ptr %23, align 8, !tbaa !81 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE7destroyIS6_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !268 store ptr %1, ptr %4, align 8, !tbaa !113 %5 = load ptr, ptr %4, align 8, !tbaa !113 call void @_ZNSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #18 ret void } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !71 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %6) ret ptr %5 } declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #11 ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt6vectorIiSaIiEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKiS1_EEEEPimT_S9_(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr %2, ptr %3) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca ptr, align 8 %8 = alloca i64, align 8 %9 = alloca ptr, align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %12 = alloca ptr, align 8 %13 = alloca i32, align 4 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %2, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %3, ptr %15, align 8 store ptr %0, ptr %7, align 8, !tbaa !68 store i64 %1, ptr %8, align 8, !tbaa !97 %16 = load ptr, ptr %7, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %17 = load i64, ptr %8, align 8, !tbaa !97 %18 = call noundef ptr @_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %17) store ptr %18, ptr %9, align 8, !tbaa !100 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %19 = load ptr, ptr %9, align 8, !tbaa !100 %20 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #18 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %11, i32 0, i32 0 %24 = load ptr, ptr %23, align 8 %25 = invoke noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E(ptr %22, ptr %24, ptr noundef %19, ptr noundef nonnull align 1 dereferenceable(1) %20) to label %26 unwind label %28 26: ; preds = %4 %27 = load ptr, ptr %9, align 8, !tbaa !100 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %27 28: ; preds = %4 %29 = landingpad { ptr, i32 } catch ptr null %30 = extractvalue { ptr, i32 } %29, 0 store ptr %30, ptr %12, align 8 %31 = extractvalue { ptr, i32 } %29, 1 store i32 %31, ptr %13, align 4 br label %32 32: ; preds = %28 %33 = load ptr, ptr %12, align 8 %34 = call ptr @__cxa_begin_catch(ptr %33) #18 %35 = load ptr, ptr %9, align 8, !tbaa !100 %36 = load i64, ptr %8, align 8, !tbaa !97 invoke void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef %35, i64 noundef %36) to label %37 unwind label %38 37: ; preds = %32 invoke void @__cxa_rethrow() #19 to label %52 unwind label %38 38: ; preds = %37, %32 %39 = landingpad { ptr, i32 } cleanup %40 = extractvalue { ptr, i32 } %39, 0 store ptr %40, ptr %12, align 8 %41 = extractvalue { ptr, i32 } %39, 1 store i32 %41, ptr %13, align 4 invoke void @__cxa_end_catch() to label %42 unwind label %49 42: ; preds = %38 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 br label %44 43: ; No predecessors! unreachable 44: ; preds = %42 %45 = load ptr, ptr %12, align 8 %46 = load i32, ptr %13, align 4 %47 = insertvalue { ptr, i32 } poison, ptr %45, 0 %48 = insertvalue { ptr, i32 } %47, i32 %46, 1 resume { ptr, i32 } %48 49: ; preds = %38 %50 = landingpad { ptr, i32 } catch ptr null %51 = extractvalue { ptr, i32 } %50, 0 call void @__clang_call_terminate(ptr %51) #20 unreachable 52: ; preds = %37 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RSaIT0_E(ptr %0, ptr %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %0, ptr %9, align 8 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %1, ptr %10, align 8 store ptr %2, ptr %6, align 8, !tbaa !95 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %14 = load ptr, ptr %13, align 8 call void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_(ptr %12, ptr %14) ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EEET0_T_SB_SA_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %0, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %1, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 store ptr %2, ptr %15, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEET_S8_(ptr %17) %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 store ptr %18, ptr %19, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %11, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEET_S8_(ptr %21) %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 store ptr %22, ptr %23, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %12, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 %30 = call ptr @_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EEET1_T0_SB_SA_(ptr %25, ptr %27, ptr %29) %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %30, ptr %31, align 8 %32 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 %33 = load ptr, ptr %32, align 8 ret ptr %33 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt4copyIPiS0_ET0_T_S2_S1_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = call noundef ptr @_ZSt12__miter_baseIPiET_S1_(ptr noundef %7) %9 = load ptr, ptr %5, align 8, !tbaa !100 %10 = call noundef ptr @_ZSt12__miter_baseIPiET_S1_(ptr noundef %9) %11 = load ptr, ptr %6, align 8, !tbaa !100 %12 = call noundef ptr @_ZSt13__copy_move_aILb0EPiS0_ET1_T0_S2_S1_(ptr noundef %8, ptr noundef %10, ptr noundef %11) ret ptr %12 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt22__uninitialized_copy_aIPiS0_iET0_T_S2_S1_RSaIT1_E(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !100 store ptr %1, ptr %6, align 8, !tbaa !100 store ptr %2, ptr %7, align 8, !tbaa !100 store ptr %3, ptr %8, align 8, !tbaa !95 %9 = load ptr, ptr %5, align 8, !tbaa !100 %10 = load ptr, ptr %6, align 8, !tbaa !100 %11 = load ptr, ptr %7, align 8, !tbaa !100 %12 = call noundef ptr @_ZSt18uninitialized_copyIPiS0_ET0_T_S2_S1_(ptr noundef %9, ptr noundef %10, ptr noundef %11) ret ptr %12 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEvT_S7_(ptr %0, ptr %1) #5 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %7, align 8 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %6, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 call void @_ZNSt12_Destroy_auxILb1EE9__destroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEvT_S9_(ptr %10, ptr %12) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEvT_S9_(ptr %0, ptr %1) #1 comdat align 2 { %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %0, ptr %5, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %6, align 8 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EEET1_T0_SB_SA_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %0, ptr %12, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 store ptr %1, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %7, i32 0, i32 0 store ptr %2, ptr %14, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = call noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %16) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = call noundef ptr @_ZSt12__niter_baseIPKiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS5_T0_EE(ptr %19) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !106 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = call noundef ptr @_ZSt12__niter_baseIPiSt6vectorIiSaIiEEET_N9__gnu_cxx17__normal_iteratorIS4_T0_EE(ptr %22) #18 %24 = call noundef ptr @_ZSt14__copy_move_a1ILb0EPKiPiET1_T0_S4_S3_(ptr noundef %17, ptr noundef %20, ptr noundef %23) %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %8, i32 0, i32 0 %26 = load ptr, ptr %25, align 8 %27 = call ptr @_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET_S7_T0_(ptr %26, ptr noundef %24) %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %27, ptr %28, align 8 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 ret ptr %30 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt13__copy_move_aILb0EPiS0_ET1_T0_S2_S1_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = call noundef ptr @_ZSt12__niter_baseIPiET_S1_(ptr noundef %7) #18 %9 = load ptr, ptr %5, align 8, !tbaa !100 %10 = call noundef ptr @_ZSt12__niter_baseIPiET_S1_(ptr noundef %9) #18 %11 = load ptr, ptr %6, align 8, !tbaa !100 %12 = call noundef ptr @_ZSt12__niter_baseIPiET_S1_(ptr noundef %11) #18 %13 = call noundef ptr @_ZSt14__copy_move_a1ILb0EPiS0_ET1_T0_S2_S1_(ptr noundef %8, ptr noundef %10, ptr noundef %12) %14 = call noundef ptr @_ZSt12__niter_wrapIPiET_RKS1_S1_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef %13) ret ptr %14 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__miter_baseIPiET_S1_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !100 %3 = load ptr, ptr %2, align 8, !tbaa !100 ret ptr %3 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt14__copy_move_a1ILb0EPiS0_ET1_T0_S2_S1_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = call noundef ptr @_ZSt14__copy_move_a2ILb0EPiS0_ET1_T0_S2_S1_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt14__copy_move_a2ILb0EPiS0_ET1_T0_S2_S1_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #4 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = call noundef ptr @_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIiEEPT_PKS3_S6_S4_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt18uninitialized_copyIPiS0_ET0_T_S2_S1_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i8, align 1 %8 = alloca i8, align 1 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 store i8 1, ptr %7, align 1, !tbaa !87 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 store i8 1, ptr %8, align 1, !tbaa !87 %9 = load ptr, ptr %4, align 8, !tbaa !100 %10 = load ptr, ptr %5, align 8, !tbaa !100 %11 = load ptr, ptr %6, align 8, !tbaa !100 %12 = call noundef ptr @_ZNSt20__uninitialized_copyILb1EE13__uninit_copyIPiS2_EET0_T_S4_S3_(ptr noundef %9, ptr noundef %10, ptr noundef %11) call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 ret ptr %12 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt20__uninitialized_copyILb1EE13__uninit_copyIPiS2_EET0_T_S4_S3_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !100 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !100 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = call noundef ptr @_ZSt4copyIPiS0_ET0_T_S2_S1_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !75 %5 = load ptr, ptr %3, align 8 %6 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !75 %8 = load ptr, ptr %4, align 8, !tbaa !75 %9 = call noundef i64 @_ZNSt11char_traitsIcE6lengthEPKc(ptr noundef %8) %10 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef 0, i64 noundef %6, ptr noundef %7, i64 noundef %9) ret ptr %10 } declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef, ptr noundef, i64 noundef) #11 ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !75 %6 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %7 = load ptr, ptr %4, align 8, !tbaa !75 %8 = call noundef i64 @_ZNSt11char_traitsIcE6lengthEPKc(ptr noundef %7) store i64 %8, ptr %5, align 8, !tbaa !97 %9 = load i64, ptr %5, align 8, !tbaa !97 call void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc(ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef 0, i64 noundef %9, ptr noundef @.str.57) %10 = load ptr, ptr %4, align 8, !tbaa !75 %11 = load i64, ptr %5, align 8, !tbaa !97 %12 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef %10, i64 noundef %11) call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret ptr %12 } ; Function Attrs: mustprogress uwtable define available_externally void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1, i64 noundef %2, ptr noundef %3) #0 align 2 { %5 = alloca ptr, align 8 %6 = alloca i64, align 8 %7 = alloca i64, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !71 store i64 %1, ptr %6, align 8, !tbaa !97 store i64 %2, ptr %7, align 8, !tbaa !97 store ptr %3, ptr %8, align 8, !tbaa !75 %9 = load ptr, ptr %5, align 8 %10 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %9) #18 %11 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %9) #18 %12 = load i64, ptr %6, align 8, !tbaa !97 %13 = sub i64 %11, %12 %14 = sub i64 %10, %13 %15 = load i64, ptr %7, align 8, !tbaa !97 %16 = icmp ult i64 %14, %15 br i1 %16, label %17, label %19 17: ; preds = %4 %18 = load ptr, ptr %8, align 8, !tbaa !75 call void @_ZSt20__throw_length_errorPKc(ptr noundef %18) #19 unreachable 19: ; preds = %4 ret void } declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i64 noundef) #11 ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #1 align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !71 %3 = load ptr, ptr %2, align 8 %4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv(ptr noundef nonnull align 8 dereferenceable(32) %3) %5 = call noundef i64 @_ZNSt16allocator_traitsISaIcEE8max_sizeERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %4) #18 %6 = sub i64 %5, 1 %7 = udiv i64 %6, 2 ret i64 %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt16allocator_traitsISaIcEE8max_sizeERKS0_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !73 %3 = load ptr, ptr %2, align 8, !tbaa !73 %4 = call noundef i64 @_ZNKSt15__new_allocatorIcE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorIcE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !77 %3 = load ptr, ptr %2, align 8 %4 = call noundef i64 @_ZNKSt15__new_allocatorIcE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorIcE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !77 ret i64 9223372036854775807 } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !71 store ptr %1, ptr %4, align 8, !tbaa !71 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !71 %7 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %6) %8 = load ptr, ptr %4, align 8, !tbaa !71 %9 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #18 %10 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef %7, i64 noundef %9) ret ptr %10 } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1, i64 noundef %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !71 store ptr %1, ptr %5, align 8, !tbaa !75 store i64 %2, ptr %6, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %6, align 8, !tbaa !97 call void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef 0, i64 noundef %8, ptr noundef @.str.57) %9 = load ptr, ptr %5, align 8, !tbaa !75 %10 = load i64, ptr %6, align 8, !tbaa !97 %11 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef %9, i64 noundef %10) ret ptr %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_erase_at_endEPS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !69 store ptr %1, ptr %4, align 8, !tbaa !68 %6 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !80 %10 = load ptr, ptr %4, align 8, !tbaa !68 %11 = ptrtoint ptr %9 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 %14 = sdiv exact i64 %13, 24 store i64 %14, ptr %5, align 8, !tbaa !97 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ne i64 %15, 0 br i1 %16, label %17, label %27 17: ; preds = %2 %18 = load ptr, ptr %4, align 8, !tbaa !68 %19 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %19, i32 0, i32 1 %21 = load ptr, ptr %20, align 8, !tbaa !80 %22 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 invoke void @_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E(ptr noundef %18, ptr noundef %21, ptr noundef nonnull align 1 dereferenceable(1) %22) to label %23 unwind label %28 23: ; preds = %17 %24 = load ptr, ptr %4, align 8, !tbaa !68 %25 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %26 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %25, i32 0, i32 1 store ptr %24, ptr %26, align 8, !tbaa !80 br label %27 27: ; preds = %23, %2 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret void 28: ; preds = %17 %29 = landingpad { ptr, i32 } catch ptr null %30 = extractvalue { ptr, i32 } %29, 0 call void @__clang_call_terminate(ptr %30) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 store ptr %0, ptr %3, align 8, !tbaa !69 store ptr %1, ptr %4, align 8, !tbaa !68 %6 = load ptr, ptr %3, align 8 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !80 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %10, i32 0, i32 2 %12 = load ptr, ptr %11, align 8, !tbaa !128 %13 = icmp ne ptr %9, %12 br i1 %13, label %14, label %24 14: ; preds = %2 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %16, i32 0, i32 1 %18 = load ptr, ptr %17, align 8, !tbaa !80 %19 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef %18, ptr noundef nonnull align 8 dereferenceable(24) %19) #18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %6, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !80 %23 = getelementptr inbounds nuw %"class.std::vector.14", ptr %22, i32 1 store ptr %23, ptr %21, align 8, !tbaa !80 br label %30 24: ; preds = %2 %25 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = load ptr, ptr %4, align 8, !tbaa !68 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr %29, ptr noundef nonnull align 8 dereferenceable(24) %27) br label %30 30: ; preds = %24, %14 %31 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 ret ptr %31 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !280 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !280 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE9constructIS2_JS2_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(24) %9) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %1, ptr %14, align 8 store ptr %0, ptr %5, align 8, !tbaa !69 store ptr %2, ptr %6, align 8, !tbaa !68 %15 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %16 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef 1, ptr noundef @.str.51) store i64 %16, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %15, i32 0, i32 0 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %17, i32 0, i32 0 %19 = load ptr, ptr %18, align 8, !tbaa !79 store ptr %19, ptr %8, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %15, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !80 store ptr %22, ptr %9, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %23 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %11, i32 0, i32 0 store ptr %23, ptr %24, align 8 %25 = call noundef i64 @_ZN9__gnu_cxxmiIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %25, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %26 = load i64, ptr %7, align 8, !tbaa !97 %27 = call noundef ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %26) store ptr %27, ptr %12, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %28 = load ptr, ptr %12, align 8, !tbaa !68 store ptr %28, ptr %13, align 8, !tbaa !68 %29 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %15, i32 0, i32 0 %30 = load ptr, ptr %12, align 8, !tbaa !68 %31 = load i64, ptr %10, align 8, !tbaa !97 %32 = getelementptr inbounds nuw %"class.std::vector.14", ptr %30, i64 %31 %33 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %29, ptr noundef %32, ptr noundef nonnull align 8 dereferenceable(24) %33) #18 store ptr null, ptr %13, align 8, !tbaa !68 %34 = load ptr, ptr %8, align 8, !tbaa !68 %35 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %36 = load ptr, ptr %35, align 8, !tbaa !68 %37 = load ptr, ptr %12, align 8, !tbaa !68 %38 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %39 = call noundef ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_(ptr noundef %34, ptr noundef %36, ptr noundef %37, ptr noundef nonnull align 1 dereferenceable(1) %38) #18 store ptr %39, ptr %13, align 8, !tbaa !68 %40 = load ptr, ptr %13, align 8, !tbaa !68 %41 = getelementptr inbounds nuw %"class.std::vector.14", ptr %40, i32 1 store ptr %41, ptr %13, align 8, !tbaa !68 %42 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %43 = load ptr, ptr %42, align 8, !tbaa !68 %44 = load ptr, ptr %9, align 8, !tbaa !68 %45 = load ptr, ptr %13, align 8, !tbaa !68 %46 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %47 = call noundef ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_(ptr noundef %43, ptr noundef %44, ptr noundef %45, ptr noundef nonnull align 1 dereferenceable(1) %46) #18 store ptr %47, ptr %13, align 8, !tbaa !68 %48 = load ptr, ptr %8, align 8, !tbaa !68 %49 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %15, i32 0, i32 0 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %49, i32 0, i32 2 %51 = load ptr, ptr %50, align 8, !tbaa !128 %52 = load ptr, ptr %8, align 8, !tbaa !68 %53 = ptrtoint ptr %51 to i64 %54 = ptrtoint ptr %52 to i64 %55 = sub i64 %53, %54 %56 = sdiv exact i64 %55, 24 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef %48, i64 noundef %56) %57 = load ptr, ptr %12, align 8, !tbaa !68 %58 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %15, i32 0, i32 0 %59 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %58, i32 0, i32 0 store ptr %57, ptr %59, align 8, !tbaa !79 %60 = load ptr, ptr %13, align 8, !tbaa !68 %61 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %15, i32 0, i32 0 %62 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %61, i32 0, i32 1 store ptr %60, ptr %62, align 8, !tbaa !80 %63 = load ptr, ptr %12, align 8, !tbaa !68 %64 = load i64, ptr %7, align 8, !tbaa !97 %65 = getelementptr inbounds nuw %"class.std::vector.14", ptr %63, i64 %64 %66 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %15, i32 0, i32 0 %67 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %66, i32 0, i32 2 store ptr %65, ptr %67, align 8, !tbaa !128 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 store ptr %0, ptr %2, align 8, !tbaa !69 %5 = load ptr, ptr %2, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %6 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 1) #18 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 store ptr %8, ptr %9, align 8 %10 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE9constructIS2_JS2_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !282 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %5, align 8, !tbaa !68 %8 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %8) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !69 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !75 %9 = load ptr, ptr %4, align 8 %10 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %11 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %12 = sub i64 %10, %11 %13 = load i64, ptr %5, align 8, !tbaa !97 %14 = icmp ult i64 %12, %13 br i1 %14, label %15, label %17 15: ; preds = %3 %16 = load ptr, ptr %6, align 8, !tbaa !75 call void @_ZSt20__throw_length_errorPKc(ptr noundef %16) #19 unreachable 17: ; preds = %3 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %18 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 store i64 %19, ptr %8, align 8, !tbaa !97 %20 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %5) %21 = load i64, ptr %20, align 8, !tbaa !97 %22 = add i64 %18, %21 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 store i64 %22, ptr %7, align 8, !tbaa !97 %23 = load i64, ptr %7, align 8, !tbaa !97 %24 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %25 = icmp ult i64 %23, %24 br i1 %25, label %30, label %26 26: ; preds = %17 %27 = load i64, ptr %7, align 8, !tbaa !97 %28 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %29 = icmp ugt i64 %27, %28 br i1 %29, label %30, label %32 30: ; preds = %26, %17 %31 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #18 br label %34 32: ; preds = %26 %33 = load i64, ptr %7, align 8, !tbaa !97 br label %34 34: ; preds = %32, %30 %35 = phi i64 [ %31, %30 ], [ %33, %32 ] call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret i64 %35 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZN9__gnu_cxxmiIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !134 store ptr %1, ptr %4, align 8, !tbaa !134 %5 = load ptr, ptr %3, align 8, !tbaa !134 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !68 %8 = load ptr, ptr %4, align 8, !tbaa !134 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !68 %11 = ptrtoint ptr %7 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 %14 = sdiv exact i64 %13, 24 ret i64 %14 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !276 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = icmp ne i64 %6, 0 br i1 %7, label %8, label %12 8: ; preds = %2 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %5, i32 0, i32 0 %10 = load i64, ptr %4, align 8, !tbaa !97 %11 = call noundef ptr @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE8allocateERS3_m(ptr noundef nonnull align 1 dereferenceable(1) %9, i64 noundef %10) br label %13 12: ; preds = %2 br label %13 13: ; preds = %12, %8 %14 = phi ptr [ %11, %8 ], [ null, %12 ] ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #1 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !68 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !280 %9 = load ptr, ptr %5, align 8, !tbaa !68 %10 = load ptr, ptr %6, align 8, !tbaa !68 %11 = load ptr, ptr %7, align 8, !tbaa !68 %12 = load ptr, ptr %8, align 8, !tbaa !280 %13 = call noundef ptr @_ZSt12__relocate_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef nonnull align 1 dereferenceable(1) %12) #18 ret ptr %13 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !134 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE8max_sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !69 %3 = load ptr, ptr %2, align 8 %4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #18 %5 = call noundef i64 @_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_max_sizeERKS2_(ptr noundef nonnull align 1 dereferenceable(1) %4) #18 ret i64 %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_max_sizeERKS2_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca i64, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %2, align 8, !tbaa !280 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 store i64 384307168202282325, ptr %3, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %5 = load ptr, ptr %2, align 8, !tbaa !280 %6 = call noundef i64 @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE8max_sizeERKS3_(ptr noundef nonnull align 1 dereferenceable(1) %5) #18 store i64 %6, ptr %4, align 8, !tbaa !97 %7 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) %8 = load i64, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret i64 %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !276 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE8max_sizeERKS3_(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !280 %3 = load ptr, ptr %2, align 8, !tbaa !280 %4 = call noundef i64 @_ZNKSt15__new_allocatorISt6vectorIiSaIiEEE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorISt6vectorIiSaIiEEE8max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !282 %3 = load ptr, ptr %2, align 8 %4 = call noundef i64 @_ZNKSt15__new_allocatorISt6vectorIiSaIiEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %3) #18 ret i64 %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorISt6vectorIiSaIiEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !282 ret i64 384307168202282325 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE8allocateERS3_m(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !280 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8, !tbaa !280 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef ptr @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %5, i64 noundef %6, ptr noundef null) ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !282 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !114 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt15__new_allocatorISt6vectorIiSaIiEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #18 %10 = icmp ugt i64 %8, %9 %11 = zext i1 %10 to i64 %12 = call i64 @llvm.expect.i64(i64 %11, i64 0) %13 = icmp ne i64 %12, 0 br i1 %13, label %14, label %19 14: ; preds = %3 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 768614336404564650 br i1 %16, label %17, label %18 17: ; preds = %14 call void @_ZSt28__throw_bad_array_new_lengthv() #19 unreachable 18: ; preds = %14 call void @_ZSt17__throw_bad_allocv() #19 unreachable 19: ; preds = %3 %20 = load i64, ptr %5, align 8, !tbaa !97 %21 = mul i64 %20, 24 %22 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %21) #23 ret ptr %22 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__relocate_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #4 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !68 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !280 %9 = load ptr, ptr %5, align 8, !tbaa !68 %10 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %9) #18 %11 = load ptr, ptr %6, align 8, !tbaa !68 %12 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %11) #18 %13 = load ptr, ptr %7, align 8, !tbaa !68 %14 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %13) #18 %15 = load ptr, ptr %8, align 8, !tbaa !280 %16 = call noundef ptr @_ZSt14__relocate_a_1IPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %10, ptr noundef %12, ptr noundef %14, ptr noundef nonnull align 1 dereferenceable(1) %15) #18 ret ptr %16 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt14__relocate_a_1IPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #4 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !68 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !280 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %10 = load ptr, ptr %7, align 8, !tbaa !68 store ptr %10, ptr %9, align 8, !tbaa !68 br label %11 11: ; preds = %19, %4 %12 = load ptr, ptr %5, align 8, !tbaa !68 %13 = load ptr, ptr %6, align 8, !tbaa !68 %14 = icmp ne ptr %12, %13 br i1 %14, label %15, label %24 15: ; preds = %11 %16 = load ptr, ptr %9, align 8, !tbaa !68 %17 = load ptr, ptr %5, align 8, !tbaa !68 %18 = load ptr, ptr %8, align 8, !tbaa !280 call void @_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_(ptr noundef %16, ptr noundef %17, ptr noundef nonnull align 1 dereferenceable(1) %18) #18 br label %19 19: ; preds = %15 %20 = load ptr, ptr %5, align 8, !tbaa !68 %21 = getelementptr inbounds nuw %"class.std::vector.14", ptr %20, i32 1 store ptr %21, ptr %5, align 8, !tbaa !68 %22 = load ptr, ptr %9, align 8, !tbaa !68 %23 = getelementptr inbounds nuw %"class.std::vector.14", ptr %22, i32 1 store ptr %23, ptr %9, align 8, !tbaa !68 br label %11, !llvm.loop !444 24: ; preds = %11 %25 = load ptr, ptr %9, align 8, !tbaa !68 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %25 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8, !tbaa !68 ret ptr %3 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__relocate_object_aISt6vectorIiSaIiEES2_SaIS2_EEvPT_PT0_RT1_(ptr noalias noundef %0, ptr noalias noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) #4 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !280 %7 = load ptr, ptr %6, align 8, !tbaa !280 %8 = load ptr, ptr %4, align 8, !tbaa !68 %9 = load ptr, ptr %5, align 8, !tbaa !68 call void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(24) %9) #18 %10 = load ptr, ptr %6, align 8, !tbaa !280 %11 = load ptr, ptr %5, align 8, !tbaa !68 call void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE7destroyIS2_EEvRS3_PT_(ptr noundef nonnull align 1 dereferenceable(1) %10, ptr noundef %11) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE7destroyIS2_EEvRS3_PT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !280 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8, !tbaa !280 %6 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE7destroyIS2_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE7destroyIS2_EEvPT_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !282 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !134 store i64 %1, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !191 %10 = load i64, ptr %5, align 8, !tbaa !97 %11 = sub i64 0, %10 %12 = getelementptr inbounds %"class.std::vector.14", ptr %9, i64 %11 store ptr %12, ptr %6, align 8, !tbaa !68 call void @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 %14 = load ptr, ptr %13, align 8 ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !134 store ptr %1, ptr %4, align 8, !tbaa !445 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !445 %8 = load ptr, ptr %7, align 8, !tbaa !68 store ptr %8, ptr %6, align 8, !tbaa !191 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE12emplace_backIJiEEERiDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !100 %6 = load ptr, ptr %3, align 8 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %7, i32 0, i32 1 %9 = load ptr, ptr %8, align 8, !tbaa !82 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %10, i32 0, i32 2 %12 = load ptr, ptr %11, align 8, !tbaa !101 %13 = icmp ne ptr %9, %12 br i1 %13, label %14, label %24 14: ; preds = %2 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %16 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %16, i32 0, i32 1 %18 = load ptr, ptr %17, align 8, !tbaa !82 %19 = load ptr, ptr %4, align 8, !tbaa !100 call void @_ZNSt16allocator_traitsISaIiEE9constructIiJiEEEvRS0_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef %18, ptr noundef nonnull align 4 dereferenceable(4) %19) #18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %6, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !82 %23 = getelementptr inbounds nuw i32, ptr %22, i32 1 store ptr %23, ptr %21, align 8, !tbaa !82 br label %30 24: ; preds = %2 %25 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = load ptr, ptr %4, align 8, !tbaa !100 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %5, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 call void @_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr %29, ptr noundef nonnull align 4 dereferenceable(4) %27) br label %30 30: ; preds = %24, %14 %31 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #18 ret ptr %31 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaIiEE9constructIiJiEEEvRS0_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !95 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %4, align 8, !tbaa !95 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = load ptr, ptr %6, align 8, !tbaa !100 call void @_ZNSt15__new_allocatorIiE9constructIiJiEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 4 dereferenceable(4) %9) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #0 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %1, ptr %14, align 8 store ptr %0, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !100 %15 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %16 = call noundef i64 @_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef 1, ptr noundef @.str.51) store i64 %16, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %18 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %17, i32 0, i32 0 %19 = load ptr, ptr %18, align 8, !tbaa !81 store ptr %19, ptr %8, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %21 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %20, i32 0, i32 1 %22 = load ptr, ptr %21, align 8, !tbaa !82 store ptr %22, ptr %9, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %23 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %11, i32 0, i32 0 store ptr %23, ptr %24, align 8 %25 = call noundef i64 @_ZN9__gnu_cxxmiIPiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS8_SB_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %25, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %26 = load i64, ptr %7, align 8, !tbaa !97 %27 = call noundef ptr @_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %26) store ptr %27, ptr %12, align 8, !tbaa !100 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %28 = load ptr, ptr %12, align 8, !tbaa !100 store ptr %28, ptr %13, align 8, !tbaa !100 %29 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %30 = load ptr, ptr %12, align 8, !tbaa !100 %31 = load i64, ptr %10, align 8, !tbaa !97 %32 = getelementptr inbounds nuw i32, ptr %30, i64 %31 %33 = load ptr, ptr %6, align 8, !tbaa !100 call void @_ZNSt16allocator_traitsISaIiEE9constructIiJiEEEvRS0_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %29, ptr noundef %32, ptr noundef nonnull align 4 dereferenceable(4) %33) #18 store ptr null, ptr %13, align 8, !tbaa !100 %34 = load ptr, ptr %8, align 8, !tbaa !100 %35 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %36 = load ptr, ptr %35, align 8, !tbaa !100 %37 = load ptr, ptr %12, align 8, !tbaa !100 %38 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %39 = call noundef ptr @_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_(ptr noundef %34, ptr noundef %36, ptr noundef %37, ptr noundef nonnull align 1 dereferenceable(1) %38) #18 store ptr %39, ptr %13, align 8, !tbaa !100 %40 = load ptr, ptr %13, align 8, !tbaa !100 %41 = getelementptr inbounds nuw i32, ptr %40, i32 1 store ptr %41, ptr %13, align 8, !tbaa !100 %42 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %43 = load ptr, ptr %42, align 8, !tbaa !100 %44 = load ptr, ptr %9, align 8, !tbaa !100 %45 = load ptr, ptr %13, align 8, !tbaa !100 %46 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 %47 = call noundef ptr @_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_(ptr noundef %43, ptr noundef %44, ptr noundef %45, ptr noundef nonnull align 1 dereferenceable(1) %46) #18 store ptr %47, ptr %13, align 8, !tbaa !100 %48 = load ptr, ptr %8, align 8, !tbaa !100 %49 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %49, i32 0, i32 2 %51 = load ptr, ptr %50, align 8, !tbaa !101 %52 = load ptr, ptr %8, align 8, !tbaa !100 %53 = ptrtoint ptr %51 to i64 %54 = ptrtoint ptr %52 to i64 %55 = sub i64 %53, %54 %56 = sdiv exact i64 %55, 4 call void @_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef %48, i64 noundef %56) %57 = load ptr, ptr %12, align 8, !tbaa !100 %58 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %59 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %58, i32 0, i32 0 store ptr %57, ptr %59, align 8, !tbaa !81 %60 = load ptr, ptr %13, align 8, !tbaa !100 %61 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %62 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %61, i32 0, i32 1 store ptr %60, ptr %62, align 8, !tbaa !82 %63 = load ptr, ptr %12, align 8, !tbaa !100 %64 = load i64, ptr %7, align 8, !tbaa !97 %65 = getelementptr inbounds nuw i32, ptr %63, i64 %64 %66 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %15, i32 0, i32 0 %67 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %66, i32 0, i32 2 store ptr %65, ptr %67, align 8, !tbaa !101 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.27", align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %5 = load ptr, ptr %2, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %3) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %4) #18 %6 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %4, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 1) #18 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.27", ptr %3, i32 0, i32 0 store ptr %8, ptr %9, align 8 %10 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %4) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %3) #18 ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt15__new_allocatorIiE9constructIiJiEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !274 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %5, align 8, !tbaa !100 %8 = load ptr, ptr %6, align 8, !tbaa !100 %9 = load i32, ptr %8, align 4, !tbaa !72 store i32 %9, ptr %7, align 4, !tbaa !72 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !280 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !280 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE9constructIS2_JRKS2_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %7, ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(24) %9) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %12 = alloca ptr, align 8 %13 = alloca ptr, align 8 %14 = alloca ptr, align 8 %15 = alloca i32, align 4 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %1, ptr %16, align 8 store ptr %0, ptr %5, align 8, !tbaa !69 store ptr %2, ptr %6, align 8, !tbaa !68 %17 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %18 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 1, ptr noundef @.str.51) store i64 %18, ptr %7, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %17, i32 0, i32 0 %20 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %19, i32 0, i32 0 %21 = load ptr, ptr %20, align 8, !tbaa !79 store ptr %21, ptr %8, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %22 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %17, i32 0, i32 0 %23 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %22, i32 0, i32 1 %24 = load ptr, ptr %23, align 8, !tbaa !80 store ptr %24, ptr %9, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 %25 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %11, i32 0, i32 0 store ptr %25, ptr %26, align 8 %27 = call noundef i64 @_ZN9__gnu_cxxmiIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %11) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 store i64 %27, ptr %10, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 %28 = load i64, ptr %7, align 8, !tbaa !97 %29 = call noundef ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %28) store ptr %29, ptr %12, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %30 = load ptr, ptr %12, align 8, !tbaa !68 store ptr %30, ptr %13, align 8, !tbaa !68 %31 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %17, i32 0, i32 0 %32 = load ptr, ptr %12, align 8, !tbaa !68 %33 = load i64, ptr %10, align 8, !tbaa !97 %34 = getelementptr inbounds nuw %"class.std::vector.14", ptr %32, i64 %33 %35 = load ptr, ptr %6, align 8, !tbaa !68 invoke void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %31, ptr noundef %34, ptr noundef nonnull align 8 dereferenceable(24) %35) to label %36 unwind label %51 36: ; preds = %3 store ptr null, ptr %13, align 8, !tbaa !68 %37 = load ptr, ptr %8, align 8, !tbaa !68 %38 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %39 = load ptr, ptr %38, align 8, !tbaa !68 %40 = load ptr, ptr %12, align 8, !tbaa !68 %41 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %42 = call noundef ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_(ptr noundef %37, ptr noundef %39, ptr noundef %40, ptr noundef nonnull align 1 dereferenceable(1) %41) #18 store ptr %42, ptr %13, align 8, !tbaa !68 %43 = load ptr, ptr %13, align 8, !tbaa !68 %44 = getelementptr inbounds nuw %"class.std::vector.14", ptr %43, i32 1 store ptr %44, ptr %13, align 8, !tbaa !68 %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %46 = load ptr, ptr %45, align 8, !tbaa !68 %47 = load ptr, ptr %9, align 8, !tbaa !68 %48 = load ptr, ptr %13, align 8, !tbaa !68 %49 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 %50 = call noundef ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_(ptr noundef %46, ptr noundef %47, ptr noundef %48, ptr noundef nonnull align 1 dereferenceable(1) %49) #18 store ptr %50, ptr %13, align 8, !tbaa !68 br label %79 51: ; preds = %3 %52 = landingpad { ptr, i32 } catch ptr null %53 = extractvalue { ptr, i32 } %52, 0 store ptr %53, ptr %14, align 8 %54 = extractvalue { ptr, i32 } %52, 1 store i32 %54, ptr %15, align 4 br label %55 55: ; preds = %51 %56 = load ptr, ptr %14, align 8 %57 = call ptr @__cxa_begin_catch(ptr %56) #18 %58 = load ptr, ptr %13, align 8, !tbaa !68 %59 = icmp ne ptr %58, null br i1 %59, label %65, label %60 60: ; preds = %55 %61 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %17, i32 0, i32 0 %62 = load ptr, ptr %12, align 8, !tbaa !68 %63 = load i64, ptr %10, align 8, !tbaa !97 %64 = getelementptr inbounds nuw %"class.std::vector.14", ptr %62, i64 %63 call void @_ZNSt16allocator_traitsISaISt6vectorIiSaIiEEEE7destroyIS2_EEvRS3_PT_(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr noundef %64) #18 br label %74 65: ; preds = %55 %66 = load ptr, ptr %12, align 8, !tbaa !68 %67 = load ptr, ptr %13, align 8, !tbaa !68 %68 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #18 invoke void @_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E(ptr noundef %66, ptr noundef %67, ptr noundef nonnull align 1 dereferenceable(1) %68) to label %69 unwind label %70 69: ; preds = %65 br label %74 70: ; preds = %77, %74, %65 %71 = landingpad { ptr, i32 } cleanup %72 = extractvalue { ptr, i32 } %71, 0 store ptr %72, ptr %14, align 8 %73 = extractvalue { ptr, i32 } %71, 1 store i32 %73, ptr %15, align 4 invoke void @__cxa_end_catch() to label %78 unwind label %105 74: ; preds = %69, %60 %75 = load ptr, ptr %12, align 8, !tbaa !68 %76 = load i64, ptr %7, align 8, !tbaa !97 invoke void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %75, i64 noundef %76) to label %77 unwind label %70 77: ; preds = %74 invoke void @__cxa_rethrow() #19 to label %108 unwind label %70 78: ; preds = %70 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %100 79: ; preds = %36 %80 = load ptr, ptr %8, align 8, !tbaa !68 %81 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %17, i32 0, i32 0 %82 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %81, i32 0, i32 2 %83 = load ptr, ptr %82, align 8, !tbaa !128 %84 = load ptr, ptr %8, align 8, !tbaa !68 %85 = ptrtoint ptr %83 to i64 %86 = ptrtoint ptr %84 to i64 %87 = sub i64 %85, %86 %88 = sdiv exact i64 %87, 24 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %80, i64 noundef %88) %89 = load ptr, ptr %12, align 8, !tbaa !68 %90 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %17, i32 0, i32 0 %91 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %90, i32 0, i32 0 store ptr %89, ptr %91, align 8, !tbaa !79 %92 = load ptr, ptr %13, align 8, !tbaa !68 %93 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %17, i32 0, i32 0 %94 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %93, i32 0, i32 1 store ptr %92, ptr %94, align 8, !tbaa !80 %95 = load ptr, ptr %12, align 8, !tbaa !68 %96 = load i64, ptr %7, align 8, !tbaa !97 %97 = getelementptr inbounds nuw %"class.std::vector.14", ptr %95, i64 %96 %98 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %17, i32 0, i32 0 %99 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %98, i32 0, i32 2 store ptr %97, ptr %99, align 8, !tbaa !128 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void 100: ; preds = %78 %101 = load ptr, ptr %14, align 8 %102 = load i32, ptr %15, align 4 %103 = insertvalue { ptr, i32 } poison, ptr %101, 0 %104 = insertvalue { ptr, i32 } %103, i32 %102, 1 resume { ptr, i32 } %104 105: ; preds = %70 %106 = landingpad { ptr, i32 } catch ptr null %107 = extractvalue { ptr, i32 } %106, 0 call void @__clang_call_terminate(ptr %107) #20 unreachable 108: ; preds = %77 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt6vectorIiSaIiEEE9constructIS2_JRKS2_EEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !282 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %5, align 8, !tbaa !68 %8 = load ptr, ptr %6, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %8) ret void } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1, ptr noundef %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !71 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !75 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = load ptr, ptr %6, align 8, !tbaa !75 %10 = load ptr, ptr %6, align 8, !tbaa !75 %11 = call noundef i64 @_ZNSt11char_traitsIcE6lengthEPKc(ptr noundef %10) %12 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %8, i64 noundef 0, ptr noundef %9, i64 noundef %11) ret ptr %12 } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1, i64 noundef %2, ptr noundef %3, i64 noundef %4) #0 align 2 { %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca i64, align 8 %9 = alloca ptr, align 8 %10 = alloca i64, align 8 store ptr %0, ptr %6, align 8, !tbaa !71 store i64 %1, ptr %7, align 8, !tbaa !97 store i64 %2, ptr %8, align 8, !tbaa !97 store ptr %3, ptr %9, align 8, !tbaa !75 store i64 %4, ptr %10, align 8, !tbaa !97 %11 = load ptr, ptr %6, align 8 %12 = load i64, ptr %7, align 8, !tbaa !97 %13 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc(ptr noundef nonnull align 8 dereferenceable(32) %11, i64 noundef %12, ptr noundef @.str.58) %14 = load i64, ptr %7, align 8, !tbaa !97 %15 = load i64, ptr %8, align 8, !tbaa !97 %16 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm(ptr noundef nonnull align 8 dereferenceable(32) %11, i64 noundef %14, i64 noundef %15) #18 %17 = load ptr, ptr %9, align 8, !tbaa !75 %18 = load i64, ptr %10, align 8, !tbaa !97 %19 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm(ptr noundef nonnull align 8 dereferenceable(32) %11, i64 noundef %13, i64 noundef %16, ptr noundef %17, i64 noundef %18) ret ptr %19 } ; Function Attrs: mustprogress uwtable define available_externally noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1, ptr noundef %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !71 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !75 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #18 %10 = icmp ugt i64 %8, %9 br i1 %10, label %11, label %15 11: ; preds = %3 %12 = load ptr, ptr %6, align 8, !tbaa !75 %13 = load i64, ptr %5, align 8, !tbaa !97 %14 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #18 call void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef @.str.59, ptr noundef %12, i64 noundef %13, i64 noundef %14) #19 unreachable 15: ; preds = %3 %16 = load i64, ptr %5, align 8, !tbaa !97 ret i64 %16 } ; Function Attrs: mustprogress nounwind uwtable define available_externally noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1, i64 noundef %2) #1 align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca i64, align 8 %7 = alloca i8, align 1 store ptr %0, ptr %4, align 8, !tbaa !71 store i64 %1, ptr %5, align 8, !tbaa !97 store i64 %2, ptr %6, align 8, !tbaa !97 %8 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 %9 = load i64, ptr %6, align 8, !tbaa !97 %10 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #18 %11 = load i64, ptr %5, align 8, !tbaa !97 %12 = sub i64 %10, %11 %13 = icmp ult i64 %9, %12 %14 = zext i1 %13 to i8 store i8 %14, ptr %7, align 1, !tbaa !87 %15 = load i8, ptr %7, align 1, !tbaa !87, !range !88, !noundef !89 %16 = trunc i8 %15 to i1 br i1 %16, label %17, label %19 17: ; preds = %3 %18 = load i64, ptr %6, align 8, !tbaa !97 br label %23 19: ; preds = %3 %20 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #18 %21 = load i64, ptr %5, align 8, !tbaa !97 %22 = sub i64 %20, %21 br label %23 23: ; preds = %19, %17 %24 = phi i64 [ %18, %17 ], [ %22, %19 ] call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 ret i64 %24 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_swap_dataERS2_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Vector_base>::_Vector_impl_data", align 8 store ptr %0, ptr %3, align 8, !tbaa !442 store ptr %1, ptr %4, align 8, !tbaa !442 %6 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %5) #18 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_copy_dataERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %7 = load ptr, ptr %4, align 8, !tbaa !442 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_copy_dataERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %8 = load ptr, ptr %4, align 8, !tbaa !442 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_copy_dataERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %5) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %5) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZN9__gnu_cxx14__alloc_traitsISaIiEiE10_S_on_swapERS1_S3_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !95 store ptr %1, ptr %4, align 8, !tbaa !95 %5 = load ptr, ptr %3, align 8, !tbaa !95 %6 = load ptr, ptr %4, align 8, !tbaa !95 call void @_ZSt15__alloc_on_swapISaIiEEvRT_S2_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef nonnull align 1 dereferenceable(1) %6) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !442 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %3, i32 0, i32 0 store ptr null, ptr %4, align 8, !tbaa !81 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %3, i32 0, i32 1 store ptr null, ptr %5, align 8, !tbaa !82 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %3, i32 0, i32 2 store ptr null, ptr %6, align 8, !tbaa !101 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_copy_dataERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !442 store ptr %1, ptr %4, align 8, !tbaa !442 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !442 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !81 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 0 store ptr %8, ptr %9, align 8, !tbaa !81 %10 = load ptr, ptr %4, align 8, !tbaa !442 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %10, i32 0, i32 1 %12 = load ptr, ptr %11, align 8, !tbaa !82 %13 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 1 store ptr %12, ptr %13, align 8, !tbaa !82 %14 = load ptr, ptr %4, align 8, !tbaa !442 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %14, i32 0, i32 2 %16 = load ptr, ptr %15, align 8, !tbaa !101 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %5, i32 0, i32 2 store ptr %16, ptr %17, align 8, !tbaa !101 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt15__alloc_on_swapISaIiEEvRT_S2_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !95 store ptr %1, ptr %4, align 8, !tbaa !95 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZN9__gnu_cxxmiIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSB_SE_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !132 store ptr %1, ptr %4, align 8, !tbaa !132 %5 = load ptr, ptr %3, align 8, !tbaa !132 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !68 %8 = load ptr, ptr %4, align 8, !tbaa !132 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !68 %11 = ptrtoint ptr %7 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 %14 = sdiv exact i64 %13, 24 ret i64 %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE6cbeginEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #1 comdat align 2 { %2 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !69 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 0 call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE18_M_insert_dispatchIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEEEvS8_T_S9_St12__false_type(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr %2, ptr %3) #0 comdat align 2 { %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %1, ptr %12, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 store ptr %2, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %3, ptr %14, align 8 store ptr %0, ptr %8, align 8, !tbaa !69 %15 = load ptr, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 call void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSA_(ptr noundef nonnull align 8 dereferenceable(8) %6) %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %9, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %10, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %11, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEEEvS8_T_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr %17, ptr %19, ptr %21) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !134 store i64 %1, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !191 %10 = load i64, ptr %5, align 8, !tbaa !97 %11 = getelementptr inbounds %"class.std::vector.14", ptr %9, i64 %10 store ptr %11, ptr %6, align 8, !tbaa !68 call void @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 ret ptr %13 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !132 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !132 store ptr %1, ptr %4, align 8, !tbaa !445 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !445 %8 = load ptr, ptr %7, align 8, !tbaa !68 store ptr %8, ptr %6, align 8, !tbaa !136 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS1_S3_EEEEvS8_T_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr %2, ptr %3) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca ptr, align 8 %9 = alloca i64, align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %12 = alloca i64, align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %14 = alloca ptr, align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %17 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %18 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %19 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %20 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %21 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %22 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %23 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %24 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %25 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %26 = alloca ptr, align 8 %27 = alloca ptr, align 8 %28 = alloca i64, align 8 %29 = alloca ptr, align 8 %30 = alloca ptr, align 8 %31 = alloca ptr, align 8 %32 = alloca i32, align 4 %33 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %34 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %35 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %1, ptr %35, align 8 %36 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 store ptr %2, ptr %36, align 8 %37 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %3, ptr %37, align 8 store ptr %0, ptr %8, align 8, !tbaa !69 %38 = load ptr, ptr %8, align 8 %39 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #18 br i1 %39, label %40, label %222 40: ; preds = %4 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %41 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %10, i32 0, i32 0 %42 = load ptr, ptr %41, align 8 %43 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %11, i32 0, i32 0 %44 = load ptr, ptr %43, align 8 %45 = call noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESA_SA_(ptr %42, ptr %44) store i64 %45, ptr %9, align 8, !tbaa !97 %46 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %47 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %46, i32 0, i32 2 %48 = load ptr, ptr %47, align 8, !tbaa !128 %49 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %49, i32 0, i32 1 %51 = load ptr, ptr %50, align 8, !tbaa !80 %52 = ptrtoint ptr %48 to i64 %53 = ptrtoint ptr %51 to i64 %54 = sub i64 %52, %53 %55 = sdiv exact i64 %54, 24 %56 = load i64, ptr %9, align 8, !tbaa !97 %57 = icmp uge i64 %55, %56 br i1 %57, label %58, label %144 58: ; preds = %40 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %59 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %60 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %13, i32 0, i32 0 store ptr %59, ptr %60, align 8 %61 = call noundef i64 @_ZN9__gnu_cxxmiIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %5) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 store i64 %61, ptr %12, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 %62 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %63 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %62, i32 0, i32 1 %64 = load ptr, ptr %63, align 8, !tbaa !80 store ptr %64, ptr %14, align 8, !tbaa !68 %65 = load i64, ptr %12, align 8, !tbaa !97 %66 = load i64, ptr %9, align 8, !tbaa !97 %67 = icmp ugt i64 %65, %66 br i1 %67, label %68, label %104 68: ; preds = %58 %69 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %70 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %69, i32 0, i32 1 %71 = load ptr, ptr %70, align 8, !tbaa !80 %72 = load i64, ptr %9, align 8, !tbaa !97 %73 = sub i64 0, %72 %74 = getelementptr inbounds %"class.std::vector.14", ptr %71, i64 %73 %75 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %76 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %75, i32 0, i32 1 %77 = load ptr, ptr %76, align 8, !tbaa !80 %78 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %79 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %78, i32 0, i32 1 %80 = load ptr, ptr %79, align 8, !tbaa !80 %81 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %82 = call noundef ptr @_ZSt22__uninitialized_move_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %74, ptr noundef %77, ptr noundef %80, ptr noundef nonnull align 1 dereferenceable(1) %81) %83 = load i64, ptr %9, align 8, !tbaa !97 %84 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %85 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %84, i32 0, i32 1 %86 = load ptr, ptr %85, align 8, !tbaa !80 %87 = getelementptr inbounds nuw %"class.std::vector.14", ptr %86, i64 %83 store ptr %87, ptr %85, align 8, !tbaa !80 %88 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %89 = load ptr, ptr %88, align 8, !tbaa !68 %90 = load ptr, ptr %14, align 8, !tbaa !68 %91 = load i64, ptr %9, align 8, !tbaa !97 %92 = sub i64 0, %91 %93 = getelementptr inbounds %"class.std::vector.14", ptr %90, i64 %92 %94 = load ptr, ptr %14, align 8, !tbaa !68 %95 = call noundef ptr @_ZSt13move_backwardIPSt6vectorIiSaIiEES3_ET0_T_S5_S4_(ptr noundef %89, ptr noundef %93, ptr noundef %94) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %16, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %96 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %15, i32 0, i32 0 %97 = load ptr, ptr %96, align 8 %98 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %16, i32 0, i32 0 %99 = load ptr, ptr %98, align 8 %100 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %17, i32 0, i32 0 %101 = load ptr, ptr %100, align 8 %102 = call ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES8_ET0_T_SA_S9_(ptr %97, ptr %99, ptr %101) %103 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %18, i32 0, i32 0 store ptr %102, ptr %103, align 8 br label %143 104: ; preds = %58 call void @llvm.lifetime.start.p0(i64 8, ptr %19) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %105 = load i64, ptr %12, align 8, !tbaa !97 call void @_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEmEvRT_T0_(ptr noundef nonnull align 8 dereferenceable(8) %19, i64 noundef %105) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %20, ptr align 8 %19, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %106 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %107 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %106, i32 0, i32 1 %108 = load ptr, ptr %107, align 8, !tbaa !80 %109 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %110 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %20, i32 0, i32 0 %111 = load ptr, ptr %110, align 8 %112 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %21, i32 0, i32 0 %113 = load ptr, ptr %112, align 8 %114 = call noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_S4_ET0_T_SA_S9_RSaIT1_E(ptr %111, ptr %113, ptr noundef %108, ptr noundef nonnull align 1 dereferenceable(1) %109) %115 = load i64, ptr %9, align 8, !tbaa !97 %116 = load i64, ptr %12, align 8, !tbaa !97 %117 = sub i64 %115, %116 %118 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %119 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %118, i32 0, i32 1 %120 = load ptr, ptr %119, align 8, !tbaa !80 %121 = getelementptr inbounds nuw %"class.std::vector.14", ptr %120, i64 %117 store ptr %121, ptr %119, align 8, !tbaa !80 %122 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %123 = load ptr, ptr %122, align 8, !tbaa !68 %124 = load ptr, ptr %14, align 8, !tbaa !68 %125 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %126 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %125, i32 0, i32 1 %127 = load ptr, ptr %126, align 8, !tbaa !80 %128 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %129 = call noundef ptr @_ZSt22__uninitialized_move_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %123, ptr noundef %124, ptr noundef %127, ptr noundef nonnull align 1 dereferenceable(1) %128) %130 = load i64, ptr %12, align 8, !tbaa !97 %131 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %132 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %131, i32 0, i32 1 %133 = load ptr, ptr %132, align 8, !tbaa !80 %134 = getelementptr inbounds nuw %"class.std::vector.14", ptr %133, i64 %130 store ptr %134, ptr %132, align 8, !tbaa !80 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %22, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %23, ptr align 8 %19, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %24, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %135 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %22, i32 0, i32 0 %136 = load ptr, ptr %135, align 8 %137 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %23, i32 0, i32 0 %138 = load ptr, ptr %137, align 8 %139 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %24, i32 0, i32 0 %140 = load ptr, ptr %139, align 8 %141 = call ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES8_ET0_T_SA_S9_(ptr %136, ptr %138, ptr %140) %142 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %25, i32 0, i32 0 store ptr %141, ptr %142, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %19) #18 br label %143 143: ; preds = %104, %68 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 br label %221 144: ; preds = %40 call void @llvm.lifetime.start.p0(i64 8, ptr %26) #18 %145 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %146 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %145, i32 0, i32 0 %147 = load ptr, ptr %146, align 8, !tbaa !79 store ptr %147, ptr %26, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %27) #18 %148 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %149 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %148, i32 0, i32 1 %150 = load ptr, ptr %149, align 8, !tbaa !80 store ptr %150, ptr %27, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %28) #18 %151 = load i64, ptr %9, align 8, !tbaa !97 %152 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %151, ptr noundef @.str.60) store i64 %152, ptr %28, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %29) #18 %153 = load i64, ptr %28, align 8, !tbaa !97 %154 = call noundef ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %153) store ptr %154, ptr %29, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %30) #18 %155 = load ptr, ptr %29, align 8, !tbaa !68 store ptr %155, ptr %30, align 8, !tbaa !68 %156 = load ptr, ptr %26, align 8, !tbaa !68 %157 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %158 = load ptr, ptr %157, align 8, !tbaa !68 %159 = load ptr, ptr %29, align 8, !tbaa !68 %160 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %161 = invoke noundef ptr @_ZSt34__uninitialized_move_if_noexcept_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %156, ptr noundef %158, ptr noundef %159, ptr noundef nonnull align 1 dereferenceable(1) %160) to label %162 unwind label %178 162: ; preds = %144 store ptr %161, ptr %30, align 8, !tbaa !68 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %33, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %34, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %163 = load ptr, ptr %30, align 8, !tbaa !68 %164 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %165 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %33, i32 0, i32 0 %166 = load ptr, ptr %165, align 8 %167 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %34, i32 0, i32 0 %168 = load ptr, ptr %167, align 8 %169 = invoke noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_S4_ET0_T_SA_S9_RSaIT1_E(ptr %166, ptr %168, ptr noundef %163, ptr noundef nonnull align 1 dereferenceable(1) %164) to label %170 unwind label %178 170: ; preds = %162 store ptr %169, ptr %30, align 8, !tbaa !68 %171 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %172 = load ptr, ptr %171, align 8, !tbaa !68 %173 = load ptr, ptr %27, align 8, !tbaa !68 %174 = load ptr, ptr %30, align 8, !tbaa !68 %175 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %176 = invoke noundef ptr @_ZSt34__uninitialized_move_if_noexcept_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %172, ptr noundef %173, ptr noundef %174, ptr noundef nonnull align 1 dereferenceable(1) %175) to label %177 unwind label %178 177: ; preds = %170 store ptr %176, ptr %30, align 8, !tbaa !68 br label %197 178: ; preds = %170, %162, %144 %179 = landingpad { ptr, i32 } catch ptr null %180 = extractvalue { ptr, i32 } %179, 0 store ptr %180, ptr %31, align 8 %181 = extractvalue { ptr, i32 } %179, 1 store i32 %181, ptr %32, align 4 br label %182 182: ; preds = %178 %183 = load ptr, ptr %31, align 8 %184 = call ptr @__cxa_begin_catch(ptr %183) #18 %185 = load ptr, ptr %29, align 8, !tbaa !68 %186 = load ptr, ptr %30, align 8, !tbaa !68 %187 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 invoke void @_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E(ptr noundef %185, ptr noundef %186, ptr noundef nonnull align 1 dereferenceable(1) %187) to label %188 unwind label %192 188: ; preds = %182 %189 = load ptr, ptr %29, align 8, !tbaa !68 %190 = load i64, ptr %28, align 8, !tbaa !97 invoke void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef %189, i64 noundef %190) to label %191 unwind label %192 191: ; preds = %188 invoke void @__cxa_rethrow() #19 to label %231 unwind label %192 192: ; preds = %191, %188, %182 %193 = landingpad { ptr, i32 } cleanup %194 = extractvalue { ptr, i32 } %193, 0 store ptr %194, ptr %31, align 8 %195 = extractvalue { ptr, i32 } %193, 1 store i32 %195, ptr %32, align 4 invoke void @__cxa_end_catch() to label %196 unwind label %228 196: ; preds = %192 call void @llvm.lifetime.end.p0(i64 8, ptr %30) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %28) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %27) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 br label %223 197: ; preds = %177 %198 = load ptr, ptr %26, align 8, !tbaa !68 %199 = load ptr, ptr %27, align 8, !tbaa !68 %200 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 call void @_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E(ptr noundef %198, ptr noundef %199, ptr noundef nonnull align 1 dereferenceable(1) %200) %201 = load ptr, ptr %26, align 8, !tbaa !68 %202 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %203 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %202, i32 0, i32 2 %204 = load ptr, ptr %203, align 8, !tbaa !128 %205 = load ptr, ptr %26, align 8, !tbaa !68 %206 = ptrtoint ptr %204 to i64 %207 = ptrtoint ptr %205 to i64 %208 = sub i64 %206, %207 %209 = sdiv exact i64 %208, 24 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef %201, i64 noundef %209) %210 = load ptr, ptr %29, align 8, !tbaa !68 %211 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %212 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %211, i32 0, i32 0 store ptr %210, ptr %212, align 8, !tbaa !79 %213 = load ptr, ptr %30, align 8, !tbaa !68 %214 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %215 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %214, i32 0, i32 1 store ptr %213, ptr %215, align 8, !tbaa !80 %216 = load ptr, ptr %29, align 8, !tbaa !68 %217 = load i64, ptr %28, align 8, !tbaa !97 %218 = getelementptr inbounds nuw %"class.std::vector.14", ptr %216, i64 %217 %219 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %220 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %219, i32 0, i32 2 store ptr %218, ptr %220, align 8, !tbaa !128 call void @llvm.lifetime.end.p0(i64 8, ptr %30) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %28) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %27) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %26) #18 br label %221 221: ; preds = %197, %143 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 br label %222 222: ; preds = %221, %4 ret void 223: ; preds = %196 %224 = load ptr, ptr %31, align 8 %225 = load i32, ptr %32, align 4 %226 = insertvalue { ptr, i32 } poison, ptr %224, 0 %227 = insertvalue { ptr, i32 } %226, i32 %225, 1 resume { ptr, i32 } %227 228: ; preds = %192 %229 = landingpad { ptr, i32 } catch ptr null %230 = extractvalue { ptr, i32 } %229, 0 call void @__clang_call_terminate(ptr %230) #20 unreachable 231: ; preds = %191 unreachable } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSA_(ptr noundef nonnull align 8 dereferenceable(8) %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !134 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESA_SA_(ptr %0, ptr %1) #5 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 store ptr %0, ptr %7, align 8 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %1, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 call void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSA_(ptr noundef nonnull align 8 dereferenceable(8) %3) %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = call noundef i64 @_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESA_SA_St26random_access_iterator_tag(ptr %10, ptr %12) ret i64 %13 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt22__uninitialized_move_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.std::move_iterator", align 8 %10 = alloca %"class.std::move_iterator", align 8 store ptr %0, ptr %5, align 8, !tbaa !68 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !280 %11 = load ptr, ptr %5, align 8, !tbaa !68 %12 = call ptr @_ZSt18make_move_iteratorIPSt6vectorIiSaIiEEESt13move_iteratorIT_ES5_(ptr noundef %11) %13 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %9, i32 0, i32 0 store ptr %12, ptr %13, align 8 %14 = load ptr, ptr %6, align 8, !tbaa !68 %15 = call ptr @_ZSt18make_move_iteratorIPSt6vectorIiSaIiEEESt13move_iteratorIT_ES5_(ptr noundef %14) %16 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %10, i32 0, i32 0 store ptr %15, ptr %16, align 8 %17 = load ptr, ptr %7, align 8, !tbaa !68 %18 = load ptr, ptr %8, align 8, !tbaa !280 %19 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %9, i32 0, i32 0 %20 = load ptr, ptr %19, align 8 %21 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %10, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = call noundef ptr @_ZSt22__uninitialized_copy_aISt13move_iteratorIPSt6vectorIiSaIiEEES4_S3_ET0_T_S7_S6_RSaIT1_E(ptr %20, ptr %22, ptr noundef %17, ptr noundef nonnull align 1 dereferenceable(1) %18) ret ptr %23 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt13move_backwardIPSt6vectorIiSaIiEES3_ET0_T_S5_S4_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = call noundef ptr @_ZSt12__miter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %7) %9 = load ptr, ptr %5, align 8, !tbaa !68 %10 = call noundef ptr @_ZSt12__miter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %9) %11 = load ptr, ptr %6, align 8, !tbaa !68 %12 = call noundef ptr @_ZSt22__copy_move_backward_aILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %8, ptr noundef %10, ptr noundef %11) ret ptr %12 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES8_ET0_T_SA_S9_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %0, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 store ptr %1, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %2, ptr %15, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %9, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEET_S9_(ptr %17) %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %8, i32 0, i32 0 store ptr %18, ptr %19, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %11, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEET_S9_(ptr %21) %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %10, i32 0, i32 0 store ptr %22, ptr %23, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %8, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %10, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %12, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 %30 = call ptr @_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES8_ET1_T0_SA_S9_(ptr %25, ptr %27, ptr %29) %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %30, ptr %31, align 8 %32 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 %33 = load ptr, ptr %32, align 8 ret ptr %33 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEmEvRT_T0_(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !134 store i64 %1, ptr %4, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %6 = load i64, ptr %4, align 8, !tbaa !97 store i64 %6, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %3, align 8, !tbaa !134 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = load ptr, ptr %3, align 8, !tbaa !134 call void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSA_(ptr noundef nonnull align 8 dereferenceable(8) %9) call void @_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEElEvRT_T0_St26random_access_iterator_tag(ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef %8) call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_S4_ET0_T_SA_S9_RSaIT1_E(ptr %0, ptr %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !280 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %13 = load ptr, ptr %7, align 8, !tbaa !68 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %9, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %10, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call noundef ptr @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET0_T_SA_S9_(ptr %15, ptr %17, ptr noundef %13) ret ptr %18 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt34__uninitialized_move_if_noexcept_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.std::move_iterator", align 8 %10 = alloca %"class.std::move_iterator", align 8 store ptr %0, ptr %5, align 8, !tbaa !68 store ptr %1, ptr %6, align 8, !tbaa !68 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !280 %11 = load ptr, ptr %5, align 8, !tbaa !68 %12 = call ptr @_ZSt32__make_move_if_noexcept_iteratorISt6vectorIiSaIiEESt13move_iteratorIPS2_EET0_PT_(ptr noundef %11) %13 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %9, i32 0, i32 0 store ptr %12, ptr %13, align 8 %14 = load ptr, ptr %6, align 8, !tbaa !68 %15 = call ptr @_ZSt32__make_move_if_noexcept_iteratorISt6vectorIiSaIiEESt13move_iteratorIPS2_EET0_PT_(ptr noundef %14) %16 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %10, i32 0, i32 0 store ptr %15, ptr %16, align 8 %17 = load ptr, ptr %7, align 8, !tbaa !68 %18 = load ptr, ptr %8, align 8, !tbaa !280 %19 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %9, i32 0, i32 0 %20 = load ptr, ptr %19, align 8 %21 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %10, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = call noundef ptr @_ZSt22__uninitialized_copy_aISt13move_iteratorIPSt6vectorIiSaIiEEES4_S3_ET0_T_S7_S6_RSaIT1_E(ptr %20, ptr %22, ptr noundef %17, ptr noundef nonnull align 1 dereferenceable(1) %18) ret ptr %23 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESA_SA_St26random_access_iterator_tag(ptr %0, ptr %1) #4 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 store ptr %0, ptr %5, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %1, ptr %6, align 8 %7 = call noundef i64 @_ZN9__gnu_cxxmiIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret i64 %7 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt22__uninitialized_copy_aISt13move_iteratorIPSt6vectorIiSaIiEEES4_S3_ET0_T_S7_S6_RSaIT1_E(ptr %0, ptr %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca %"class.std::move_iterator", align 8 %6 = alloca %"class.std::move_iterator", align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.std::move_iterator", align 8 %10 = alloca %"class.std::move_iterator", align 8 %11 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %5, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %6, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !280 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %13 = load ptr, ptr %7, align 8, !tbaa !68 %14 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %9, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %10, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call noundef ptr @_ZSt18uninitialized_copyISt13move_iteratorIPSt6vectorIiSaIiEEES4_ET0_T_S7_S6_(ptr %15, ptr %17, ptr noundef %13) ret ptr %18 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt18make_move_iteratorIPSt6vectorIiSaIiEEESt13move_iteratorIT_ES5_(ptr noundef %0) #5 comdat { %2 = alloca %"class.std::move_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 %4 = load ptr, ptr %3, align 8, !tbaa !68 call void @_ZNSt13move_iteratorIPSt6vectorIiSaIiEEEC2ES3_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %4) %5 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %2, i32 0, i32 0 %6 = load ptr, ptr %5, align 8 ret ptr %6 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt18uninitialized_copyISt13move_iteratorIPSt6vectorIiSaIiEEES4_ET0_T_S7_S6_(ptr %0, ptr %1, ptr noundef %2) #5 comdat { %4 = alloca %"class.std::move_iterator", align 8 %5 = alloca %"class.std::move_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca i8, align 1 %8 = alloca i8, align 1 %9 = alloca %"class.std::move_iterator", align 8 %10 = alloca %"class.std::move_iterator", align 8 %11 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %4, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 store i8 0, ptr %7, align 1, !tbaa !87 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 store i8 0, ptr %8, align 1, !tbaa !87 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %13 = load ptr, ptr %6, align 8, !tbaa !68 %14 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %9, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %10, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call noundef ptr @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPSt6vectorIiSaIiEEES6_EET0_T_S9_S8_(ptr %15, ptr %17, ptr noundef %13) call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 ret ptr %18 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPSt6vectorIiSaIiEEES6_EET0_T_S9_S8_(ptr %0, ptr %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca %"class.std::move_iterator", align 8 %5 = alloca %"class.std::move_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.std::move_iterator", align 8 %8 = alloca %"class.std::move_iterator", align 8 %9 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %4, i32 0, i32 0 store ptr %0, ptr %9, align 8 %10 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %10, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %11 = load ptr, ptr %6, align 8, !tbaa !68 %12 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %7, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 %14 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %8, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = call noundef ptr @_ZSt16__do_uninit_copyISt13move_iteratorIPSt6vectorIiSaIiEEES4_ET0_T_S7_S6_(ptr %13, ptr %15, ptr noundef %11) ret ptr %16 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZSt16__do_uninit_copyISt13move_iteratorIPSt6vectorIiSaIiEEES4_ET0_T_S7_S6_(ptr %0, ptr %1, ptr noundef %2) #0 comdat personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::move_iterator", align 8 %5 = alloca %"class.std::move_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %4, i32 0, i32 0 store ptr %0, ptr %10, align 8 %11 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %5, i32 0, i32 0 store ptr %1, ptr %11, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %12 = load ptr, ptr %6, align 8, !tbaa !68 store ptr %12, ptr %7, align 8, !tbaa !68 br label %13 13: ; preds = %23, %3 %14 = invoke noundef zeroext i1 @_ZStneIPSt6vectorIiSaIiEEEbRKSt13move_iteratorIT_ES8_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %5) to label %15 unwind label %26 15: ; preds = %13 br i1 %14, label %16, label %36 16: ; preds = %15 %17 = load ptr, ptr %7, align 8, !tbaa !68 %18 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNKSt13move_iteratorIPSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) to label %19 unwind label %26 19: ; preds = %16 invoke void @_ZSt10_ConstructISt6vectorIiSaIiEEJS2_EEvPT_DpOT0_(ptr noundef %17, ptr noundef nonnull align 8 dereferenceable(24) %18) to label %20 unwind label %26 20: ; preds = %19 br label %21 21: ; preds = %20 %22 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt13move_iteratorIPSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %4) to label %23 unwind label %26 23: ; preds = %21 %24 = load ptr, ptr %7, align 8, !tbaa !68 %25 = getelementptr inbounds nuw %"class.std::vector.14", ptr %24, i32 1 store ptr %25, ptr %7, align 8, !tbaa !68 br label %13, !llvm.loop !447 26: ; preds = %21, %19, %16, %13 %27 = landingpad { ptr, i32 } catch ptr null %28 = extractvalue { ptr, i32 } %27, 0 store ptr %28, ptr %8, align 8 %29 = extractvalue { ptr, i32 } %27, 1 store i32 %29, ptr %9, align 4 br label %30 30: ; preds = %26 %31 = load ptr, ptr %8, align 8 %32 = call ptr @__cxa_begin_catch(ptr %31) #18 %33 = load ptr, ptr %6, align 8, !tbaa !68 %34 = load ptr, ptr %7, align 8, !tbaa !68 invoke void @_ZSt8_DestroyIPSt6vectorIiSaIiEEEvT_S4_(ptr noundef %33, ptr noundef %34) to label %35 unwind label %38 35: ; preds = %30 invoke void @__cxa_rethrow() #19 to label %52 unwind label %38 36: ; preds = %15 %37 = load ptr, ptr %7, align 8, !tbaa !68 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret ptr %37 38: ; preds = %35, %30 %39 = landingpad { ptr, i32 } cleanup %40 = extractvalue { ptr, i32 } %39, 0 store ptr %40, ptr %8, align 8 %41 = extractvalue { ptr, i32 } %39, 1 store i32 %41, ptr %9, align 4 invoke void @__cxa_end_catch() to label %42 unwind label %49 42: ; preds = %38 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %44 43: ; No predecessors! unreachable 44: ; preds = %42 %45 = load ptr, ptr %8, align 8 %46 = load i32, ptr %9, align 4 %47 = insertvalue { ptr, i32 } poison, ptr %45, 0 %48 = insertvalue { ptr, i32 } %47, i32 %46, 1 resume { ptr, i32 } %48 49: ; preds = %38 %50 = landingpad { ptr, i32 } catch ptr null %51 = extractvalue { ptr, i32 } %50, 0 call void @__clang_call_terminate(ptr %51) #20 unreachable 52: ; preds = %35 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZStneIPSt6vectorIiSaIiEEEbRKSt13move_iteratorIT_ES8_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !448 store ptr %1, ptr %4, align 8, !tbaa !448 %5 = load ptr, ptr %3, align 8, !tbaa !448 %6 = load ptr, ptr %4, align 8, !tbaa !448 %7 = call noundef zeroext i1 @_ZSteqIPSt6vectorIiSaIiEEEbRKSt13move_iteratorIT_ES8_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) %8 = xor i1 %7, true ret i1 %8 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt10_ConstructISt6vectorIiSaIiEEJS2_EEvPT_DpOT0_(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8, !tbaa !68 %6 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEEC2EOS1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(24) ptr @_ZNKSt13move_iteratorIPSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !448 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !450 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt13move_iteratorIPSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !448 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !450 %6 = getelementptr inbounds nuw %"class.std::vector.14", ptr %5, i32 1 store ptr %6, ptr %4, align 8, !tbaa !450 ret ptr %3 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZSteqIPSt6vectorIiSaIiEEEbRKSt13move_iteratorIT_ES8_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !448 store ptr %1, ptr %4, align 8, !tbaa !448 %5 = load ptr, ptr %3, align 8, !tbaa !448 %6 = call noundef ptr @_ZNKSt13move_iteratorIPSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) %7 = load ptr, ptr %4, align 8, !tbaa !448 %8 = call noundef ptr @_ZNKSt13move_iteratorIPSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %7) %9 = icmp eq ptr %6, %8 ret i1 %9 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt13move_iteratorIPSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !448 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !450 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt13move_iteratorIPSt6vectorIiSaIiEEEC2ES3_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !448 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !68 store ptr %7, ptr %6, align 8, !tbaa !450 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt22__copy_move_backward_aILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %7) #18 %9 = load ptr, ptr %5, align 8, !tbaa !68 %10 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %9) #18 %11 = load ptr, ptr %6, align 8, !tbaa !68 %12 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %11) #18 %13 = call noundef ptr @_ZSt23__copy_move_backward_a1ILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %8, ptr noundef %10, ptr noundef %12) %14 = call noundef ptr @_ZSt12__niter_wrapIPSt6vectorIiSaIiEEET_RKS4_S4_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef %13) ret ptr %14 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__miter_baseIPSt6vectorIiSaIiEEET_S4_(ptr noundef %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !68 %3 = load ptr, ptr %2, align 8, !tbaa !68 ret ptr %3 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_wrapIPSt6vectorIiSaIiEEET_RKS4_S4_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !445 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %4, align 8, !tbaa !68 ret ptr %5 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt23__copy_move_backward_a1ILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %6, align 8, !tbaa !68 %10 = call noundef ptr @_ZSt23__copy_move_backward_a2ILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt23__copy_move_backward_a2ILb1EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %6, align 8, !tbaa !68 %10 = call noundef ptr @_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt6vectorIiSaIiEES6_EET0_T_S8_S7_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt6vectorIiSaIiEES6_EET0_T_S8_S7_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %4, align 8, !tbaa !68 %10 = ptrtoint ptr %8 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 24 store i64 %13, ptr %7, align 8, !tbaa !97 br label %14 14: ; preds = %23, %3 %15 = load i64, ptr %7, align 8, !tbaa !97 %16 = icmp sgt i64 %15, 0 br i1 %16, label %17, label %26 17: ; preds = %14 %18 = load ptr, ptr %5, align 8, !tbaa !68 %19 = getelementptr inbounds %"class.std::vector.14", ptr %18, i32 -1 store ptr %19, ptr %5, align 8, !tbaa !68 %20 = load ptr, ptr %6, align 8, !tbaa !68 %21 = getelementptr inbounds %"class.std::vector.14", ptr %20, i32 -1 store ptr %21, ptr %6, align 8, !tbaa !68 %22 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %19) #18 br label %23 23: ; preds = %17 %24 = load i64, ptr %7, align 8, !tbaa !97 %25 = add nsw i64 %24, -1 store i64 %25, ptr %7, align 8, !tbaa !97 br label %14, !llvm.loop !452 26: ; preds = %14 %27 = load ptr, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret ptr %27 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES8_ET1_T0_SA_S9_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %0, ptr %12, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 store ptr %1, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %2, ptr %14, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %9, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE(ptr %16) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %10, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE(ptr %19) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %11, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE(ptr %22) #18 %24 = call noundef ptr @_ZSt14__copy_move_a1ILb0EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %17, ptr noundef %20, ptr noundef %23) %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %8, i32 0, i32 0 %26 = load ptr, ptr %25, align 8 %27 = call ptr @_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET_S9_T0_(ptr %26, ptr noundef %24) %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %27, ptr %28, align 8 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 ret ptr %30 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEET_S9_(ptr %0) #4 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 store ptr %0, ptr %4, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !131 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %2, i32 0, i32 0 %6 = load ptr, ptr %5, align 8 ret ptr %6 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr ptr @_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET_S9_T0_(ptr %0, ptr noundef %1) #4 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca ptr, align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %0, ptr %7, align 8 store ptr %1, ptr %5, align 8, !tbaa !68 %8 = load ptr, ptr %5, align 8, !tbaa !68 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %6, i32 0, i32 0 %10 = load ptr, ptr %9, align 8 %11 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE(ptr %10) #18 %12 = ptrtoint ptr %8 to i64 %13 = ptrtoint ptr %11 to i64 %14 = sub i64 %12, %13 %15 = sdiv exact i64 %14, 24 %16 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef %15) #18 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 store ptr %16, ptr %17, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 ret ptr %19 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt14__copy_move_a1ILb0EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %6, align 8, !tbaa !68 %10 = call noundef ptr @_ZSt14__copy_move_a2ILb0EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE(ptr %0) #1 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %3 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %2, i32 0, i32 0 store ptr %0, ptr %3, align 8 %4 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #18 %5 = load ptr, ptr %4, align 8, !tbaa !68 ret ptr %5 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt14__copy_move_a2ILb0EPSt6vectorIiSaIiEES3_ET1_T0_S5_S4_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %6, align 8, !tbaa !68 %10 = call noundef ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPSt6vectorIiSaIiEES6_EET0_T_S8_S7_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPSt6vectorIiSaIiEES6_EET0_T_S8_S7_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %4, align 8, !tbaa !68 %10 = ptrtoint ptr %8 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 24 store i64 %13, ptr %7, align 8, !tbaa !97 br label %14 14: ; preds = %26, %3 %15 = load i64, ptr %7, align 8, !tbaa !97 %16 = icmp sgt i64 %15, 0 br i1 %16, label %18, label %17 17: ; preds = %14 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %29 18: ; preds = %14 %19 = load ptr, ptr %4, align 8, !tbaa !68 %20 = load ptr, ptr %6, align 8, !tbaa !68 %21 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %19) %22 = load ptr, ptr %4, align 8, !tbaa !68 %23 = getelementptr inbounds nuw %"class.std::vector.14", ptr %22, i32 1 store ptr %23, ptr %4, align 8, !tbaa !68 %24 = load ptr, ptr %6, align 8, !tbaa !68 %25 = getelementptr inbounds nuw %"class.std::vector.14", ptr %24, i32 1 store ptr %25, ptr %6, align 8, !tbaa !68 br label %26 26: ; preds = %18 %27 = load i64, ptr %7, align 8, !tbaa !97 %28 = add nsw i64 %27, -1 store i64 %28, ptr %7, align 8, !tbaa !97 br label %14, !llvm.loop !453 29: ; preds = %17 %30 = load ptr, ptr %6, align 8, !tbaa !68 ret ptr %30 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEElEvRT_T0_St26random_access_iterator_tag(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !134 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load i64, ptr %4, align 8, !tbaa !97 %6 = call i1 @llvm.is.constant.i64(i64 %5) br i1 %6, label %7, label %13 7: ; preds = %2 %8 = load i64, ptr %4, align 8, !tbaa !97 %9 = icmp eq i64 %8, 1 br i1 %9, label %10, label %13 10: ; preds = %7 %11 = load ptr, ptr %3, align 8, !tbaa !134 %12 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #18 br label %27 13: ; preds = %7, %2 %14 = load i64, ptr %4, align 8, !tbaa !97 %15 = call i1 @llvm.is.constant.i64(i64 %14) br i1 %15, label %16, label %22 16: ; preds = %13 %17 = load i64, ptr %4, align 8, !tbaa !97 %18 = icmp eq i64 %17, -1 br i1 %18, label %19, label %22 19: ; preds = %16 %20 = load ptr, ptr %3, align 8, !tbaa !134 %21 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #18 br label %26 22: ; preds = %16, %13 %23 = load i64, ptr %4, align 8, !tbaa !97 %24 = load ptr, ptr %3, align 8, !tbaa !134 %25 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEpLEl(ptr noundef nonnull align 8 dereferenceable(8) %24, i64 noundef %23) #18 br label %26 26: ; preds = %22, %19 br label %27 27: ; preds = %26, %10 ret void } ; Function Attrs: convergent nocallback nofree nosync nounwind willreturn memory(none) declare i1 @llvm.is.constant.i64(i64) #17 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !134 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !191 %6 = getelementptr inbounds %"class.std::vector.14", ptr %5, i32 -1 store ptr %6, ptr %4, align 8, !tbaa !191 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEpLEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !134 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !191 %9 = getelementptr inbounds %"class.std::vector.14", ptr %8, i64 %6 store ptr %9, ptr %7, align 8, !tbaa !191 ret ptr %5 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET0_T_SA_S9_(ptr %0, ptr %1, ptr noundef %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca ptr, align 8 %7 = alloca i8, align 1 %8 = alloca i8, align 1 %9 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 store i8 0, ptr %7, align 1, !tbaa !87 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 store i8 0, ptr %8, align 1, !tbaa !87 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %13 = load ptr, ptr %6, align 8, !tbaa !68 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %9, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %10, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call noundef ptr @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES4_IS6_SaIS6_EEEES7_EET0_T_SC_SB_(ptr %15, ptr %17, ptr noundef %13) call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 ret ptr %18 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES4_IS6_SaIS6_EEEES7_EET0_T_SC_SB_(ptr %0, ptr %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %0, ptr %9, align 8 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %1, ptr %10, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %11 = load ptr, ptr %6, align 8, !tbaa !68 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %8, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = call noundef ptr @_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET0_T_SA_S9_(ptr %13, ptr %15, ptr noundef %11) ret ptr %16 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET0_T_SA_S9_(ptr %0, ptr %1, ptr noundef %2) #0 comdat personality ptr @__gxx_personality_v0 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %0, ptr %10, align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %1, ptr %11, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %12 = load ptr, ptr %6, align 8, !tbaa !68 store ptr %12, ptr %7, align 8, !tbaa !68 br label %13 13: ; preds = %19, %3 %14 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %5) #18 br i1 %14, label %15, label %33 15: ; preds = %13 %16 = load ptr, ptr %7, align 8, !tbaa !68 %17 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 invoke void @_ZSt10_ConstructISt6vectorIiSaIiEEJRS2_EEvPT_DpOT0_(ptr noundef %16, ptr noundef nonnull align 8 dereferenceable(24) %17) to label %18 unwind label %23 18: ; preds = %15 br label %19 19: ; preds = %18 %20 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %21 = load ptr, ptr %7, align 8, !tbaa !68 %22 = getelementptr inbounds nuw %"class.std::vector.14", ptr %21, i32 1 store ptr %22, ptr %7, align 8, !tbaa !68 br label %13, !llvm.loop !454 23: ; preds = %15 %24 = landingpad { ptr, i32 } catch ptr null %25 = extractvalue { ptr, i32 } %24, 0 store ptr %25, ptr %8, align 8 %26 = extractvalue { ptr, i32 } %24, 1 store i32 %26, ptr %9, align 4 br label %27 27: ; preds = %23 %28 = load ptr, ptr %8, align 8 %29 = call ptr @__cxa_begin_catch(ptr %28) #18 %30 = load ptr, ptr %6, align 8, !tbaa !68 %31 = load ptr, ptr %7, align 8, !tbaa !68 invoke void @_ZSt8_DestroyIPSt6vectorIiSaIiEEEvT_S4_(ptr noundef %30, ptr noundef %31) to label %32 unwind label %35 32: ; preds = %27 invoke void @__cxa_rethrow() #19 to label %49 unwind label %35 33: ; preds = %13 %34 = load ptr, ptr %7, align 8, !tbaa !68 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret ptr %34 35: ; preds = %32, %27 %36 = landingpad { ptr, i32 } cleanup %37 = extractvalue { ptr, i32 } %36, 0 store ptr %37, ptr %8, align 8 %38 = extractvalue { ptr, i32 } %36, 1 store i32 %38, ptr %9, align 4 invoke void @__cxa_end_catch() to label %39 unwind label %46 39: ; preds = %35 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %41 40: ; No predecessors! unreachable 41: ; preds = %39 %42 = load ptr, ptr %8, align 8 %43 = load i32, ptr %9, align 4 %44 = insertvalue { ptr, i32 } poison, ptr %42, 0 %45 = insertvalue { ptr, i32 } %44, i32 %43, 1 resume { ptr, i32 } %45 46: ; preds = %35 %47 = landingpad { ptr, i32 } catch ptr null %48 = extractvalue { ptr, i32 } %47, 0 call void @__clang_call_terminate(ptr %48) #20 unreachable 49: ; preds = %32 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt10_ConstructISt6vectorIiSaIiEEJRS2_EEvPT_DpOT0_(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8, !tbaa !68 %6 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %6) ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt32__make_move_if_noexcept_iteratorISt6vectorIiSaIiEESt13move_iteratorIPS2_EET0_PT_(ptr noundef %0) #5 comdat { %2 = alloca %"class.std::move_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 %4 = load ptr, ptr %3, align 8, !tbaa !68 call void @_ZNSt13move_iteratorIPSt6vectorIiSaIiEEEC2ES3_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %4) %5 = getelementptr inbounds nuw %"class.std::move_iterator", ptr %2, i32 0, i32 0 %6 = load ptr, ptr %5, align 8 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_data12_M_swap_dataERS5_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", align 8 store ptr %0, ptr %3, align 8, !tbaa !455 store ptr %1, ptr %4, align 8, !tbaa !455 %6 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %5) #18 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_data12_M_copy_dataERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %6) #18 %7 = load ptr, ptr %4, align 8, !tbaa !455 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_data12_M_copy_dataERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %8 = load ptr, ptr %4, align 8, !tbaa !455 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_data12_M_copy_dataERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %5) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %5) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZN9__gnu_cxx14__alloc_traitsISaISt6vectorIiSaIiEEES3_E10_S_on_swapERS4_S6_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !280 store ptr %1, ptr %4, align 8, !tbaa !280 %5 = load ptr, ptr %3, align 8, !tbaa !280 %6 = load ptr, ptr %4, align 8, !tbaa !280 call void @_ZSt15__alloc_on_swapISaISt6vectorIiSaIiEEEEvRT_S5_(ptr noundef nonnull align 1 dereferenceable(1) %5, ptr noundef nonnull align 1 dereferenceable(1) %6) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !455 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %3, i32 0, i32 0 store ptr null, ptr %4, align 8, !tbaa !79 %5 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %3, i32 0, i32 1 store ptr null, ptr %5, align 8, !tbaa !80 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %3, i32 0, i32 2 store ptr null, ptr %6, align 8, !tbaa !128 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_data12_M_copy_dataERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !455 store ptr %1, ptr %4, align 8, !tbaa !455 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !455 %7 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !79 %9 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 0 store ptr %8, ptr %9, align 8, !tbaa !79 %10 = load ptr, ptr %4, align 8, !tbaa !455 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %10, i32 0, i32 1 %12 = load ptr, ptr %11, align 8, !tbaa !80 %13 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 1 store ptr %12, ptr %13, align 8, !tbaa !80 %14 = load ptr, ptr %4, align 8, !tbaa !455 %15 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %14, i32 0, i32 2 %16 = load ptr, ptr %15, align 8, !tbaa !128 %17 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %5, i32 0, i32 2 store ptr %16, ptr %17, align 8, !tbaa !128 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt15__alloc_on_swapISaISt6vectorIiSaIiEEEEvRT_S5_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !280 store ptr %1, ptr %4, align 8, !tbaa !280 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE18_M_insert_dispatchIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEvNS6_IPS1_S3_EET_SC_St12__false_type(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr %2, ptr %3) #0 comdat align 2 { %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %1, ptr %12, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %6, i32 0, i32 0 store ptr %2, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %7, i32 0, i32 0 store ptr %3, ptr %14, align 8 store ptr %0, ptr %8, align 8, !tbaa !69 %15 = load ptr, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 call void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSB_(ptr noundef nonnull align 8 dereferenceable(8) %6) %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %9, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %10, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %11, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEvNS6_IPS1_S3_EET_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr %17, ptr %19, ptr %21) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIS_IiSaIiEESaIS1_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEvNS6_IPS1_S3_EET_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr %2, ptr %3) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %5 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %8 = alloca ptr, align 8 %9 = alloca i64, align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %12 = alloca i64, align 8 %13 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %14 = alloca ptr, align 8 %15 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %16 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %17 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %18 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %19 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %20 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %21 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %22 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %23 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %24 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %25 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %26 = alloca ptr, align 8 %27 = alloca ptr, align 8 %28 = alloca i64, align 8 %29 = alloca ptr, align 8 %30 = alloca ptr, align 8 %31 = alloca ptr, align 8 %32 = alloca i32, align 4 %33 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %34 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %35 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %5, i32 0, i32 0 store ptr %1, ptr %35, align 8 %36 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %6, i32 0, i32 0 store ptr %2, ptr %36, align 8 %37 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %7, i32 0, i32 0 store ptr %3, ptr %37, align 8 store ptr %0, ptr %8, align 8, !tbaa !69 %38 = load ptr, ptr %8, align 8 %39 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #18 br i1 %39, label %40, label %222 40: ; preds = %4 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %41 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %10, i32 0, i32 0 %42 = load ptr, ptr %41, align 8 %43 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %11, i32 0, i32 0 %44 = load ptr, ptr %43, align 8 %45 = call noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_(ptr %42, ptr %44) store i64 %45, ptr %9, align 8, !tbaa !97 %46 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %47 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %46, i32 0, i32 2 %48 = load ptr, ptr %47, align 8, !tbaa !128 %49 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %50 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %49, i32 0, i32 1 %51 = load ptr, ptr %50, align 8, !tbaa !80 %52 = ptrtoint ptr %48 to i64 %53 = ptrtoint ptr %51 to i64 %54 = sub i64 %52, %53 %55 = sdiv exact i64 %54, 24 %56 = load i64, ptr %9, align 8, !tbaa !97 %57 = icmp uge i64 %55, %56 br i1 %57, label %58, label %144 58: ; preds = %40 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 %59 = call ptr @_ZNSt6vectorIS_IiSaIiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %60 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %13, i32 0, i32 0 store ptr %59, ptr %60, align 8 %61 = call noundef i64 @_ZN9__gnu_cxxmiIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %5) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 store i64 %61, ptr %12, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 %62 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %63 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %62, i32 0, i32 1 %64 = load ptr, ptr %63, align 8, !tbaa !80 store ptr %64, ptr %14, align 8, !tbaa !68 %65 = load i64, ptr %12, align 8, !tbaa !97 %66 = load i64, ptr %9, align 8, !tbaa !97 %67 = icmp ugt i64 %65, %66 br i1 %67, label %68, label %104 68: ; preds = %58 %69 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %70 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %69, i32 0, i32 1 %71 = load ptr, ptr %70, align 8, !tbaa !80 %72 = load i64, ptr %9, align 8, !tbaa !97 %73 = sub i64 0, %72 %74 = getelementptr inbounds %"class.std::vector.14", ptr %71, i64 %73 %75 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %76 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %75, i32 0, i32 1 %77 = load ptr, ptr %76, align 8, !tbaa !80 %78 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %79 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %78, i32 0, i32 1 %80 = load ptr, ptr %79, align 8, !tbaa !80 %81 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %82 = call noundef ptr @_ZSt22__uninitialized_move_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %74, ptr noundef %77, ptr noundef %80, ptr noundef nonnull align 1 dereferenceable(1) %81) %83 = load i64, ptr %9, align 8, !tbaa !97 %84 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %85 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %84, i32 0, i32 1 %86 = load ptr, ptr %85, align 8, !tbaa !80 %87 = getelementptr inbounds nuw %"class.std::vector.14", ptr %86, i64 %83 store ptr %87, ptr %85, align 8, !tbaa !80 %88 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %89 = load ptr, ptr %88, align 8, !tbaa !68 %90 = load ptr, ptr %14, align 8, !tbaa !68 %91 = load i64, ptr %9, align 8, !tbaa !97 %92 = sub i64 0, %91 %93 = getelementptr inbounds %"class.std::vector.14", ptr %90, i64 %92 %94 = load ptr, ptr %14, align 8, !tbaa !68 %95 = call noundef ptr @_ZSt13move_backwardIPSt6vectorIiSaIiEES3_ET0_T_S5_S4_(ptr noundef %89, ptr noundef %93, ptr noundef %94) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %16, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %96 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %15, i32 0, i32 0 %97 = load ptr, ptr %96, align 8 %98 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %16, i32 0, i32 0 %99 = load ptr, ptr %98, align 8 %100 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %17, i32 0, i32 0 %101 = load ptr, ptr %100, align 8 %102 = call ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS1_IPS4_S8_EEET0_T_SD_SC_(ptr %97, ptr %99, ptr %101) %103 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %18, i32 0, i32 0 store ptr %102, ptr %103, align 8 br label %143 104: ; preds = %58 call void @llvm.lifetime.start.p0(i64 8, ptr %19) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %105 = load i64, ptr %12, align 8, !tbaa !97 call void @_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEmEvRT_T0_(ptr noundef nonnull align 8 dereferenceable(8) %19, i64 noundef %105) call void @llvm.memcpy.p0.p0.i64(ptr align 8 %20, ptr align 8 %19, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %106 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %107 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %106, i32 0, i32 1 %108 = load ptr, ptr %107, align 8, !tbaa !80 %109 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %110 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %20, i32 0, i32 0 %111 = load ptr, ptr %110, align 8 %112 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %21, i32 0, i32 0 %113 = load ptr, ptr %112, align 8 %114 = call noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_S4_ET0_T_SC_SB_RSaIT1_E(ptr %111, ptr %113, ptr noundef %108, ptr noundef nonnull align 1 dereferenceable(1) %109) %115 = load i64, ptr %9, align 8, !tbaa !97 %116 = load i64, ptr %12, align 8, !tbaa !97 %117 = sub i64 %115, %116 %118 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %119 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %118, i32 0, i32 1 %120 = load ptr, ptr %119, align 8, !tbaa !80 %121 = getelementptr inbounds nuw %"class.std::vector.14", ptr %120, i64 %117 store ptr %121, ptr %119, align 8, !tbaa !80 %122 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %123 = load ptr, ptr %122, align 8, !tbaa !68 %124 = load ptr, ptr %14, align 8, !tbaa !68 %125 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %126 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %125, i32 0, i32 1 %127 = load ptr, ptr %126, align 8, !tbaa !80 %128 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %129 = call noundef ptr @_ZSt22__uninitialized_move_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %123, ptr noundef %124, ptr noundef %127, ptr noundef nonnull align 1 dereferenceable(1) %128) %130 = load i64, ptr %12, align 8, !tbaa !97 %131 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %132 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %131, i32 0, i32 1 %133 = load ptr, ptr %132, align 8, !tbaa !80 %134 = getelementptr inbounds nuw %"class.std::vector.14", ptr %133, i64 %130 store ptr %134, ptr %132, align 8, !tbaa !80 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %22, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %23, ptr align 8 %19, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %24, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %135 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %22, i32 0, i32 0 %136 = load ptr, ptr %135, align 8 %137 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %23, i32 0, i32 0 %138 = load ptr, ptr %137, align 8 %139 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %24, i32 0, i32 0 %140 = load ptr, ptr %139, align 8 %141 = call ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS1_IPS4_S8_EEET0_T_SD_SC_(ptr %136, ptr %138, ptr %140) %142 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %25, i32 0, i32 0 store ptr %141, ptr %142, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr %19) #18 br label %143 143: ; preds = %104, %68 call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 br label %221 144: ; preds = %40 call void @llvm.lifetime.start.p0(i64 8, ptr %26) #18 %145 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %146 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %145, i32 0, i32 0 %147 = load ptr, ptr %146, align 8, !tbaa !79 store ptr %147, ptr %26, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %27) #18 %148 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %149 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %148, i32 0, i32 1 %150 = load ptr, ptr %149, align 8, !tbaa !80 store ptr %150, ptr %27, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %28) #18 %151 = load i64, ptr %9, align 8, !tbaa !97 %152 = call noundef i64 @_ZNKSt6vectorIS_IiSaIiEESaIS1_EE12_M_check_lenEmPKc(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %151, ptr noundef @.str.60) store i64 %152, ptr %28, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %29) #18 %153 = load i64, ptr %28, align 8, !tbaa !97 %154 = call noundef ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %153) store ptr %154, ptr %29, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %30) #18 %155 = load ptr, ptr %29, align 8, !tbaa !68 store ptr %155, ptr %30, align 8, !tbaa !68 %156 = load ptr, ptr %26, align 8, !tbaa !68 %157 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %158 = load ptr, ptr %157, align 8, !tbaa !68 %159 = load ptr, ptr %29, align 8, !tbaa !68 %160 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %161 = invoke noundef ptr @_ZSt34__uninitialized_move_if_noexcept_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %156, ptr noundef %158, ptr noundef %159, ptr noundef nonnull align 1 dereferenceable(1) %160) to label %162 unwind label %178 162: ; preds = %144 store ptr %161, ptr %30, align 8, !tbaa !68 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %33, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %34, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %163 = load ptr, ptr %30, align 8, !tbaa !68 %164 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %165 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %33, i32 0, i32 0 %166 = load ptr, ptr %165, align 8 %167 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %34, i32 0, i32 0 %168 = load ptr, ptr %167, align 8 %169 = invoke noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_S4_ET0_T_SC_SB_RSaIT1_E(ptr %166, ptr %168, ptr noundef %163, ptr noundef nonnull align 1 dereferenceable(1) %164) to label %170 unwind label %178 170: ; preds = %162 store ptr %169, ptr %30, align 8, !tbaa !68 %171 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %172 = load ptr, ptr %171, align 8, !tbaa !68 %173 = load ptr, ptr %27, align 8, !tbaa !68 %174 = load ptr, ptr %30, align 8, !tbaa !68 %175 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 %176 = invoke noundef ptr @_ZSt34__uninitialized_move_if_noexcept_aIPSt6vectorIiSaIiEES3_SaIS2_EET0_T_S6_S5_RT1_(ptr noundef %172, ptr noundef %173, ptr noundef %174, ptr noundef nonnull align 1 dereferenceable(1) %175) to label %177 unwind label %178 177: ; preds = %170 store ptr %176, ptr %30, align 8, !tbaa !68 br label %197 178: ; preds = %170, %162, %144 %179 = landingpad { ptr, i32 } catch ptr null %180 = extractvalue { ptr, i32 } %179, 0 store ptr %180, ptr %31, align 8 %181 = extractvalue { ptr, i32 } %179, 1 store i32 %181, ptr %32, align 4 br label %182 182: ; preds = %178 %183 = load ptr, ptr %31, align 8 %184 = call ptr @__cxa_begin_catch(ptr %183) #18 %185 = load ptr, ptr %29, align 8, !tbaa !68 %186 = load ptr, ptr %30, align 8, !tbaa !68 %187 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 invoke void @_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E(ptr noundef %185, ptr noundef %186, ptr noundef nonnull align 1 dereferenceable(1) %187) to label %188 unwind label %192 188: ; preds = %182 %189 = load ptr, ptr %29, align 8, !tbaa !68 %190 = load i64, ptr %28, align 8, !tbaa !97 invoke void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef %189, i64 noundef %190) to label %191 unwind label %192 191: ; preds = %188 invoke void @__cxa_rethrow() #19 to label %231 unwind label %192 192: ; preds = %191, %188, %182 %193 = landingpad { ptr, i32 } cleanup %194 = extractvalue { ptr, i32 } %193, 0 store ptr %194, ptr %31, align 8 %195 = extractvalue { ptr, i32 } %193, 1 store i32 %195, ptr %32, align 4 invoke void @__cxa_end_catch() to label %196 unwind label %228 196: ; preds = %192 call void @llvm.lifetime.end.p0(i64 8, ptr %30) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %28) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %27) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %26) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 br label %223 197: ; preds = %177 %198 = load ptr, ptr %26, align 8, !tbaa !68 %199 = load ptr, ptr %27, align 8, !tbaa !68 %200 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #18 call void @_ZSt8_DestroyIPSt6vectorIiSaIiEES2_EvT_S4_RSaIT0_E(ptr noundef %198, ptr noundef %199, ptr noundef nonnull align 1 dereferenceable(1) %200) %201 = load ptr, ptr %26, align 8, !tbaa !68 %202 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %203 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %202, i32 0, i32 2 %204 = load ptr, ptr %203, align 8, !tbaa !128 %205 = load ptr, ptr %26, align 8, !tbaa !68 %206 = ptrtoint ptr %204 to i64 %207 = ptrtoint ptr %205 to i64 %208 = sub i64 %206, %207 %209 = sdiv exact i64 %208, 24 call void @_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE13_M_deallocateEPS2_m(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef %201, i64 noundef %209) %210 = load ptr, ptr %29, align 8, !tbaa !68 %211 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %212 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %211, i32 0, i32 0 store ptr %210, ptr %212, align 8, !tbaa !79 %213 = load ptr, ptr %30, align 8, !tbaa !68 %214 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %215 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %214, i32 0, i32 1 store ptr %213, ptr %215, align 8, !tbaa !80 %216 = load ptr, ptr %29, align 8, !tbaa !68 %217 = load i64, ptr %28, align 8, !tbaa !97 %218 = getelementptr inbounds nuw %"class.std::vector.14", ptr %216, i64 %217 %219 = getelementptr inbounds nuw %"struct.std::_Vector_base.20", ptr %38, i32 0, i32 0 %220 = getelementptr inbounds nuw %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %219, i32 0, i32 2 store ptr %218, ptr %220, align 8, !tbaa !128 call void @llvm.lifetime.end.p0(i64 8, ptr %30) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %29) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %28) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %27) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %26) #18 br label %221 221: ; preds = %197, %143 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 br label %222 222: ; preds = %221, %4 ret void 223: ; preds = %196 %224 = load ptr, ptr %31, align 8 %225 = load i32, ptr %32, align 4 %226 = insertvalue { ptr, i32 } poison, ptr %224, 0 %227 = insertvalue { ptr, i32 } %226, i32 %225, 1 resume { ptr, i32 } %227 228: ; preds = %192 %229 = landingpad { ptr, i32 } catch ptr null %230 = extractvalue { ptr, i32 } %229, 0 call void @__clang_call_terminate(ptr %230) #20 unreachable 231: ; preds = %191 unreachable } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSB_(ptr noundef nonnull align 8 dereferenceable(8) %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !132 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_(ptr %0, ptr %1) #5 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %3, i32 0, i32 0 store ptr %0, ptr %7, align 8 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %4, i32 0, i32 0 store ptr %1, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 call void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSB_(ptr noundef nonnull align 8 dereferenceable(8) %3) %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %6, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = call noundef i64 @_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_St26random_access_iterator_tag(ptr %10, ptr %12) ret i64 %13 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS1_IPS4_S8_EEET0_T_SD_SC_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %12 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 store ptr %0, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %6, i32 0, i32 0 store ptr %1, ptr %14, align 8 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %2, ptr %15, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %9, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEET_SA_(ptr %17) %19 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %8, i32 0, i32 0 store ptr %18, ptr %19, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %20 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %11, i32 0, i32 0 %21 = load ptr, ptr %20, align 8 %22 = call ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEET_SA_(ptr %21) %23 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %10, i32 0, i32 0 store ptr %22, ptr %23, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %24 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %8, i32 0, i32 0 %25 = load ptr, ptr %24, align 8 %26 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %10, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %12, i32 0, i32 0 %29 = load ptr, ptr %28, align 8 %30 = call ptr @_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS1_IPS4_S8_EEET1_T0_SD_SC_(ptr %25, ptr %27, ptr %29) %31 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %30, ptr %31, align 8 %32 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 %33 = load ptr, ptr %32, align 8 ret ptr %33 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEmEvRT_T0_(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !132 store i64 %1, ptr %4, align 8, !tbaa !97 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %6 = load i64, ptr %4, align 8, !tbaa !97 store i64 %6, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %3, align 8, !tbaa !132 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = load ptr, ptr %3, align 8, !tbaa !132 call void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E17iterator_categoryERKSB_(ptr noundef nonnull align 8 dereferenceable(8) %9) call void @_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEElEvRT_T0_St26random_access_iterator_tag(ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef %8) call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_S4_ET0_T_SC_SB_RSaIT1_E(ptr %0, ptr %1, ptr noundef %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #5 comdat { %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %6, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %7, align 8, !tbaa !68 store ptr %3, ptr %8, align 8, !tbaa !280 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %13 = load ptr, ptr %7, align 8, !tbaa !68 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %9, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %10, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call noundef ptr @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_ET0_T_SC_SB_(ptr %15, ptr %17, ptr noundef %13) ret ptr %18 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_St26random_access_iterator_tag(ptr %0, ptr %1) #4 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %3, i32 0, i32 0 store ptr %0, ptr %5, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %4, i32 0, i32 0 store ptr %1, ptr %6, align 8 %7 = call noundef i64 @_ZN9__gnu_cxxmiIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSB_SE_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret i64 %7 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr ptr @_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS1_IPS4_S8_EEET1_T0_SD_SC_(ptr %0, ptr %1, ptr %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 store ptr %0, ptr %12, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %6, i32 0, i32 0 store ptr %1, ptr %13, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %7, i32 0, i32 0 store ptr %2, ptr %14, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %9, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = call noundef ptr @_ZSt12__niter_baseIPKSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS7_T0_EE(ptr %16) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !131 %18 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %10, i32 0, i32 0 %19 = load ptr, ptr %18, align 8 %20 = call noundef ptr @_ZSt12__niter_baseIPKSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS7_T0_EE(ptr %19) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !131 %21 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %11, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 %23 = call noundef ptr @_ZSt12__niter_baseIPSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE(ptr %22) #18 %24 = call noundef ptr @_ZSt14__copy_move_a1ILb0EPKSt6vectorIiSaIiEEPS2_ET1_T0_S7_S6_(ptr noundef %17, ptr noundef %20, ptr noundef %23) %25 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %8, i32 0, i32 0 %26 = load ptr, ptr %25, align 8 %27 = call ptr @_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES2_IS4_SaIS4_EEEES5_ET_S9_T0_(ptr %26, ptr noundef %24) %28 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 store ptr %27, ptr %28, align 8 %29 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.28", ptr %4, i32 0, i32 0 %30 = load ptr, ptr %29, align 8 ret ptr %30 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr ptr @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEET_SA_(ptr %0) #4 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %3 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %3, i32 0, i32 0 store ptr %0, ptr %4, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !131 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %2, i32 0, i32 0 %6 = load ptr, ptr %5, align 8 ret ptr %6 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt14__copy_move_a1ILb0EPKSt6vectorIiSaIiEEPS2_ET1_T0_S7_S6_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %6, align 8, !tbaa !68 %10 = call noundef ptr @_ZSt14__copy_move_a2ILb0EPKSt6vectorIiSaIiEEPS2_ET1_T0_S7_S6_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZSt12__niter_baseIPKSt6vectorIiSaIiEES0_IS2_SaIS2_EEET_N9__gnu_cxx17__normal_iteratorIS7_T0_EE(ptr %0) #1 comdat { %2 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %3 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %2, i32 0, i32 0 store ptr %0, ptr %3, align 8 %4 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #18 %5 = load ptr, ptr %4, align 8, !tbaa !68 ret ptr %5 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt14__copy_move_a2ILb0EPKSt6vectorIiSaIiEEPS2_ET1_T0_S7_S6_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #5 comdat { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 %7 = load ptr, ptr %4, align 8, !tbaa !68 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %6, align 8, !tbaa !68 %10 = call noundef ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKSt6vectorIiSaIiEEPS5_EET0_T_SA_S9_(ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %10 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKSt6vectorIiSaIiEEPS5_EET0_T_SA_S9_(ptr noundef %0, ptr noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !68 store ptr %1, ptr %5, align 8, !tbaa !68 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %8 = load ptr, ptr %5, align 8, !tbaa !68 %9 = load ptr, ptr %4, align 8, !tbaa !68 %10 = ptrtoint ptr %8 to i64 %11 = ptrtoint ptr %9 to i64 %12 = sub i64 %10, %11 %13 = sdiv exact i64 %12, 24 store i64 %13, ptr %7, align 8, !tbaa !97 br label %14 14: ; preds = %26, %3 %15 = load i64, ptr %7, align 8, !tbaa !97 %16 = icmp sgt i64 %15, 0 br i1 %16, label %18, label %17 17: ; preds = %14 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %29 18: ; preds = %14 %19 = load ptr, ptr %4, align 8, !tbaa !68 %20 = load ptr, ptr %6, align 8, !tbaa !68 %21 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIiSaIiEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %19) %22 = load ptr, ptr %4, align 8, !tbaa !68 %23 = getelementptr inbounds nuw %"class.std::vector.14", ptr %22, i32 1 store ptr %23, ptr %4, align 8, !tbaa !68 %24 = load ptr, ptr %6, align 8, !tbaa !68 %25 = getelementptr inbounds nuw %"class.std::vector.14", ptr %24, i32 1 store ptr %25, ptr %6, align 8, !tbaa !68 br label %26 26: ; preds = %18 %27 = load i64, ptr %7, align 8, !tbaa !97 %28 = add nsw i64 %27, -1 store i64 %28, ptr %7, align 8, !tbaa !97 br label %14, !llvm.loop !457 29: ; preds = %17 %30 = load ptr, ptr %6, align 8, !tbaa !68 ret ptr %30 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt9__advanceIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEElEvRT_T0_St26random_access_iterator_tag(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !132 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load i64, ptr %4, align 8, !tbaa !97 %6 = call i1 @llvm.is.constant.i64(i64 %5) br i1 %6, label %7, label %13 7: ; preds = %2 %8 = load i64, ptr %4, align 8, !tbaa !97 %9 = icmp eq i64 %8, 1 br i1 %9, label %10, label %13 10: ; preds = %7 %11 = load ptr, ptr %3, align 8, !tbaa !132 %12 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #18 br label %27 13: ; preds = %7, %2 %14 = load i64, ptr %4, align 8, !tbaa !97 %15 = call i1 @llvm.is.constant.i64(i64 %14) br i1 %15, label %16, label %22 16: ; preds = %13 %17 = load i64, ptr %4, align 8, !tbaa !97 %18 = icmp eq i64 %17, -1 br i1 %18, label %19, label %22 19: ; preds = %16 %20 = load ptr, ptr %3, align 8, !tbaa !132 %21 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #18 br label %26 22: ; preds = %16, %13 %23 = load i64, ptr %4, align 8, !tbaa !97 %24 = load ptr, ptr %3, align 8, !tbaa !132 %25 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEpLEl(ptr noundef nonnull align 8 dereferenceable(8) %24, i64 noundef %23) #18 br label %26 26: ; preds = %22, %19 br label %27 27: ; preds = %26, %10 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !132 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !136 %6 = getelementptr inbounds %"class.std::vector.14", ptr %5, i32 -1 store ptr %6, ptr %4, align 8, !tbaa !136 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEpLEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !132 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !136 %9 = getelementptr inbounds %"class.std::vector.14", ptr %8, i64 %6 store ptr %9, ptr %7, align 8, !tbaa !136 ret ptr %5 } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef ptr @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_ET0_T_SC_SB_(ptr %0, ptr %1, ptr noundef %2) #5 comdat { %4 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca ptr, align 8 %7 = alloca i8, align 1 %8 = alloca i8, align 1 %9 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %4, i32 0, i32 0 store ptr %0, ptr %11, align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 store ptr %1, ptr %12, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 1, ptr %7) #18 store i8 0, ptr %7, align 1, !tbaa !87 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 store i8 0, ptr %8, align 1, !tbaa !87 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %13 = load ptr, ptr %6, align 8, !tbaa !68 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %9, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %10, i32 0, i32 0 %17 = load ptr, ptr %16, align 8 %18 = call noundef ptr @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES4_IS6_SaIS6_EEEEPS6_EET0_T_SE_SD_(ptr %15, ptr %17, ptr noundef %13) call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %7) #18 ret ptr %18 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES4_IS6_SaIS6_EEEEPS6_EET0_T_SE_SD_(ptr %0, ptr %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca ptr, align 8 %7 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %4, i32 0, i32 0 store ptr %0, ptr %9, align 8 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 store ptr %1, ptr %10, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !131 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !131 %11 = load ptr, ptr %6, align 8, !tbaa !68 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %7, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 %14 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %8, i32 0, i32 0 %15 = load ptr, ptr %14, align 8 %16 = call noundef ptr @_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_ET0_T_SC_SB_(ptr %13, ptr %15, ptr noundef %11) ret ptr %16 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEEPS4_ET0_T_SC_SB_(ptr %0, ptr %1, ptr noundef %2) #0 comdat personality ptr @__gxx_personality_v0 { %4 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca i32, align 4 %10 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %4, i32 0, i32 0 store ptr %0, ptr %10, align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator.29", ptr %5, i32 0, i32 0 store ptr %1, ptr %11, align 8 store ptr %2, ptr %6, align 8, !tbaa !68 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %12 = load ptr, ptr %6, align 8, !tbaa !68 store ptr %12, ptr %7, align 8, !tbaa !68 br label %13 13: ; preds = %19, %3 %14 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %5) #18 br i1 %14, label %15, label %33 15: ; preds = %13 %16 = load ptr, ptr %7, align 8, !tbaa !68 %17 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 invoke void @_ZSt10_ConstructISt6vectorIiSaIiEEJRKS2_EEvPT_DpOT0_(ptr noundef %16, ptr noundef nonnull align 8 dereferenceable(24) %17) to label %18 unwind label %23 18: ; preds = %15 br label %19 19: ; preds = %18 %20 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #18 %21 = load ptr, ptr %7, align 8, !tbaa !68 %22 = getelementptr inbounds nuw %"class.std::vector.14", ptr %21, i32 1 store ptr %22, ptr %7, align 8, !tbaa !68 br label %13, !llvm.loop !458 23: ; preds = %15 %24 = landingpad { ptr, i32 } catch ptr null %25 = extractvalue { ptr, i32 } %24, 0 store ptr %25, ptr %8, align 8 %26 = extractvalue { ptr, i32 } %24, 1 store i32 %26, ptr %9, align 4 br label %27 27: ; preds = %23 %28 = load ptr, ptr %8, align 8 %29 = call ptr @__cxa_begin_catch(ptr %28) #18 %30 = load ptr, ptr %6, align 8, !tbaa !68 %31 = load ptr, ptr %7, align 8, !tbaa !68 invoke void @_ZSt8_DestroyIPSt6vectorIiSaIiEEEvT_S4_(ptr noundef %30, ptr noundef %31) to label %32 unwind label %35 32: ; preds = %27 invoke void @__cxa_rethrow() #19 to label %49 unwind label %35 33: ; preds = %13 %34 = load ptr, ptr %7, align 8, !tbaa !68 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret ptr %34 35: ; preds = %32, %27 %36 = landingpad { ptr, i32 } cleanup %37 = extractvalue { ptr, i32 } %36, 0 store ptr %37, ptr %8, align 8 %38 = extractvalue { ptr, i32 } %36, 1 store i32 %38, ptr %9, align 4 invoke void @__cxa_end_catch() to label %39 unwind label %46 39: ; preds = %35 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 br label %41 40: ; No predecessors! unreachable 41: ; preds = %39 %42 = load ptr, ptr %8, align 8 %43 = load i32, ptr %9, align 4 %44 = insertvalue { ptr, i32 } poison, ptr %42, 0 %45 = insertvalue { ptr, i32 } %44, i32 %43, 1 resume { ptr, i32 } %45 46: ; preds = %35 %47 = landingpad { ptr, i32 } catch ptr null %48 = extractvalue { ptr, i32 } %47, 0 call void @__clang_call_terminate(ptr %48) #20 unreachable 49: ; preds = %32 unreachable } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZSt10_ConstructISt6vectorIiSaIiEEJRKS2_EEvPT_DpOT0_(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #5 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %5 = load ptr, ptr %3, align 8, !tbaa !68 %6 = load ptr, ptr %4, align 8, !tbaa !68 call void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %6) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt19_Bit_const_iteratorC2EPmj(ptr noundef nonnull align 8 dereferenceable(12) %0, ptr noundef %1, i32 noundef %2) unnamed_addr #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !145 store ptr %1, ptr %5, align 8, !tbaa !299 store i32 %2, ptr %6, align 4, !tbaa !72 %7 = load ptr, ptr %4, align 8 %8 = load ptr, ptr %5, align 8, !tbaa !299 %9 = load i32, ptr %6, align 4, !tbaa !72 call void @_ZNSt18_Bit_iterator_baseC2EPmj(ptr noundef nonnull align 8 dereferenceable(12) %7, ptr noundef %8, i32 noundef %9) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt18_Bit_iterator_baseC2EPmj(ptr noundef nonnull align 8 dereferenceable(12) %0, ptr noundef %1, i32 noundef %2) unnamed_addr #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca i32, align 4 store ptr %0, ptr %4, align 8, !tbaa !143 store ptr %1, ptr %5, align 8, !tbaa !299 store i32 %2, ptr %6, align 4, !tbaa !72 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !299 store ptr %9, ptr %8, align 8, !tbaa !140 %10 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %7, i32 0, i32 1 %11 = load i32, ptr %6, align 4, !tbaa !72 store i32 %11, ptr %10, align 8, !tbaa !147 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt19_Bit_const_iteratorC2ERKSt13_Bit_iterator(ptr noundef nonnull align 8 dereferenceable(12) %0, ptr noundef nonnull align 8 dereferenceable(12) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !145 store ptr %1, ptr %4, align 8, !tbaa !459 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !459 %7 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %7, align 8, !tbaa !140 %9 = load ptr, ptr %4, align 8, !tbaa !459 %10 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %9, i32 0, i32 1 %11 = load i32, ptr %10, align 8, !tbaa !147 call void @_ZNSt18_Bit_iterator_baseC2EPmj(ptr noundef nonnull align 8 dereferenceable(12) %5, ptr noundef %8, i32 noundef %11) ret void } ; Function Attrs: mustprogress uwtable define available_externally noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, i64 noundef %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !71 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !71 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = load ptr, ptr %6, align 8, !tbaa !71 %10 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %9) %11 = load ptr, ptr %6, align 8, !tbaa !71 %12 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #18 %13 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %8, i64 noundef 0, ptr noundef %10, i64 noundef %12) ret ptr %13 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEmiEl(ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !102 store i64 %1, ptr %5, align 8, !tbaa !97 %7 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !104 %10 = load i64, ptr %5, align 8, !tbaa !97 %11 = sub i64 0, %10 %12 = getelementptr inbounds i32, ptr %9, i64 %11 store ptr %12, ptr %6, align 8, !tbaa !100 call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 %14 = load ptr, ptr %13, align 8 ret ptr %14 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE14_M_move_assignEOS1_St17integral_constantIbLb1EE(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.std::vector.14", align 8 %6 = alloca %"class.std::allocator.16", align 1 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !68 %7 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 24, ptr %5) #18 call void @llvm.lifetime.start.p0(i64 1, ptr %6) #18 call void @_ZNKSt12_Vector_baseIiSaIiEE13get_allocatorEv(ptr dead_on_unwind writable sret(%"class.std::allocator.16") align 1 %6, ptr noundef nonnull align 8 dereferenceable(24) %7) #18 call void @_ZNSt6vectorIiSaIiEEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 1 dereferenceable(1) %6) #18 call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %6) #18 %8 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %4, align 8, !tbaa !68 %10 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %9, i32 0, i32 0 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_swap_dataERS2_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %10) #18 %11 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %12 = load ptr, ptr %4, align 8, !tbaa !68 %13 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %12, i32 0, i32 0 call void @_ZNSt12_Vector_baseIiSaIiEE17_Vector_impl_data12_M_swap_dataERS2_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %13) #18 %14 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #18 %15 = load ptr, ptr %4, align 8, !tbaa !68 %16 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #18 invoke void @_ZSt15__alloc_on_moveISaIiEEvRT_S2_(ptr noundef nonnull align 1 dereferenceable(1) %14, ptr noundef nonnull align 1 dereferenceable(1) %16) to label %17 unwind label %18 17: ; preds = %2 call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 call void @llvm.lifetime.end.p0(i64 24, ptr %5) #18 ret void 18: ; preds = %2 %19 = landingpad { ptr, i32 } catch ptr null %20 = extractvalue { ptr, i32 } %19, 0 call void @__clang_call_terminate(ptr %20) #20 unreachable } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNKSt12_Vector_baseIiSaIiEE13get_allocatorEv(ptr dead_on_unwind noalias writable sret(%"class.std::allocator.16") align 1 %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8 store ptr %1, ptr %4, align 8, !tbaa !270 %5 = load ptr, ptr %4, align 8 %6 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #18 call void @_ZNSaIiEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %6) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !68 store ptr %1, ptr %4, align 8, !tbaa !95 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !95 call void @_ZNSt12_Vector_baseIiSaIiEEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 1 dereferenceable(1) %6) #18 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt15__alloc_on_moveISaIiEEvRT_S2_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !95 store ptr %1, ptr %4, align 8, !tbaa !95 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt12_Vector_baseIiSaIiEEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 1 dereferenceable(1) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !270 store ptr %1, ptr %4, align 8, !tbaa !95 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !95 call void @_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 1 dereferenceable(1) %7) #18 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt6vectorIiSaIiEE19_M_range_initializeIN9__gnu_cxx17__normal_iteratorIPKiS1_EEEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr %2) #0 comdat align 2 { %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca ptr, align 8 %7 = alloca i64, align 8 %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %11 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %12 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %1, ptr %12, align 8 %13 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 store ptr %2, ptr %13, align 8 store ptr %0, ptr %6, align 8, !tbaa !68 %14 = load ptr, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %15 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %8, i32 0, i32 0 %16 = load ptr, ptr %15, align 8 %17 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %9, i32 0, i32 0 %18 = load ptr, ptr %17, align 8 %19 = call noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E15difference_typeES9_S9_(ptr %16, ptr %18) store i64 %19, ptr %7, align 8, !tbaa !97 %20 = load i64, ptr %7, align 8, !tbaa !97 %21 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %22 = call noundef i64 @_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_(i64 noundef %20, ptr noundef nonnull align 1 dereferenceable(1) %21) %23 = call noundef ptr @_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %22) %24 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %25 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %24, i32 0, i32 0 store ptr %23, ptr %25, align 8, !tbaa !81 %26 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %27 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %26, i32 0, i32 0 %28 = load ptr, ptr %27, align 8, !tbaa !81 %29 = load i64, ptr %7, align 8, !tbaa !97 %30 = getelementptr inbounds nuw i32, ptr %28, i64 %29 %31 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %32 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %31, i32 0, i32 2 store ptr %30, ptr %32, align 8, !tbaa !101 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %5, i64 8, i1 false), !tbaa.struct !106 %33 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %34 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %33, i32 0, i32 0 %35 = load ptr, ptr %34, align 8, !tbaa !81 %36 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #18 %37 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %10, i32 0, i32 0 %38 = load ptr, ptr %37, align 8 %39 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %11, i32 0, i32 0 %40 = load ptr, ptr %39, align 8 %41 = call noundef ptr @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E(ptr %38, ptr %40, ptr noundef %35, ptr noundef nonnull align 1 dereferenceable(1) %36) %42 = getelementptr inbounds nuw %"struct.std::_Vector_base.15", ptr %14, i32 0, i32 0 %43 = getelementptr inbounds nuw %"struct.std::_Vector_base>::_Vector_impl_data", ptr %42, i32 0, i32 1 store ptr %41, ptr %43, align 8, !tbaa !82 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E17iterator_categoryERKS9_(ptr noundef nonnull align 8 dereferenceable(8) %0) #4 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !102 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E15difference_typeES9_S9_(ptr %0, ptr %1) #5 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %6 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %7 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 store ptr %0, ptr %7, align 8 %8 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %1, ptr %8, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %3, i64 8, i1 false), !tbaa.struct !106 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %4, i64 8, i1 false), !tbaa.struct !106 call void @_ZSt19__iterator_categoryIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E17iterator_categoryERKS9_(ptr noundef nonnull align 8 dereferenceable(8) %3) %9 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %5, i32 0, i32 0 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %6, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 %13 = call noundef i64 @_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E15difference_typeES9_S9_St26random_access_iterator_tag(ptr %10, ptr %12) ret i64 %13 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZSt10__distanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEENSt15iterator_traitsIT_E15difference_typeES9_S9_St26random_access_iterator_tag(ptr %0, ptr %1) #4 comdat { %3 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %4 = alloca %"class.__gnu_cxx::__normal_iterator", align 8 %5 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %3, i32 0, i32 0 store ptr %0, ptr %5, align 8 %6 = getelementptr inbounds nuw %"class.__gnu_cxx::__normal_iterator", ptr %4, i32 0, i32 0 store ptr %1, ptr %6, align 8 %7 = call noundef i64 @_ZN9__gnu_cxxmiIPKiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS9_SC_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret i64 %7 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZN9__gnu_cxxmiIPKiSt6vectorIiSaIiEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKS9_SC_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !102 store ptr %1, ptr %4, align 8, !tbaa !102 %5 = load ptr, ptr %3, align 8, !tbaa !102 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !100 %8 = load ptr, ptr %4, align 8, !tbaa !102 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !100 %11 = ptrtoint ptr %7 to i64 %12 = ptrtoint ptr %10 to i64 %13 = sub i64 %11, %12 %14 = sdiv exact i64 %13, 4 ret i64 %14 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE11lower_boundERS3_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #0 comdat align 2 { %3 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !176 store ptr %1, ptr %5, align 8, !tbaa !100 %6 = load ptr, ptr %4, align 8 %7 = getelementptr inbounds nuw %"class.std::map.34", ptr %6, i32 0, i32 0 %8 = load ptr, ptr %5, align 8, !tbaa !100 %9 = call ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11lower_boundERS1_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 4 dereferenceable(4) %8) %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 store ptr %9, ptr %10, align 8 %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 %12 = load ptr, ptr %11, align 8 ret ptr %12 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKibEES5_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #1 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !461 store ptr %1, ptr %4, align 8, !tbaa !461 %5 = load ptr, ptr %3, align 8, !tbaa !461 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %6, align 8, !tbaa !463 %8 = load ptr, ptr %4, align 8, !tbaa !461 %9 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 %10 = load ptr, ptr %9, align 8, !tbaa !463 %11 = icmp eq ptr %7, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt3mapIibSt4lessIiESaISt4pairIKibEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !176 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::map.34", ptr %4, i32 0, i32 0 %6 = call ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %5) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %2, i32 0, i32 0 store ptr %6, ptr %7, align 8 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNKSt3mapIibSt4lessIiESaISt4pairIKibEEE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !176 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::map.34", ptr %3, i32 0, i32 0 call void @_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %4) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 4 dereferenceable(4) %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !465 store ptr %1, ptr %5, align 8, !tbaa !100 store ptr %2, ptr %6, align 8, !tbaa !100 %7 = load ptr, ptr %5, align 8, !tbaa !100 %8 = load i32, ptr %7, align 4, !tbaa !72 %9 = load ptr, ptr %6, align 8, !tbaa !100 %10 = load i32, ptr %9, align 4, !tbaa !72 %11 = icmp slt i32 %8, %10 ret i1 %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(5) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKibEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !461 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !463 %6 = call noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKibEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(40) %5) ret ptr %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEESt17_Rb_tree_iteratorIS2_ESt23_Rb_tree_const_iteratorIS2_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %6 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %7 = alloca %"struct.std::_Rb_tree_const_iterator.71", align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", align 8 %13 = alloca %"struct.std::pair.60", align 8 %14 = alloca %"struct.std::_Rb_tree_const_iterator.71", align 8 %15 = alloca ptr, align 8 %16 = alloca i32, align 4 %17 = alloca %"struct.std::pair.60", align 8 %18 = alloca i32, align 4 %19 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.71", ptr %7, i32 0, i32 0 store ptr %1, ptr %19, align 8 store ptr %0, ptr %8, align 8, !tbaa !317 store ptr %2, ptr %9, align 8, !tbaa !360 store ptr %3, ptr %10, align 8, !tbaa !467 store ptr %4, ptr %11, align 8, !tbaa !364 %20 = load ptr, ptr %8, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr %12) #18 %21 = load ptr, ptr %9, align 8, !tbaa !360 %22 = load ptr, ptr %10, align 8, !tbaa !467 %23 = load ptr, ptr %11, align 8, !tbaa !364 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESE_IJEEEEERS8_DpOT_(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef nonnull align 1 dereferenceable(1) %21, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 1 dereferenceable(1) %23) call void @llvm.lifetime.start.p0(i64 16, ptr %13) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %7, i64 8, i1 false), !tbaa.struct !91 %24 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_node6_M_keyEv(ptr noundef nonnull align 8 dereferenceable(16) %12) to label %25 unwind label %45 25: ; preds = %5 %26 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.71", ptr %14, i32 0, i32 0 %27 = load ptr, ptr %26, align 8 %28 = invoke { ptr, ptr } @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_(ptr noundef nonnull align 8 dereferenceable(48) %20, ptr %27, ptr noundef nonnull align 4 dereferenceable(4) %24) to label %29 unwind label %45 29: ; preds = %25 %30 = getelementptr inbounds nuw { ptr, ptr }, ptr %13, i32 0, i32 0 %31 = extractvalue { ptr, ptr } %28, 0 store ptr %31, ptr %30, align 8 %32 = getelementptr inbounds nuw { ptr, ptr }, ptr %13, i32 0, i32 1 %33 = extractvalue { ptr, ptr } %28, 1 store ptr %33, ptr %32, align 8 %34 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %13, i32 0, i32 1 %35 = load ptr, ptr %34, align 8, !tbaa !366 %36 = icmp ne ptr %35, null br i1 %36, label %37, label %49 37: ; preds = %29 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %13, i64 16, i1 false) %38 = getelementptr inbounds nuw { ptr, ptr }, ptr %17, i32 0, i32 0 %39 = load ptr, ptr %38, align 8 %40 = getelementptr inbounds nuw { ptr, ptr }, ptr %17, i32 0, i32 1 %41 = load ptr, ptr %40, align 8 %42 = invoke ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_node9_M_insertES0_IPSt18_Rb_tree_node_baseSB_E(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr %39, ptr %41) to label %43 unwind label %45 43: ; preds = %37 %44 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %6, i32 0, i32 0 store ptr %42, ptr %44, align 8 store i32 1, ptr %18, align 4 br label %52 45: ; preds = %37, %25, %5 %46 = landingpad { ptr, i32 } cleanup %47 = extractvalue { ptr, i32 } %46, 0 store ptr %47, ptr %15, align 8 %48 = extractvalue { ptr, i32 } %46, 1 store i32 %48, ptr %16, align 4 call void @llvm.lifetime.end.p0(i64 16, ptr %13) #18 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %12) #18 br label %55 49: ; preds = %29 %50 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %13, i32 0, i32 0 %51 = load ptr, ptr %50, align 8, !tbaa !368 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef %51) #18 store i32 1, ptr %18, align 4 br label %52 52: ; preds = %49, %43 call void @llvm.lifetime.end.p0(i64 16, ptr %13) #18 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #18 call void @llvm.lifetime.end.p0(i64 16, ptr %12) #18 %53 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %6, i32 0, i32 0 %54 = load ptr, ptr %53, align 8 ret ptr %54 55: ; preds = %45 %56 = load ptr, ptr %15, align 8 %57 = load i32, ptr %16, align 4 %58 = insertvalue { ptr, i32 } poison, ptr %56, 0 %59 = insertvalue { ptr, i32 } %58, i32 %57, 1 resume { ptr, i32 } %59 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKibEEC2ERKSt17_Rb_tree_iteratorIS2_E(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !469 store ptr %1, ptr %4, align 8, !tbaa !461 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.71", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !461 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !463 store ptr %9, ptr %6, align 8, !tbaa !471 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt5tupleIJRKiEEC2ILb1ETnNSt9enable_ifIXclsr4_TCCIXT_EEE29__is_implicitly_constructibleIS1_EEEbE4typeELb1EEES1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) unnamed_addr #1 comdat align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !467 store ptr %1, ptr %4, align 8, !tbaa !100 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !100 invoke void @_ZNSt11_Tuple_implILm0EJRKiEEC2ES1_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 4 dereferenceable(4) %6) to label %7 unwind label %8 7: ; preds = %2 ret void 8: ; preds = %2 %9 = landingpad { ptr, i32 } catch ptr null %10 = extractvalue { ptr, i32 } %9, 0 call void @__clang_call_terminate(ptr %10) #20 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11lower_boundERS1_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #0 comdat align 2 { %3 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !317 store ptr %1, ptr %5, align 8, !tbaa !100 %6 = load ptr, ptr %4, align 8 %7 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 %8 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %6) #18 %9 = load ptr, ptr %5, align 8, !tbaa !100 %10 = call ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS2_EPSt18_Rb_tree_node_baseRS1_(ptr noundef nonnull align 8 dereferenceable(48) %6, ptr noundef %7, ptr noundef %8, ptr noundef nonnull align 4 dereferenceable(4) %9) %11 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 store ptr %10, ptr %11, align 8 %12 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 %13 = load ptr, ptr %12, align 8 ret ptr %13 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS2_EPSt18_Rb_tree_node_baseRS1_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 4 dereferenceable(4) %3) #0 comdat align 2 { %5 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !317 store ptr %1, ptr %7, align 8, !tbaa !327 store ptr %2, ptr %8, align 8, !tbaa !92 store ptr %3, ptr %9, align 8, !tbaa !100 %10 = load ptr, ptr %6, align 8 br label %11 11: ; preds = %27, %4 %12 = load ptr, ptr %7, align 8, !tbaa !327 %13 = icmp ne ptr %12, null br i1 %13, label %14, label %28 14: ; preds = %11 %15 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %10, i32 0, i32 0 %16 = load ptr, ptr %7, align 8, !tbaa !327 %17 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E(ptr noundef %16) %18 = load ptr, ptr %9, align 8, !tbaa !100 %19 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %15, ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(4) %18) br i1 %19, label %24, label %20 20: ; preds = %14 %21 = load ptr, ptr %7, align 8, !tbaa !327 store ptr %21, ptr %8, align 8, !tbaa !92 %22 = load ptr, ptr %7, align 8, !tbaa !327 %23 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %22) #18 store ptr %23, ptr %7, align 8, !tbaa !327 br label %27 24: ; preds = %14 %25 = load ptr, ptr %7, align 8, !tbaa !327 %26 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %25) #18 store ptr %26, ptr %7, align 8, !tbaa !327 br label %27 27: ; preds = %24, %20 br label %11, !llvm.loop !473 28: ; preds = %11 %29 = load ptr, ptr %8, align 8, !tbaa !92 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %29) #18 %30 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %5, i32 0, i32 0 %31 = load ptr, ptr %30, align 8 ret ptr %31 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 ret ptr %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E(ptr noundef %0) #0 comdat align 2 { %2 = alloca ptr, align 8 %3 = alloca %"struct.std::_Select1st.75", align 1 store ptr %0, ptr %2, align 8, !tbaa !327 call void @llvm.lifetime.start.p0(i64 1, ptr %3) #18 %4 = load ptr, ptr %2, align 8, !tbaa !327 %5 = call noundef ptr @_ZNKSt13_Rb_tree_nodeISt4pairIKibEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(40) %4) %6 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt10_Select1stISt4pairIKibEEclERKS2_(ptr noundef nonnull align 1 dereferenceable(1) %3, ptr noundef nonnull align 4 dereferenceable(5) %5) call void @llvm.lifetime.end.p0(i64 1, ptr %3) #18 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !461 store ptr %1, ptr %4, align 8, !tbaa !92 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !92 store ptr %7, ptr %6, align 8, !tbaa !463 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt10_Select1stISt4pairIKibEEclERKS2_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef nonnull align 4 dereferenceable(5) %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !474 store ptr %1, ptr %4, align 8, !tbaa !330 %5 = load ptr, ptr %4, align 8, !tbaa !330 %6 = getelementptr inbounds nuw %"struct.std::pair.54", ptr %5, i32 0, i32 0 ret ptr %6 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNKSt13_Rb_tree_nodeISt4pairIKibEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(40) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !327 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node.52", ptr %3, i32 0, i32 1 %5 = call noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKibEE6_M_ptrEv(ptr noundef nonnull align 4 dereferenceable(8) %4) #18 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKibEE6_M_ptrEv(ptr noundef nonnull align 4 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !332 %3 = load ptr, ptr %2, align 8 %4 = call noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKibEE7_M_addrEv(ptr noundef nonnull align 4 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef ptr @_ZNK9__gnu_cxx16__aligned_membufISt4pairIKibEE7_M_addrEv(ptr noundef nonnull align 4 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !332 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.__gnu_cxx::__aligned_membuf.53", ptr %3, i32 0, i32 0 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !317 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %7) #18 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %2, i32 0, i32 0 %9 = load ptr, ptr %8, align 8 ret ptr %9 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8key_compEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESE_IJEEEEERS8_DpOT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) unnamed_addr #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !476 store ptr %1, ptr %7, align 8, !tbaa !317 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !467 store ptr %4, ptr %10, align 8, !tbaa !364 %11 = load ptr, ptr %6, align 8 %12 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %11, i32 0, i32 0 %13 = load ptr, ptr %7, align 8, !tbaa !317 store ptr %13, ptr %12, align 8, !tbaa !317 %14 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %11, i32 0, i32 1 %15 = load ptr, ptr %7, align 8, !tbaa !317 %16 = load ptr, ptr %8, align 8, !tbaa !360 %17 = load ptr, ptr %9, align 8, !tbaa !467 %18 = load ptr, ptr %10, align 8, !tbaa !364 %19 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEEPSt13_Rb_tree_nodeIS2_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %15, ptr noundef nonnull align 1 dereferenceable(1) %16, ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 1 dereferenceable(1) %18) store ptr %19, ptr %14, align 8, !tbaa !478 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS2_ERS1_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr %1, ptr noundef nonnull align 4 dereferenceable(4) %2) #0 comdat align 2 { %4 = alloca %"struct.std::pair.60", align 8 %5 = alloca %"struct.std::_Rb_tree_const_iterator.71", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %9 = alloca ptr, align 8 %10 = alloca i32, align 4 %11 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %12 = alloca ptr, align 8 %13 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %14 = alloca ptr, align 8 %15 = alloca ptr, align 8 %16 = alloca ptr, align 8 %17 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.71", ptr %5, i32 0, i32 0 store ptr %1, ptr %17, align 8 store ptr %0, ptr %6, align 8, !tbaa !317 store ptr %2, ptr %7, align 8, !tbaa !100 %18 = load ptr, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %8) #18 %19 = call ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKibEE13_M_const_castEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %20 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 store ptr %19, ptr %20, align 8 %21 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 %22 = load ptr, ptr %21, align 8, !tbaa !463 %23 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %24 = icmp eq ptr %22, %23 br i1 %24, label %25, label %44 25: ; preds = %3 %26 = call noundef i64 @_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %27 = icmp ugt i64 %26, 0 br i1 %27, label %28, label %37 28: ; preds = %25 %29 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %18, i32 0, i32 0 %30 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %31 = load ptr, ptr %30, align 8, !tbaa !92 %32 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %31) %33 = load ptr, ptr %7, align 8, !tbaa !100 %34 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %29, ptr noundef nonnull align 4 dereferenceable(4) %32, ptr noundef nonnull align 4 dereferenceable(4) %33) br i1 %34, label %35, label %37 35: ; preds = %28 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 store ptr null, ptr %9, align 8, !tbaa !92 %36 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %36) call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 store i32 1, ptr %10, align 4 br label %129 37: ; preds = %28, %25 %38 = load ptr, ptr %7, align 8, !tbaa !100 %39 = call { ptr, ptr } @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE24_M_get_insert_unique_posERS1_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 4 dereferenceable(4) %38) %40 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %41 = extractvalue { ptr, ptr } %39, 0 store ptr %41, ptr %40, align 8 %42 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %43 = extractvalue { ptr, ptr } %39, 1 store ptr %43, ptr %42, align 8 store i32 1, ptr %10, align 4 br label %129 44: ; preds = %3 %45 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %18, i32 0, i32 0 %46 = load ptr, ptr %7, align 8, !tbaa !100 %47 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 %48 = load ptr, ptr %47, align 8, !tbaa !463 %49 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %48) %50 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %45, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 4 dereferenceable(4) %49) br i1 %50, label %51, label %86 51: ; preds = %44 call void @llvm.lifetime.start.p0(i64 8, ptr %11) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 %52 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 %53 = load ptr, ptr %52, align 8, !tbaa !463 %54 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %55 = load ptr, ptr %54, align 8, !tbaa !92 %56 = icmp eq ptr %53, %55 br i1 %56, label %57, label %60 57: ; preds = %51 %58 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %59 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) store i32 1, ptr %10, align 4 br label %85 60: ; preds = %51 %61 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %18, i32 0, i32 0 %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #18 %63 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %62, i32 0, i32 0 %64 = load ptr, ptr %63, align 8, !tbaa !463 %65 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %64) %66 = load ptr, ptr %7, align 8, !tbaa !100 %67 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %61, ptr noundef nonnull align 4 dereferenceable(4) %65, ptr noundef nonnull align 4 dereferenceable(4) %66) br i1 %67, label %68, label %78 68: ; preds = %60 %69 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %11, i32 0, i32 0 %70 = load ptr, ptr %69, align 8, !tbaa !463 %71 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %70) #18 %72 = icmp eq ptr %71, null br i1 %72, label %73, label %75 73: ; preds = %68 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 store ptr null, ptr %12, align 8, !tbaa !92 %74 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %11, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %74) call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 store i32 1, ptr %10, align 4 br label %85 75: ; preds = %68 %76 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 %77 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(8) %77) store i32 1, ptr %10, align 4 br label %85 78: ; preds = %60 %79 = load ptr, ptr %7, align 8, !tbaa !100 %80 = call { ptr, ptr } @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE24_M_get_insert_unique_posERS1_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 4 dereferenceable(4) %79) %81 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %82 = extractvalue { ptr, ptr } %80, 0 store ptr %82, ptr %81, align 8 %83 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %84 = extractvalue { ptr, ptr } %80, 1 store ptr %84, ptr %83, align 8 store i32 1, ptr %10, align 4 br label %85 85: ; preds = %78, %75, %73, %57 call void @llvm.lifetime.end.p0(i64 8, ptr %11) #18 br label %129 86: ; preds = %44 %87 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %18, i32 0, i32 0 %88 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 %89 = load ptr, ptr %88, align 8, !tbaa !463 %90 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %89) %91 = load ptr, ptr %7, align 8, !tbaa !100 %92 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %87, ptr noundef nonnull align 4 dereferenceable(4) %90, ptr noundef nonnull align 4 dereferenceable(4) %91) br i1 %92, label %93, label %127 93: ; preds = %86 call void @llvm.lifetime.start.p0(i64 8, ptr %13) #18 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %8, i64 8, i1 false), !tbaa.struct !91 %94 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 %95 = load ptr, ptr %94, align 8, !tbaa !463 %96 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 %97 = load ptr, ptr %96, align 8, !tbaa !92 %98 = icmp eq ptr %95, %97 br i1 %98, label %99, label %101 99: ; preds = %93 call void @llvm.lifetime.start.p0(i64 8, ptr %14) #18 store ptr null, ptr %14, align 8, !tbaa !92 %100 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %18) #18 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %100) call void @llvm.lifetime.end.p0(i64 8, ptr %14) #18 store i32 1, ptr %10, align 4 br label %126 101: ; preds = %93 %102 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %18, i32 0, i32 0 %103 = load ptr, ptr %7, align 8, !tbaa !100 %104 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %13) #18 %105 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %104, i32 0, i32 0 %106 = load ptr, ptr %105, align 8, !tbaa !463 %107 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %106) %108 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %102, ptr noundef nonnull align 4 dereferenceable(4) %103, ptr noundef nonnull align 4 dereferenceable(4) %107) br i1 %108, label %109, label %119 109: ; preds = %101 %110 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 %111 = load ptr, ptr %110, align 8, !tbaa !463 %112 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %111) #18 %113 = icmp eq ptr %112, null br i1 %113, label %114, label %116 114: ; preds = %109 call void @llvm.lifetime.start.p0(i64 8, ptr %15) #18 store ptr null, ptr %15, align 8, !tbaa !92 %115 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %115) call void @llvm.lifetime.end.p0(i64 8, ptr %15) #18 store i32 1, ptr %10, align 4 br label %126 116: ; preds = %109 %117 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %13, i32 0, i32 0 %118 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %13, i32 0, i32 0 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS6_S7_EEEbE4typeELb1EEEOS6_OS7_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef nonnull align 8 dereferenceable(8) %118) store i32 1, ptr %10, align 4 br label %126 119: ; preds = %101 %120 = load ptr, ptr %7, align 8, !tbaa !100 %121 = call { ptr, ptr } @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE24_M_get_insert_unique_posERS1_(ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 4 dereferenceable(4) %120) %122 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 0 %123 = extractvalue { ptr, ptr } %121, 0 store ptr %123, ptr %122, align 8 %124 = getelementptr inbounds nuw { ptr, ptr }, ptr %4, i32 0, i32 1 %125 = extractvalue { ptr, ptr } %121, 1 store ptr %125, ptr %124, align 8 store i32 1, ptr %10, align 4 br label %126 126: ; preds = %119, %116, %114, %99 call void @llvm.lifetime.end.p0(i64 8, ptr %13) #18 br label %129 127: ; preds = %86 %128 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %8, i32 0, i32 0 call void @llvm.lifetime.start.p0(i64 8, ptr %16) #18 store ptr null, ptr %16, align 8, !tbaa !92 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(8) %128, ptr noundef nonnull align 8 dereferenceable(8) %16) call void @llvm.lifetime.end.p0(i64 8, ptr %16) #18 store i32 1, ptr %10, align 4 br label %129 129: ; preds = %127, %126, %85, %37, %35 call void @llvm.lifetime.end.p0(i64 8, ptr %8) #18 %130 = load { ptr, ptr }, ptr %4, align 8 ret { ptr, ptr } %130 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_node6_M_keyEv(ptr noundef nonnull align 8 dereferenceable(16) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !476 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %3, i32 0, i32 1 %5 = load ptr, ptr %4, align 8, !tbaa !478 %6 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E(ptr noundef %5) ret ptr %6 } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_node9_M_insertES0_IPSt18_Rb_tree_node_baseSB_E(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr %1, ptr %2) #0 comdat align 2 { %4 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %5 = alloca %"struct.std::pair.60", align 8 %6 = alloca ptr, align 8 %7 = getelementptr inbounds nuw { ptr, ptr }, ptr %5, i32 0, i32 0 store ptr %1, ptr %7, align 8 %8 = getelementptr inbounds nuw { ptr, ptr }, ptr %5, i32 0, i32 1 store ptr %2, ptr %8, align 8 store ptr %0, ptr %6, align 8, !tbaa !476 %9 = load ptr, ptr %6, align 8 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %9, i32 0, i32 0 %11 = load ptr, ptr %10, align 8, !tbaa !480 %12 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %5, i32 0, i32 0 %13 = load ptr, ptr %12, align 8, !tbaa !368 %14 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %5, i32 0, i32 1 %15 = load ptr, ptr %14, align 8, !tbaa !366 %16 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %9, i32 0, i32 1 %17 = load ptr, ptr %16, align 8, !tbaa !478 %18 = call ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %11, ptr noundef %13, ptr noundef %15, ptr noundef %17) %19 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %4, i32 0, i32 0 store ptr %18, ptr %19, align 8 %20 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %9, i32 0, i32 1 store ptr null, ptr %20, align 8, !tbaa !478 %21 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %4, i32 0, i32 0 %22 = load ptr, ptr %21, align 8 ret ptr %22 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %0) unnamed_addr #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !476 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %3, i32 0, i32 1 %5 = load ptr, ptr %4, align 8, !tbaa !478 %6 = icmp ne ptr %5, null br i1 %6, label %7, label %12 7: ; preds = %1 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %3, i32 0, i32 0 %9 = load ptr, ptr %8, align 8, !tbaa !480 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Auto_node", ptr %3, i32 0, i32 1 %11 = load ptr, ptr %10, align 8, !tbaa !478 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %9, ptr noundef %11) #18 br label %12 12: ; preds = %7, %1 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEEPSt13_Rb_tree_nodeIS2_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 1 dereferenceable(1) %3) #0 comdat align 2 { %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 store ptr %0, ptr %5, align 8, !tbaa !317 store ptr %1, ptr %6, align 8, !tbaa !360 store ptr %2, ptr %7, align 8, !tbaa !467 store ptr %3, ptr %8, align 8, !tbaa !364 %10 = load ptr, ptr %5, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %11 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_get_nodeEv(ptr noundef nonnull align 8 dereferenceable(48) %10) store ptr %11, ptr %9, align 8, !tbaa !327 %12 = load ptr, ptr %9, align 8, !tbaa !327 %13 = load ptr, ptr %6, align 8, !tbaa !360 %14 = load ptr, ptr %7, align 8, !tbaa !467 %15 = load ptr, ptr %8, align 8, !tbaa !364 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEEvPSt13_Rb_tree_nodeIS2_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 1 dereferenceable(1) %15) %16 = load ptr, ptr %9, align 8, !tbaa !327 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 ret ptr %16 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_get_nodeEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #18 %5 = call noundef ptr @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE8allocateERS5_m(ptr noundef nonnull align 1 dereferenceable(1) %4, i64 noundef 1) ret ptr %5 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESD_IJEEEEEvPSt13_Rb_tree_nodeIS2_EDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 personality ptr @__gxx_personality_v0 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca ptr, align 8 %12 = alloca i32, align 4 store ptr %0, ptr %6, align 8, !tbaa !317 store ptr %1, ptr %7, align 8, !tbaa !327 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !467 store ptr %4, ptr %10, align 8, !tbaa !364 %13 = load ptr, ptr %6, align 8 %14 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE21_M_get_Node_allocatorEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 %15 = load ptr, ptr %7, align 8, !tbaa !327 %16 = call noundef ptr @_ZNSt13_Rb_tree_nodeISt4pairIKibEE9_M_valptrEv(ptr noundef nonnull align 8 dereferenceable(40) %15) %17 = load ptr, ptr %8, align 8, !tbaa !360 %18 = load ptr, ptr %9, align 8, !tbaa !467 %19 = load ptr, ptr %10, align 8, !tbaa !364 invoke void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE9constructIS3_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESB_IJEEEEEvRS5_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %14, ptr noundef %16, ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 1 dereferenceable(1) %19) to label %20 unwind label %21 20: ; preds = %5 br label %34 21: ; preds = %5 %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 store ptr %23, ptr %11, align 8 %24 = extractvalue { ptr, i32 } %22, 1 store i32 %24, ptr %12, align 4 br label %25 25: ; preds = %21 %26 = load ptr, ptr %11, align 8 %27 = call ptr @__cxa_begin_catch(ptr %26) #18 %28 = load ptr, ptr %7, align 8, !tbaa !327 call void @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef %28) #18 invoke void @__cxa_rethrow() #19 to label %43 unwind label %29 29: ; preds = %25 %30 = landingpad { ptr, i32 } cleanup %31 = extractvalue { ptr, i32 } %30, 0 store ptr %31, ptr %11, align 8 %32 = extractvalue { ptr, i32 } %30, 1 store i32 %32, ptr %12, align 4 invoke void @__cxa_end_catch() to label %33 unwind label %40 33: ; preds = %29 br label %35 34: ; preds = %20 ret void 35: ; preds = %33 %36 = load ptr, ptr %11, align 8 %37 = load i32, ptr %12, align 4 %38 = insertvalue { ptr, i32 } poison, ptr %36, 0 %39 = insertvalue { ptr, i32 } %38, i32 %37, 1 resume { ptr, i32 } %39 40: ; preds = %29 %41 = landingpad { ptr, i32 } catch ptr null %42 = extractvalue { ptr, i32 } %41, 0 call void @__clang_call_terminate(ptr %42) #20 unreachable 43: ; preds = %25 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE8allocateERS5_m(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !321 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8, !tbaa !321 %6 = load i64, ptr %4, align 8, !tbaa !97 %7 = call noundef ptr @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %5, i64 noundef %6, ptr noundef null) ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef ptr @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE8allocateEmPKv(ptr noundef nonnull align 1 dereferenceable(1) %0, i64 noundef %1, ptr noundef %2) #0 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca i64, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !325 store i64 %1, ptr %5, align 8, !tbaa !97 store ptr %2, ptr %6, align 8, !tbaa !114 %7 = load ptr, ptr %4, align 8 %8 = load i64, ptr %5, align 8, !tbaa !97 %9 = call noundef i64 @_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %7) #18 %10 = icmp ugt i64 %8, %9 %11 = zext i1 %10 to i64 %12 = call i64 @llvm.expect.i64(i64 %11, i64 0) %13 = icmp ne i64 %12, 0 br i1 %13, label %14, label %19 14: ; preds = %3 %15 = load i64, ptr %5, align 8, !tbaa !97 %16 = icmp ugt i64 %15, 461168601842738790 br i1 %16, label %17, label %18 17: ; preds = %14 call void @_ZSt28__throw_bad_array_new_lengthv() #19 unreachable 18: ; preds = %14 call void @_ZSt17__throw_bad_allocv() #19 unreachable 19: ; preds = %3 %20 = load i64, ptr %5, align 8, !tbaa !97 %21 = mul i64 %20, 40 %22 = call noalias noundef nonnull ptr @_Znwm(i64 noundef %21) #23 ret ptr %22 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE11_M_max_sizeEv(ptr noundef nonnull align 1 dereferenceable(1) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !325 ret i64 230584300921369395 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKibEEEE9constructIS3_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESB_IJEEEEEvRS5_PT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 store ptr %0, ptr %6, align 8, !tbaa !321 store ptr %1, ptr %7, align 8, !tbaa !330 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !467 store ptr %4, ptr %10, align 8, !tbaa !364 %11 = load ptr, ptr %6, align 8, !tbaa !321 %12 = load ptr, ptr %7, align 8, !tbaa !330 %13 = load ptr, ptr %8, align 8, !tbaa !360 %14 = load ptr, ptr %9, align 8, !tbaa !467 %15 = load ptr, ptr %10, align 8, !tbaa !364 call void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE9constructIS3_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESA_IJEEEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %11, ptr noundef %12, ptr noundef nonnull align 1 dereferenceable(1) %13, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 1 dereferenceable(1) %15) ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE9constructIS3_JRKSt21piecewise_construct_tSt5tupleIJRS2_EESA_IJEEEEEvPT_DpOT0_(ptr noundef nonnull align 1 dereferenceable(1) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2, ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 1 dereferenceable(1) %4) #0 comdat align 2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca ptr, align 8 %11 = alloca %"class.std::tuple.72", align 8 store ptr %0, ptr %6, align 8, !tbaa !325 store ptr %1, ptr %7, align 8, !tbaa !330 store ptr %2, ptr %8, align 8, !tbaa !360 store ptr %3, ptr %9, align 8, !tbaa !467 store ptr %4, ptr %10, align 8, !tbaa !364 %12 = load ptr, ptr %7, align 8, !tbaa !330 %13 = load ptr, ptr %9, align 8, !tbaa !467 call void @_ZNSt5tupleIJRKiEEC2EOS2_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %13) #18 call void @_ZNSt4pairIKibEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES5_IJDpT0_EE(ptr noundef nonnull align 4 dereferenceable(5) %12, ptr noundef %11) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt5tupleIJRKiEEC2EOS2_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !467 store ptr %1, ptr %4, align 8, !tbaa !467 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !467 call void @_ZNSt11_Tuple_implILm0EJRKiEEC2EOS2_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #18 ret void } ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr void @_ZNSt4pairIKibEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES5_IJDpT0_EE(ptr noundef nonnull align 4 dereferenceable(5) %0, ptr noundef %1) unnamed_addr #5 comdat align 2 { %3 = alloca %"class.std::tuple.59", align 1 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !330 store ptr %1, ptr %5, align 8, !tbaa !467 %6 = load ptr, ptr %4, align 8 call void @_ZNSt4pairIKibEC2IJRS0_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS4_IJDpT1_EESt12_Index_tupleIJXspT0_EEESD_IJXspT2_EEE(ptr noundef nonnull align 4 dereferenceable(5) %6, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 1 dereferenceable(1) %3) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt11_Tuple_implILm0EJRKiEEC2EOS2_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !481 store ptr %1, ptr %4, align 8, !tbaa !481 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !481 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 8, i1 false), !tbaa.struct !106 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIKibEC2IJRS0_EJLm0EEJETpTnmJEEERSt5tupleIJDpT_EERS4_IJDpT1_EESt12_Index_tupleIJXspT0_EEESD_IJXspT2_EEE(ptr noundef nonnull align 4 dereferenceable(5) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #4 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !330 store ptr %1, ptr %5, align 8, !tbaa !467 store ptr %2, ptr %6, align 8, !tbaa !364 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair.54", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !467 %10 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EJRKiEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 %11 = load i32, ptr %10, align 4, !tbaa !72 store i32 %11, ptr %8, align 4, !tbaa !483 %12 = getelementptr inbounds nuw %"struct.std::pair.54", ptr %7, i32 0, i32 1 store i8 0, ptr %12, align 4, !tbaa !485 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm0EJRKiEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !467 %3 = load ptr, ptr %2, align 8, !tbaa !467 %4 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt12__get_helperILm0ERKiJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZSt12__get_helperILm0ERKiJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !481 %3 = load ptr, ptr %2, align 8, !tbaa !481 %4 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt11_Tuple_implILm0EJRKiEE7_M_headERS2_(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt11_Tuple_implILm0EJRKiEE7_M_headERS2_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !481 %3 = load ptr, ptr %2, align 8, !tbaa !481 %4 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt10_Head_baseILm0ERKiLb0EE7_M_headERS2_(ptr noundef nonnull align 8 dereferenceable(8) %3) #18 ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt10_Head_baseILm0ERKiLb0EE7_M_headERS2_(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !486 %3 = load ptr, ptr %2, align 8, !tbaa !486 %4 = getelementptr inbounds nuw %"struct.std::_Head_base.74", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !488 ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt23_Rb_tree_const_iteratorISt4pairIKibEE13_M_const_castEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !469 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.71", ptr %4, i32 0, i32 0 %6 = load ptr, ptr %5, align 8, !tbaa !471 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %6) #18 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %2, i32 0, i32 0 %8 = load ptr, ptr %7, align 8 ret ptr %8 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef i64 @_ZNKSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 1 %7 = load i64, ptr %6, align 8, !tbaa !239 ret i64 %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %0) #0 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !92 %3 = load ptr, ptr %2, align 8, !tbaa !92 %4 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E(ptr noundef %3) ret ptr %4 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE12_M_rightmostEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 3 ret ptr %7 } ; Function Attrs: mustprogress uwtable define linkonce_odr { ptr, ptr } @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE24_M_get_insert_unique_posERS1_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) #0 comdat align 2 { %3 = alloca %"struct.std::pair.60", align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca i8, align 1 %9 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %10 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %11 = alloca i32, align 4 %12 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !317 store ptr %1, ptr %5, align 8, !tbaa !100 %13 = load ptr, ptr %4, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %6) #18 %14 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_M_beginEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 store ptr %14, ptr %6, align 8, !tbaa !327 call void @llvm.lifetime.start.p0(i64 8, ptr %7) #18 %15 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 store ptr %15, ptr %7, align 8, !tbaa !92 call void @llvm.lifetime.start.p0(i64 1, ptr %8) #18 store i8 1, ptr %8, align 1, !tbaa !87 br label %16 16: ; preds = %35, %2 %17 = load ptr, ptr %6, align 8, !tbaa !327 %18 = icmp ne ptr %17, null br i1 %18, label %19, label %37 19: ; preds = %16 %20 = load ptr, ptr %6, align 8, !tbaa !327 store ptr %20, ptr %7, align 8, !tbaa !92 %21 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %13, i32 0, i32 0 %22 = load ptr, ptr %5, align 8, !tbaa !100 %23 = load ptr, ptr %6, align 8, !tbaa !327 %24 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E(ptr noundef %23) %25 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %21, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %24) %26 = zext i1 %25 to i8 store i8 %26, ptr %8, align 1, !tbaa !87 %27 = load i8, ptr %8, align 1, !tbaa !87, !range !88, !noundef !89 %28 = trunc i8 %27 to i1 br i1 %28, label %29, label %32 29: ; preds = %19 %30 = load ptr, ptr %6, align 8, !tbaa !327 %31 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE7_S_leftEPSt18_Rb_tree_node_base(ptr noundef %30) #18 br label %35 32: ; preds = %19 %33 = load ptr, ptr %6, align 8, !tbaa !327 %34 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE8_S_rightEPSt18_Rb_tree_node_base(ptr noundef %33) #18 br label %35 35: ; preds = %32, %29 %36 = phi ptr [ %31, %29 ], [ %34, %32 ] store ptr %36, ptr %6, align 8, !tbaa !327 br label %16, !llvm.loop !490 37: ; preds = %16 call void @llvm.lifetime.start.p0(i64 8, ptr %9) #18 %38 = load ptr, ptr %7, align 8, !tbaa !92 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef %38) #18 %39 = load i8, ptr %8, align 1, !tbaa !87, !range !88, !noundef !89 %40 = trunc i8 %39 to i1 br i1 %40, label %41, label %49 41: ; preds = %37 call void @llvm.lifetime.start.p0(i64 8, ptr %10) #18 %42 = call ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #18 %43 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %10, i32 0, i32 0 store ptr %42, ptr %43, align 8 %44 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKibEES5_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %10) #18 br i1 %44, label %45, label %46 45: ; preds = %41 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKibEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISC_SD_EEEbE4typeELb1EEEOSC_OSD_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) store i32 1, ptr %11, align 4 br label %59 46: ; preds = %41 %47 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #18 br label %48 48: ; preds = %46 br label %49 49: ; preds = %48, %37 %50 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %13, i32 0, i32 0 %51 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %9, i32 0, i32 0 %52 = load ptr, ptr %51, align 8, !tbaa !463 %53 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %52) %54 = load ptr, ptr %5, align 8, !tbaa !100 %55 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %50, ptr noundef nonnull align 4 dereferenceable(4) %53, ptr noundef nonnull align 4 dereferenceable(4) %54) br i1 %55, label %56, label %57 56: ; preds = %49 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKibEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISC_SD_EEEbE4typeELb1EEEOSC_OSD_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) store i32 1, ptr %11, align 4 br label %59 57: ; preds = %49 %58 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %9, i32 0, i32 0 call void @llvm.lifetime.start.p0(i64 8, ptr %12) #18 store ptr null, ptr %12, align 8, !tbaa !92 call void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_TnNSt9enable_ifIXaaclsr5_PCCPE18_ConstructiblePairIT_T0_EEclsr5_PCCPE26_ImplicitlyConvertiblePairIS5_S6_EEEbE4typeELb1EEERKS1_SA_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %12) call void @llvm.lifetime.end.p0(i64 8, ptr %12) #18 store i32 1, ptr %11, align 4 br label %59 59: ; preds = %57, %56, %45 call void @llvm.lifetime.end.p0(i64 8, ptr %9) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %8) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %7) #18 call void @llvm.lifetime.end.p0(i64 8, ptr %6) #18 %60 = load { ptr, ptr }, ptr %3, align 8 ret { ptr, ptr } %60 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE11_M_leftmostEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !317 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %3, i32 0, i32 0 %5 = getelementptr inbounds i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %5, i32 0, i32 0 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %6, i32 0, i32 2 ret ptr %7 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEmmEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !461 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !463 %6 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef %5) #22 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8, !tbaa !463 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %0) #1 comdat align 2 { %2 = alloca ptr, align 8 store ptr %0, ptr %2, align 8, !tbaa !461 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 %5 = load ptr, ptr %4, align 8, !tbaa !463 %6 = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %5) #22 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %3, i32 0, i32 0 store ptr %6, ptr %7, align 8, !tbaa !463 ret ptr %3 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !317 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !237 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %9) #18 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %2, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 ret ptr %11 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKibEERS1_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISC_SD_EEEbE4typeELb1EEEOSC_OSD_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(8) %2) unnamed_addr #1 comdat align 2 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 store ptr %0, ptr %4, align 8, !tbaa !382 store ptr %1, ptr %5, align 8, !tbaa !491 store ptr %2, ptr %6, align 8, !tbaa !384 %7 = load ptr, ptr %4, align 8 %8 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 0 %9 = load ptr, ptr %5, align 8, !tbaa !491 %10 = load ptr, ptr %9, align 8, !tbaa !327 store ptr %10, ptr %8, align 8, !tbaa !368 %11 = getelementptr inbounds nuw %"struct.std::pair.60", ptr %7, i32 0, i32 1 %12 = load ptr, ptr %6, align 8, !tbaa !384 %13 = load ptr, ptr %12, align 8, !tbaa !92 store ptr %13, ptr %11, align 8, !tbaa !366 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSA_PSt13_Rb_tree_nodeIS2_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) #0 comdat align 2 { %5 = alloca %"struct.std::_Rb_tree_iterator.70", align 8 %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 %8 = alloca ptr, align 8 %9 = alloca ptr, align 8 %10 = alloca i8, align 1 store ptr %0, ptr %6, align 8, !tbaa !317 store ptr %1, ptr %7, align 8, !tbaa !92 store ptr %2, ptr %8, align 8, !tbaa !92 store ptr %3, ptr %9, align 8, !tbaa !327 %11 = load ptr, ptr %6, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr %10) #18 %12 = load ptr, ptr %7, align 8, !tbaa !92 %13 = icmp ne ptr %12, null br i1 %13, label %25, label %14 14: ; preds = %4 %15 = load ptr, ptr %8, align 8, !tbaa !92 %16 = call noundef ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_M_endEv(ptr noundef nonnull align 8 dereferenceable(48) %11) #18 %17 = icmp eq ptr %15, %16 br i1 %17, label %25, label %18 18: ; preds = %14 %19 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %11, i32 0, i32 0 %20 = load ptr, ptr %9, align 8, !tbaa !327 %21 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt13_Rb_tree_nodeIS2_E(ptr noundef %20) %22 = load ptr, ptr %8, align 8, !tbaa !92 %23 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE6_S_keyEPKSt18_Rb_tree_node_base(ptr noundef %22) %24 = call noundef zeroext i1 @_ZNKSt4lessIiEclERKiS2_(ptr noundef nonnull align 1 dereferenceable(1) %19, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 4 dereferenceable(4) %23) br label %25 25: ; preds = %18, %14, %4 %26 = phi i1 [ true, %14 ], [ true, %4 ], [ %24, %18 ] %27 = zext i1 %26 to i8 store i8 %27, ptr %10, align 1, !tbaa !87 %28 = load i8, ptr %10, align 1, !tbaa !87, !range !88, !noundef !89 %29 = trunc i8 %28 to i1 %30 = load ptr, ptr %9, align 8, !tbaa !327 %31 = load ptr, ptr %8, align 8, !tbaa !92 %32 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %11, i32 0, i32 0 %33 = getelementptr inbounds i8, ptr %32, i64 8 %34 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %33, i32 0, i32 0 call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %29, ptr noundef %30, ptr noundef %31, ptr noundef nonnull align 8 dereferenceable(32) %34) #18 %35 = getelementptr inbounds nuw %"class.std::_Rb_tree.35", ptr %11, i32 0, i32 0 %36 = getelementptr inbounds i8, ptr %35, i64 8 %37 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %36, i32 0, i32 1 %38 = load i64, ptr %37, align 8, !tbaa !239 %39 = add i64 %38, 1 store i64 %39, ptr %37, align 8, !tbaa !239 %40 = load ptr, ptr %9, align 8, !tbaa !327 call void @_ZNSt17_Rb_tree_iteratorISt4pairIKibEEC2EPSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef %40) #18 call void @llvm.lifetime.end.p0(i64 1, ptr %10) #18 %41 = getelementptr inbounds nuw %"struct.std::_Rb_tree_iterator.70", ptr %5, i32 0, i32 0 %42 = load ptr, ptr %41, align 8 ret ptr %42 } ; Function Attrs: mustprogress uwtable define linkonce_odr void @_ZNSt11_Tuple_implILm0EJRKiEEC2ES1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) unnamed_addr #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !481 store ptr %1, ptr %4, align 8, !tbaa !100 %5 = load ptr, ptr %3, align 8 %6 = load ptr, ptr %4, align 8, !tbaa !100 call void @_ZNSt10_Head_baseILm0ERKiLb0EEC2ES1_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 4 dereferenceable(4) %6) ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt10_Head_baseILm0ERKiLb0EEC2ES1_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 4 dereferenceable(4) %1) unnamed_addr #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !486 store ptr %1, ptr %4, align 8, !tbaa !100 %5 = load ptr, ptr %3, align 8 %6 = getelementptr inbounds nuw %"struct.std::_Head_base.74", ptr %5, i32 0, i32 0 %7 = load ptr, ptr %4, align 8, !tbaa !100 store ptr %7, ptr %6, align 8, !tbaa !100 ret void } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef zeroext i1 @_ZNKSt19_Bit_const_iteratorixEl(ptr noundef nonnull align 8 dereferenceable(12) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca %"struct.std::_Bit_const_iterator", align 8 %6 = alloca { ptr, i32 }, align 8 store ptr %0, ptr %3, align 8, !tbaa !145 store i64 %1, ptr %4, align 8, !tbaa !97 %7 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr %5) #18 %8 = load i64, ptr %4, align 8, !tbaa !97 %9 = call { ptr, i32 } @_ZStplRKSt19_Bit_const_iteratorl(ptr noundef nonnull align 8 dereferenceable(12) %7, i64 noundef %8) store { ptr, i32 } %9, ptr %6, align 8 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 12, i1 false) %10 = call noundef zeroext i1 @_ZNKSt19_Bit_const_iteratordeEv(ptr noundef nonnull align 8 dereferenceable(12) %5) call void @llvm.lifetime.end.p0(i64 16, ptr %5) #18 ret i1 %10 } ; Function Attrs: mustprogress uwtable define linkonce_odr { ptr, i32 } @_ZStplRKSt19_Bit_const_iteratorl(ptr noundef nonnull align 8 dereferenceable(12) %0, i64 noundef %1) #0 comdat { %3 = alloca %"struct.std::_Bit_const_iterator", align 8 %4 = alloca ptr, align 8 %5 = alloca i64, align 8 store ptr %0, ptr %4, align 8, !tbaa !145 store i64 %1, ptr %5, align 8, !tbaa !97 %6 = load ptr, ptr %4, align 8, !tbaa !145 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %6, i64 16, i1 false) %7 = load i64, ptr %5, align 8, !tbaa !97 %8 = call noundef nonnull align 8 dereferenceable(12) ptr @_ZNSt19_Bit_const_iteratorpLEl(ptr noundef nonnull align 8 dereferenceable(12) %3, i64 noundef %7) %9 = load { ptr, i32 }, ptr %3, align 8 ret { ptr, i32 } %9 } ; Function Attrs: mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(12) ptr @_ZNSt19_Bit_const_iteratorpLEl(ptr noundef nonnull align 8 dereferenceable(12) %0, i64 noundef %1) #0 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !145 store i64 %1, ptr %4, align 8, !tbaa !97 %5 = load ptr, ptr %3, align 8 %6 = load i64, ptr %4, align 8, !tbaa !97 call void @_ZNSt18_Bit_iterator_base7_M_incrEl(ptr noundef nonnull align 8 dereferenceable(12) %5, i64 noundef %6) ret ptr %5 } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr void @_ZNSt18_Bit_iterator_base7_M_incrEl(ptr noundef nonnull align 8 dereferenceable(12) %0, i64 noundef %1) #1 comdat align 2 { %3 = alloca ptr, align 8 %4 = alloca i64, align 8 %5 = alloca i64, align 8 store ptr %0, ptr %3, align 8, !tbaa !143 store i64 %1, ptr %4, align 8, !tbaa !97 %6 = load ptr, ptr %3, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr %5) #18 %7 = load i64, ptr %4, align 8, !tbaa !97 %8 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %6, i32 0, i32 1 %9 = load i32, ptr %8, align 8, !tbaa !147 %10 = zext i32 %9 to i64 %11 = add nsw i64 %7, %10 store i64 %11, ptr %5, align 8, !tbaa !97 %12 = load i64, ptr %5, align 8, !tbaa !97 %13 = sdiv i64 %12, 64 %14 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %6, i32 0, i32 0 %15 = load ptr, ptr %14, align 8, !tbaa !140 %16 = getelementptr inbounds i64, ptr %15, i64 %13 store ptr %16, ptr %14, align 8, !tbaa !140 %17 = load i64, ptr %5, align 8, !tbaa !97 %18 = srem i64 %17, 64 store i64 %18, ptr %5, align 8, !tbaa !97 %19 = load i64, ptr %5, align 8, !tbaa !97 %20 = icmp slt i64 %19, 0 br i1 %20, label %21, label %27 21: ; preds = %2 %22 = load i64, ptr %5, align 8, !tbaa !97 %23 = add nsw i64 %22, 64 store i64 %23, ptr %5, align 8, !tbaa !97 %24 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %6, i32 0, i32 0 %25 = load ptr, ptr %24, align 8, !tbaa !140 %26 = getelementptr inbounds i64, ptr %25, i32 -1 store ptr %26, ptr %24, align 8, !tbaa !140 br label %27 27: ; preds = %21, %2 %28 = load i64, ptr %5, align 8, !tbaa !97 %29 = trunc i64 %28 to i32 %30 = getelementptr inbounds nuw %"struct.std::_Bit_iterator_base", ptr %6, i32 0, i32 1 store i32 %29, ptr %30, align 8, !tbaa !147 call void @llvm.lifetime.end.p0(i64 8, ptr %5) #18 ret void } ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_const_iterator", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !223 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !237 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEC2EPKSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %9) #18 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator", ptr %2, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 ret ptr %11 } ; Function Attrs: nounwind willreturn memory(read) declare noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef) #16 ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr ptr @_ZNKSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %0) #1 comdat align 2 { %2 = alloca %"struct.std::_Rb_tree_const_iterator.42", align 8 %3 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !250 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw %"class.std::_Rb_tree.4", ptr %4, i32 0, i32 0 %6 = getelementptr inbounds i8, ptr %5, i64 8 %7 = getelementptr inbounds nuw %"struct.std::_Rb_tree_header", ptr %6, i32 0, i32 0 %8 = getelementptr inbounds nuw %"struct.std::_Rb_tree_node_base", ptr %7, i32 0, i32 2 %9 = load ptr, ptr %8, align 8, !tbaa !237 call void @_ZNSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEC2EPKSt18_Rb_tree_node_base(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %9) #18 %10 = getelementptr inbounds nuw %"struct.std::_Rb_tree_const_iterator.42", ptr %2, i32 0, i32 0 %11 = load ptr, ptr %10, align 8 ret ptr %11 } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr noundef zeroext i1 @_ZN9__gnu_cxxeqIPKiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #4 comdat { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 store ptr %0, ptr %3, align 8, !tbaa !102 store ptr %1, ptr %4, align 8, !tbaa !102 %5 = load ptr, ptr %3, align 8, !tbaa !102 %6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #18 %7 = load ptr, ptr %6, align 8, !tbaa !100 %8 = load ptr, ptr %4, align 8, !tbaa !102 %9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEE4baseEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #18 %10 = load ptr, ptr %9, align 8, !tbaa !100 %11 = icmp eq ptr %7, %10 ret i1 %11 } attributes #0 = { 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 #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 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } attributes #3 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #4 = { 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 #5 = { 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 #6 = { 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 #7 = { 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 #8 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } attributes #9 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } attributes #10 = { noinline noreturn nounwind uwtable "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 #11 = { "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 #12 = { alwaysinline 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 #13 = { noreturn "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 #14 = { nocallback nofree nosync nounwind willreturn memory(none) } attributes #15 = { nobuiltin allocsize(0) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #16 = { nounwind willreturn memory(read) "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 #17 = { convergent nocallback nofree nosync nounwind willreturn memory(none) } attributes #18 = { nounwind } attributes #19 = { noreturn } attributes #20 = { noreturn nounwind } attributes #21 = { builtin nounwind } attributes #22 = { nounwind willreturn memory(read) } attributes #23 = { builtin allocsize(0) } !llvm.module.flags = !{!0, !1, !2, !3, !4, !5} !0 = !{i32 7, !"Dwarf Version", i32 5} !1 = !{i32 2, !"Debug Info Version", i32 3} !2 = !{i32 1, !"wchar_size", i32 4} !3 = !{i32 8, !"PIC Level", i32 2} !4 = !{i32 7, !"uwtable", i32 2} !5 = !{i32 7, !"debug-info-assignment-tracking", i1 true} !6 = !{!7, !7, i64 0} !7 = !{!"p1 _ZTS5ezSAT", !8, i64 0} !8 = !{!"any pointer", !9, i64 0} !9 = !{!"omnipotent char", !10, i64 0} !10 = !{!"Simple C++ TBAA"} !11 = !{!12, !12, i64 0} !12 = !{!"vtable pointer", !10, i64 0} !13 = !{!14, !41, i64 280} !14 = !{!"_ZTS5ezSAT", !15, i64 8, !15, i64 9, !15, i64 10, !16, i64 16, !26, i64 64, !31, i64 88, !36, i64 136, !15, i64 160, !41, i64 164, !41, i64 168, !42, i64 176, !42, i64 200, !47, i64 224, !47, i64 248, !41, i64 272, !15, i64 276, !41, i64 280} !15 = !{!"bool", !9, i64 0} !16 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE", !17, i64 0} !17 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !18, i64 0} !18 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !19, i64 0, !21, i64 8} !19 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !20, i64 0} !20 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"} !21 = !{!"_ZTSSt15_Rb_tree_header", !22, i64 0, !25, i64 32} !22 = !{!"_ZTSSt18_Rb_tree_node_base", !23, i64 0, !24, i64 8, !24, i64 16, !24, i64 24} !23 = !{!"_ZTSSt14_Rb_tree_color", !9, i64 0} !24 = !{!"p1 _ZTSSt18_Rb_tree_node_base", !8, i64 0} !25 = !{!"long", !9, i64 0} !26 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !27, i64 0} !27 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !28, i64 0} !28 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !29, i64 0} !29 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !30, i64 0, !30, i64 8, !30, i64 16} !30 = !{!"p1 _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !8, i64 0} !31 = !{!"_ZTSSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE", !32, i64 0} !32 = !{!"_ZTSSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE", !33, i64 0} !33 = !{!"_ZTSNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !34, i64 0, !21, i64 8} !34 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE", !35, i64 0} !35 = !{!"_ZTSSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE"} !36 = !{!"_ZTSSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE", !37, i64 0} !37 = !{!"_ZTSSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE", !38, i64 0} !38 = !{!"_ZTSNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE12_Vector_implE", !39, i64 0} !39 = !{!"_ZTSNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE17_Vector_impl_dataE", !40, i64 0, !40, i64 8, !40, i64 16} !40 = !{!"p1 _ZTSSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEE", !8, i64 0} !41 = !{!"int", !9, i64 0} !42 = !{!"_ZTSSt6vectorIiSaIiEE", !43, i64 0} !43 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !44, i64 0} !44 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !45, i64 0} !45 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !46, i64 0, !46, i64 8, !46, i64 16} !46 = !{!"p1 int", !8, i64 0} !47 = !{!"_ZTSSt6vectorIS_IiSaIiEESaIS1_EE", !48, i64 0} !48 = !{!"_ZTSSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE", !49, i64 0} !49 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implE", !50, i64 0} !50 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataE", !51, i64 0, !51, i64 8, !51, i64 16} !51 = !{!"p1 _ZTSSt6vectorIiSaIiEE", !8, i64 0} !52 = !{!14, !15, i64 8} !53 = !{!14, !15, i64 9} !54 = !{!14, !15, i64 10} !55 = !{!14, !15, i64 160} !56 = !{!14, !41, i64 164} !57 = !{!14, !41, i64 168} !58 = !{!14, !41, i64 272} !59 = !{!14, !15, i64 276} !60 = !{!61, !61, i64 0} !61 = !{!"p1 _ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEE", !8, i64 0} !62 = !{!63, !63, i64 0} !63 = !{!"p1 _ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !8, i64 0} !64 = !{!65, !65, i64 0} !65 = !{!"p1 _ZTSSt3mapISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEiSt4lessIS6_ESaIS0_IKS6_iEEE", !8, i64 0} !66 = !{!67, !67, i64 0} !67 = !{!"p1 _ZTSSt6vectorISt4pairIN5ezSAT4OpIdES_IiSaIiEEESaIS5_EE", !8, i64 0} !68 = !{!51, !51, i64 0} !69 = !{!70, !70, i64 0} !70 = !{!"p1 _ZTSSt6vectorIS_IiSaIiEESaIS1_EE", !8, i64 0} !71 = !{!30, !30, i64 0} !72 = !{!41, !41, i64 0} !73 = !{!74, !74, i64 0} !74 = !{!"p1 _ZTSSaIcE", !8, i64 0} !75 = !{!76, !76, i64 0} !76 = !{!"p1 omnipotent char", !8, i64 0} !77 = !{!78, !78, i64 0} !78 = !{!"p1 _ZTSSt15__new_allocatorIcE", !8, i64 0} !79 = !{!50, !51, i64 0} !80 = !{!50, !51, i64 8} !81 = !{!45, !46, i64 0} !82 = !{!45, !46, i64 8} !83 = !{!39, !40, i64 0} !84 = !{!39, !40, i64 8} !85 = !{!29, !30, i64 0} !86 = !{!29, !30, i64 8} !87 = !{!15, !15, i64 0} !88 = !{i8 0, i8 2} !89 = !{} !90 = !{!29, !30, i64 16} !91 = !{i64 0, i64 8, !92} !92 = !{!24, !24, i64 0} !93 = !{!94, !94, i64 0} !94 = !{!"_ZTSN5ezSAT4OpIdE", !9, i64 0} !95 = !{!96, !96, i64 0} !96 = !{!"p1 _ZTSSaIiE", !8, i64 0} !97 = !{!25, !25, i64 0} !98 = distinct !{!98, !99} !99 = !{!"llvm.loop.mustprogress"} !100 = !{!46, !46, i64 0} !101 = !{!45, !46, i64 16} !102 = !{!103, !103, i64 0} !103 = !{!"p1 _ZTSN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEE", !8, i64 0} !104 = !{!105, !46, i64 0} !105 = !{!"_ZTSN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEE", !46, i64 0} !106 = !{i64 0, i64 8, !100} !107 = !{!108, !108, i64 0} !108 = !{!"p1 _ZTSN5ezSAT2_VE", !8, i64 0} !109 = !{!110, !41, i64 0} !110 = !{!"_ZTSN5ezSAT2_VE", !41, i64 0, !111, i64 8} !111 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !112, i64 0, !25, i64 8, !9, i64 16} !112 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !76, i64 0} !113 = !{!40, !40, i64 0} !114 = !{!8, !8, i64 0} !115 = !{!116, !94, i64 0} !116 = !{!"_ZTSSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEE", !94, i64 0, !42, i64 8} !117 = !{!39, !40, i64 16} !118 = distinct !{!118, !99} !119 = !{!120, !120, i64 0} !120 = !{!"p1 _ZTS8_IO_FILE", !8, i64 0} !121 = distinct !{!121, !99} !122 = distinct !{!122, !99} !123 = distinct !{!123, !99} !124 = !{!125, !125, i64 0} !125 = !{!"p1 _ZTSN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEE", !8, i64 0} !126 = !{!127, !46, i64 0} !127 = !{!"_ZTSN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEE", !46, i64 0} !128 = !{!50, !51, i64 16} !129 = distinct !{!129, !99} !130 = distinct !{!130, !99} !131 = !{i64 0, i64 8, !68} !132 = !{!133, !133, i64 0} !133 = !{!"p1 _ZTSN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEE", !8, i64 0} !134 = !{!135, !135, i64 0} !135 = !{!"p1 _ZTSN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEE", !8, i64 0} !136 = !{!137, !51, i64 0} !137 = !{!"_ZTSN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES1_IS3_SaIS3_EEEE", !51, i64 0} !138 = !{!139, !139, i64 0} !139 = !{!"p1 _ZTSSt6vectorIbSaIbEE", !8, i64 0} !140 = !{!141, !142, i64 0} !141 = !{!"_ZTSSt18_Bit_iterator_base", !142, i64 0, !41, i64 8} !142 = !{!"p1 long", !8, i64 0} !143 = !{!144, !144, i64 0} !144 = !{!"p1 _ZTSSt18_Bit_iterator_base", !8, i64 0} !145 = !{!146, !146, i64 0} !146 = !{!"p1 _ZTSSt19_Bit_const_iterator", !8, i64 0} !147 = !{!141, !41, i64 8} !148 = distinct !{!148, !99} !149 = distinct !{!149, !99} !150 = distinct !{!150, !99} !151 = distinct !{!151, !99} !152 = distinct !{!152, !99} !153 = distinct !{!153, !99} !154 = distinct !{!154, !99} !155 = distinct !{!155, !99} !156 = distinct !{!156, !99} !157 = distinct !{!157, !99} !158 = distinct !{!158, !99} !159 = distinct !{!159, !99} !160 = distinct !{!160, !99} !161 = distinct !{!161, !99} !162 = distinct !{!162, !99} !163 = distinct !{!163, !99} !164 = distinct !{!164, !99} !165 = distinct !{!165, !99} !166 = distinct !{!166, !99} !167 = distinct !{!167, !99} !168 = distinct !{!168, !99} !169 = distinct !{!169, !99} !170 = distinct !{!170, !99} !171 = distinct !{!171, !99} !172 = distinct !{!172, !99} !173 = distinct !{!173, !99} !174 = distinct !{!174, !99} !175 = distinct !{!175, !99} !176 = !{!177, !177, i64 0} !177 = !{!"p1 _ZTSSt3mapIibSt4lessIiESaISt4pairIKibEEE", !8, i64 0} !178 = distinct !{!178, !99} !179 = distinct !{!179, !99} !180 = distinct !{!180, !99} !181 = distinct !{!181, !99} !182 = distinct !{!182, !99} !183 = !{!184, !184, i64 0} !184 = !{!"p1 _ZTS8ezSATbit", !8, i64 0} !185 = !{!186, !41, i64 8} !186 = !{!"_ZTS8ezSATbit", !7, i64 0, !41, i64 8} !187 = !{!188, !188, i64 0} !188 = !{!"p1 _ZTS8ezSATvec", !8, i64 0} !189 = distinct !{!189, !99} !190 = distinct !{!190, !99} !191 = !{!192, !51, i64 0} !192 = !{!"_ZTSN9__gnu_cxx17__normal_iteratorIPSt6vectorIiSaIiEES1_IS3_SaIS3_EEEE", !51, i64 0} !193 = !{!194, !194, i64 0} !194 = !{!"p1 _ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiE", !8, i64 0} !195 = !{!196, !41, i64 32} !196 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiE", !111, i64 0, !41, i64 32} !197 = distinct !{!197, !99} !198 = !{!199, !199, i64 0} !199 = !{!"p1 _ZTSSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiE", !8, i64 0} !200 = !{!201, !41, i64 32} !201 = !{!"_ZTSSt4pairIKS_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiE", !116, i64 0, !41, i64 32} !202 = distinct !{!202, !99} !203 = distinct !{!203, !99} !204 = distinct !{!204, !99} !205 = !{!206, !206, i64 0} !206 = !{!"p1 _ZTSSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE", !8, i64 0} !207 = !{!208, !24, i64 0} !208 = !{!"_ZTSSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE", !24, i64 0} !209 = !{!210, !210, i64 0} !210 = !{!"p1 _ZTSSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE", !8, i64 0} !211 = !{!212, !24, i64 0} !212 = !{!"_ZTSSt23_Rb_tree_const_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE", !24, i64 0} !213 = distinct !{!213, !99} !214 = distinct !{!214, !99} !215 = distinct !{!215, !99} !216 = distinct !{!216, !99} !217 = distinct !{!217, !99} !218 = distinct !{!218, !99} !219 = distinct !{!219, !99} !220 = distinct !{!220, !99} !221 = distinct !{!221, !99} !222 = distinct !{!222, !99} !223 = !{!224, !224, i64 0} !224 = !{!"p1 _ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !8, i64 0} !225 = !{!226, !226, i64 0} !226 = !{!"p1 _ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !8, i64 0} !227 = !{!228, !228, i64 0} !228 = !{!"p1 _ZTSSaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE", !8, i64 0} !229 = !{!230, !230, i64 0} !230 = !{!"p1 _ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !8, i64 0} !231 = !{!232, !232, i64 0} !232 = !{!"p1 _ZTSSt15_Rb_tree_header", !8, i64 0} !233 = !{!21, !23, i64 0} !234 = !{!235, !235, i64 0} !235 = !{!"p1 _ZTSSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE", !8, i64 0} !236 = !{!21, !24, i64 8} !237 = !{!21, !24, i64 16} !238 = !{!21, !24, i64 24} !239 = !{!21, !25, i64 32} !240 = !{!241, !241, i64 0} !241 = !{!"p1 _ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !8, i64 0} !242 = !{!243, !243, i64 0} !243 = !{!"p1 _ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !8, i64 0} !244 = !{!245, !245, i64 0} !245 = !{!"p1 _ZTSSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE", !8, i64 0} !246 = !{!247, !247, i64 0} !247 = !{!"p1 _ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !8, i64 0} !248 = !{!249, !249, i64 0} !249 = !{!"p1 _ZTSSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE", !8, i64 0} !250 = !{!251, !251, i64 0} !251 = !{!"p1 _ZTSSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE", !8, i64 0} !252 = !{!253, !253, i64 0} !253 = !{!"p1 _ZTSNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !8, i64 0} !254 = !{!255, !255, i64 0} !255 = !{!"p1 _ZTSSaISt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE", !8, i64 0} !256 = !{!257, !257, i64 0} !257 = !{!"p1 _ZTSSt20_Rb_tree_key_compareISt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE", !8, i64 0} !258 = !{!259, !259, i64 0} !259 = !{!"p1 _ZTSSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE", !8, i64 0} !260 = !{!261, !261, i64 0} !261 = !{!"p1 _ZTSSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE", !8, i64 0} !262 = !{!263, !263, i64 0} !263 = !{!"p1 _ZTSNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE12_Vector_implE", !8, i64 0} !264 = !{!265, !265, i64 0} !265 = !{!"p1 _ZTSSaISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE", !8, i64 0} !266 = !{!267, !267, i64 0} !267 = !{!"p1 _ZTSNSt12_Vector_baseISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEESaIS6_EE17_Vector_impl_dataE", !8, i64 0} !268 = !{!269, !269, i64 0} !269 = !{!"p1 _ZTSSt15__new_allocatorISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE", !8, i64 0} !270 = !{!271, !271, i64 0} !271 = !{!"p1 _ZTSSt12_Vector_baseIiSaIiEE", !8, i64 0} !272 = !{!273, !273, i64 0} !273 = !{!"p1 _ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !8, i64 0} !274 = !{!275, !275, i64 0} !275 = !{!"p1 _ZTSSt15__new_allocatorIiE", !8, i64 0} !276 = !{!277, !277, i64 0} !277 = !{!"p1 _ZTSSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE", !8, i64 0} !278 = !{!279, !279, i64 0} !279 = !{!"p1 _ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implE", !8, i64 0} !280 = !{!281, !281, i64 0} !281 = !{!"p1 _ZTSSaISt6vectorIiSaIiEEE", !8, i64 0} !282 = !{!283, !283, i64 0} !283 = !{!"p1 _ZTSSt15__new_allocatorISt6vectorIiSaIiEEE", !8, i64 0} !284 = !{!285, !285, i64 0} !285 = !{!"p1 _ZTSSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE", !8, i64 0} !286 = distinct !{!286, !99} !287 = !{!22, !24, i64 24} !288 = !{!22, !24, i64 16} !289 = !{!290, !290, i64 0} !290 = !{!"p1 _ZTSN9__gnu_cxx16__aligned_membufISt4pairIKS1_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEEE", !8, i64 0} !291 = !{!292, !292, i64 0} !292 = !{!"p1 _ZTSSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE", !8, i64 0} !293 = distinct !{!293, !99} !294 = !{!295, !295, i64 0} !295 = !{!"p1 _ZTSN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEEE", !8, i64 0} !296 = !{!111, !25, i64 8} !297 = !{!298, !298, i64 0} !298 = !{!"p1 _ZTSSt14_Bit_reference", !8, i64 0} !299 = !{!142, !142, i64 0} !300 = !{!301, !142, i64 0} !301 = !{!"_ZTSSt14_Bit_reference", !142, i64 0, !25, i64 8} !302 = !{!301, !25, i64 8} !303 = distinct !{!303, !99} !304 = !{!9, !9, i64 0} !305 = distinct !{!305, !99} !306 = !{!307, !307, i64 0} !307 = !{!"p1 _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !8, i64 0} !308 = !{!112, !76, i64 0} !309 = !{!111, !76, i64 0} !310 = !{!311, !30, i64 0} !311 = !{!"_ZTSZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagE6_Guard", !30, i64 0} !312 = !{!313, !313, i64 0} !313 = !{!"p1 _ZTSZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tagE6_Guard", !8, i64 0} !314 = !{!315, !315, i64 0} !315 = !{!"p2 omnipotent char", !316, i64 0} !316 = !{!"any p2 pointer", !8, i64 0} !317 = !{!318, !318, i64 0} !318 = !{!"p1 _ZTSSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE", !8, i64 0} !319 = !{!320, !320, i64 0} !320 = !{!"p1 _ZTSNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE13_Rb_tree_implIS6_Lb1EEE", !8, i64 0} !321 = !{!322, !322, i64 0} !322 = !{!"p1 _ZTSSaISt13_Rb_tree_nodeISt4pairIKibEEE", !8, i64 0} !323 = !{!324, !324, i64 0} !324 = !{!"p1 _ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !8, i64 0} !325 = !{!326, !326, i64 0} !326 = !{!"p1 _ZTSSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKibEEE", !8, i64 0} !327 = !{!328, !328, i64 0} !328 = !{!"p1 _ZTSSt13_Rb_tree_nodeISt4pairIKibEE", !8, i64 0} !329 = distinct !{!329, !99} !330 = !{!331, !331, i64 0} !331 = !{!"p1 _ZTSSt4pairIKibE", !8, i64 0} !332 = !{!333, !333, i64 0} !333 = !{!"p1 _ZTSN9__gnu_cxx16__aligned_membufISt4pairIKibEEE", !8, i64 0} !334 = !{!335, !30, i64 0} !335 = !{!"_ZTSZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagE6_Guard", !30, i64 0} !336 = !{!337, !337, i64 0} !337 = !{!"p1 _ZTSZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagE6_Guard", !8, i64 0} !338 = !{!339, !339, i64 0} !339 = !{!"p2 int", !316, i64 0} !340 = distinct !{!340, !99} !341 = distinct !{!341, !99} !342 = distinct !{!342, !99} !343 = distinct !{!343, !99} !344 = !{!345, !345, i64 0} !345 = !{!"p1 _ZTSN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEE", !8, i64 0} !346 = !{!347, !347, i64 0} !347 = !{!"p2 _ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !316, i64 0} !348 = !{!349, !30, i64 0} !349 = !{!"_ZTSN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEE", !30, i64 0} !350 = distinct !{!350, !99} !351 = distinct !{!351, !99} !352 = !{!353, !353, i64 0} !353 = !{!"p1 _ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE", !8, i64 0} !354 = !{!355, !355, i64 0} !355 = !{!"p1 _ZTSSt10_Select1stISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE", !8, i64 0} !356 = !{!357, !357, i64 0} !357 = !{!"p1 _ZTSSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE", !8, i64 0} !358 = !{!359, !24, i64 0} !359 = !{!"_ZTSSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE", !24, i64 0} !360 = !{!361, !361, i64 0} !361 = !{!"p1 _ZTSSt21piecewise_construct_t", !8, i64 0} !362 = !{!363, !363, i64 0} !363 = !{!"p1 _ZTSSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !8, i64 0} !364 = !{!365, !365, i64 0} !365 = !{!"p1 _ZTSSt5tupleIJEE", !8, i64 0} !366 = !{!367, !24, i64 8} !367 = !{!"_ZTSSt4pairIPSt18_Rb_tree_node_baseS1_E", !24, i64 0, !24, i64 8} !368 = !{!367, !24, i64 0} !369 = distinct !{!369, !99} !370 = !{!371, !371, i64 0} !371 = !{!"p1 _ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeE", !8, i64 0} !372 = !{!373, !292, i64 8} !373 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeE", !224, i64 0, !292, i64 8} !374 = !{!373, !224, i64 0} !375 = !{!376, !376, i64 0} !376 = !{!"p1 _ZTSSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !8, i64 0} !377 = !{i64 0, i64 8, !71} !378 = !{!379, !379, i64 0} !379 = !{!"p1 _ZTSSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EE", !8, i64 0} !380 = !{!381, !30, i64 0} !381 = !{!"_ZTSSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EE", !30, i64 0} !382 = !{!383, !383, i64 0} !383 = !{!"p1 _ZTSSt4pairIPSt18_Rb_tree_node_baseS1_E", !8, i64 0} !384 = !{!385, !385, i64 0} !385 = !{!"p2 _ZTSSt18_Rb_tree_node_base", !316, i64 0} !386 = distinct !{!386, !99} !387 = !{!388, !388, i64 0} !388 = !{!"p2 _ZTSSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEE", !316, i64 0} !389 = distinct !{!389, !99} !390 = distinct !{!390, !99} !391 = !{!392, !392, i64 0} !392 = !{!"p1 _ZTSN9__gnu_cxx5__ops15_Iter_less_iterE", !8, i64 0} !393 = distinct !{!393, !99} !394 = distinct !{!394, !99} !395 = distinct !{!395, !99} !396 = !{!397, !397, i64 0} !397 = !{!"p1 _ZTSN9__gnu_cxx5__ops14_Iter_less_valE", !8, i64 0} !398 = distinct !{!398, !99} !399 = distinct !{!399, !99} !400 = distinct !{!400, !99} !401 = distinct !{!401, !99} !402 = distinct !{!402, !99} !403 = distinct !{!403, !99} !404 = distinct !{!404, !99} !405 = !{!406, !406, i64 0} !406 = !{!"p1 _ZTSN9__gnu_cxx5__ops14_Val_less_iterE", !8, i64 0} !407 = distinct !{!407, !99} !408 = !{!409, !409, i64 0} !409 = !{!"p1 _ZTSSt4lessISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEE", !8, i64 0} !410 = !{!411, !411, i64 0} !411 = !{!"p1 _ZTSSt10_Select1stISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE", !8, i64 0} !412 = distinct !{!412, !99} !413 = !{!414, !414, i64 0} !414 = !{!"p1 _ZTSSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE", !8, i64 0} !415 = !{!416, !24, i64 0} !416 = !{!"_ZTSSt17_Rb_tree_iteratorISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE", !24, i64 0} !417 = distinct !{!417, !99} !418 = !{!419, !419, i64 0} !419 = !{!"p1 _ZTSSt5tupleIJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE", !8, i64 0} !420 = !{!421, !421, i64 0} !421 = !{!"p1 _ZTSNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeE", !8, i64 0} !422 = !{!423, !285, i64 8} !423 = !{!"_ZTSNSt8_Rb_treeISt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES0_IKS6_iESt10_Select1stIS8_ESt4lessIS6_ESaIS8_EE10_Auto_nodeE", !251, i64 0, !285, i64 8} !424 = !{!423, !251, i64 0} !425 = !{!426, !426, i64 0} !426 = !{!"p1 _ZTSSt11_Tuple_implILm0EJRKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEEEE", !8, i64 0} !427 = !{i64 0, i64 8, !113} !428 = !{!429, !429, i64 0} !429 = !{!"p1 _ZTSSt10_Head_baseILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEELb0EE", !8, i64 0} !430 = !{!431, !40, i64 0} !431 = !{!"_ZTSSt10_Head_baseILm0ERKSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEELb0EE", !40, i64 0} !432 = distinct !{!432, !99} !433 = !{!434, !434, i64 0} !434 = !{!"p2 _ZTSSt13_Rb_tree_nodeISt4pairIKS0_IN5ezSAT4OpIdESt6vectorIiSaIiEEEiEE", !316, i64 0} !435 = !{!436, !436, i64 0} !436 = !{!"p1 _ZTSN9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEE", !8, i64 0} !437 = !{!438, !438, i64 0} !438 = !{!"p2 _ZTSSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEE", !316, i64 0} !439 = !{!440, !40, i64 0} !440 = !{!"_ZTSN9__gnu_cxx17__normal_iteratorIPSt4pairIN5ezSAT4OpIdESt6vectorIiSaIiEEES4_IS7_SaIS7_EEEE", !40, i64 0} !441 = distinct !{!441, !99} !442 = !{!443, !443, i64 0} !443 = !{!"p1 _ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !8, i64 0} !444 = distinct !{!444, !99} !445 = !{!446, !446, i64 0} !446 = !{!"p2 _ZTSSt6vectorIiSaIiEE", !316, i64 0} !447 = distinct !{!447, !99} !448 = !{!449, !449, i64 0} !449 = !{!"p1 _ZTSSt13move_iteratorIPSt6vectorIiSaIiEEE", !8, i64 0} !450 = !{!451, !51, i64 0} !451 = !{!"_ZTSSt13move_iteratorIPSt6vectorIiSaIiEEE", !51, i64 0} !452 = distinct !{!452, !99} !453 = distinct !{!453, !99} !454 = distinct !{!454, !99} !455 = !{!456, !456, i64 0} !456 = !{!"p1 _ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataE", !8, i64 0} !457 = distinct !{!457, !99} !458 = distinct !{!458, !99} !459 = !{!460, !460, i64 0} !460 = !{!"p1 _ZTSSt13_Bit_iterator", !8, i64 0} !461 = !{!462, !462, i64 0} !462 = !{!"p1 _ZTSSt17_Rb_tree_iteratorISt4pairIKibEE", !8, i64 0} !463 = !{!464, !24, i64 0} !464 = !{!"_ZTSSt17_Rb_tree_iteratorISt4pairIKibEE", !24, i64 0} !465 = !{!466, !466, i64 0} !466 = !{!"p1 _ZTSSt4lessIiE", !8, i64 0} !467 = !{!468, !468, i64 0} !468 = !{!"p1 _ZTSSt5tupleIJRKiEE", !8, i64 0} !469 = !{!470, !470, i64 0} !470 = !{!"p1 _ZTSSt23_Rb_tree_const_iteratorISt4pairIKibEE", !8, i64 0} !471 = !{!472, !24, i64 0} !472 = !{!"_ZTSSt23_Rb_tree_const_iteratorISt4pairIKibEE", !24, i64 0} !473 = distinct !{!473, !99} !474 = !{!475, !475, i64 0} !475 = !{!"p1 _ZTSSt10_Select1stISt4pairIKibEE", !8, i64 0} !476 = !{!477, !477, i64 0} !477 = !{!"p1 _ZTSNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeE", !8, i64 0} !478 = !{!479, !328, i64 8} !479 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKibESt10_Select1stIS2_ESt4lessIiESaIS2_EE10_Auto_nodeE", !318, i64 0, !328, i64 8} !480 = !{!479, !318, i64 0} !481 = !{!482, !482, i64 0} !482 = !{!"p1 _ZTSSt11_Tuple_implILm0EJRKiEE", !8, i64 0} !483 = !{!484, !41, i64 0} !484 = !{!"_ZTSSt4pairIKibE", !41, i64 0, !15, i64 4} !485 = !{!484, !15, i64 4} !486 = !{!487, !487, i64 0} !487 = !{!"p1 _ZTSSt10_Head_baseILm0ERKiLb0EE", !8, i64 0} !488 = !{!489, !46, i64 0} !489 = !{!"_ZTSSt10_Head_baseILm0ERKiLb0EE", !46, i64 0} !490 = distinct !{!490, !99} !491 = !{!492, !492, i64 0} !492 = !{!"p2 _ZTSSt13_Rb_tree_nodeISt4pairIKibEE", !316, i64 0}