Flame Graph Reset ZoomSearch _rjem_je_hook_invoke_dalloc (1 samples, 0.12%)simbelmyne::bench::perft::perft (1 samples, 0.12%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::Extend<T>>::extend (2 samples, 0.24%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (2 samples, 0.24%)alloc::vec::Vec<T,A>::extend_desugared (2 samples, 0.24%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)core::iter::traits::iterator::Iterator::find (2 samples, 0.24%)core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.24%)core::iter::traits::iterator::Iterator::find::check::_{{closure}} (2 samples, 0.24%)core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (2 samples, 0.24%)simbelmyne::movegen::legal_moves::_<impl simbelmyne::board::Board>::legal_moves::_{{closure}} (2 samples, 0.24%)simbelmyne::movegen::castling::CastleType::is_allowed (2 samples, 0.24%)simbelmyne::board::Board::attacked_by (2 samples, 0.24%)simbelmyne::board::Board::compute_attacked_by (2 samples, 0.24%)core::iter::traits::iterator::Iterator::collect (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (2 samples, 0.24%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)core::option::Option<T>::map (2 samples, 0.24%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 0.24%)simbelmyne::board::Board::compute_attacked_by::_{{closure}} (2 samples, 0.24%)simbelmyne::board::Board::compute_checkers (2 samples, 0.24%)core::iter::traits::iterator::Iterator::collect (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (2 samples, 0.24%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)core::iter::traits::iterator::Iterator::find (2 samples, 0.24%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::try_fold (2 samples, 0.24%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (2 samples, 0.24%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (2 samples, 0.24%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (2 samples, 0.24%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (2 samples, 0.24%)<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (2 samples, 0.24%)core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.24%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (2 samples, 0.24%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold::flatten::_{{closure}} (2 samples, 0.24%)core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.24%)core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (2 samples, 0.24%)core::iter::adapters::filter::filter_try_fold::_{{closure}} (2 samples, 0.24%)core::iter::traits::iterator::Iterator::find::check::_{{closure}} (2 samples, 0.24%)core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (2 samples, 0.24%)simbelmyne::board::Board::compute_checkers::_{{closure}} (2 samples, 0.24%)[[stack]] (10 samples, 1.21%)[[st..simbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_moves (8 samples, 0.97%)sim..simbelmyne::board::Board::king_danger_squares (2 samples, 0.24%)core::iter::traits::iterator::Iterator::collect (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (2 samples, 0.24%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)core::option::Option<T>::map (2 samples, 0.24%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 0.24%)simbelmyne::board::Board::king_danger_squares::_{{closure}} (2 samples, 0.24%)[ld-linux-x86-64.so.2] (5 samples, 0.60%)[..[ld-linux-x86-64.so.2] (1 samples, 0.12%)[ld-linux-x86-64.so.2] (1 samples, 0.12%)[ld-linux-x86-64.so.2] (1 samples, 0.12%)<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Not>::not (2 samples, 0.24%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)<core::ops::index_range::IndexRange as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)core::num::<impl usize>::checked_add_signed (6 samples, 0.73%)co..core::num::<impl usize>::overflowing_add_signed (4 samples, 0.48%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::next (16 samples, 1.93%)<core::i..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::next (16 samples, 1.93%)<core::i..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (16 samples, 1.93%)<core::i..core::option::Option<T>::map (12 samples, 1.45%)core::..core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (12 samples, 1.45%)core::..simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (12 samples, 1.45%)simbel..simbelmyne::bitboard::Bitboard::offset (12 samples, 1.45%)simbel..simbelmyne::bitboard::Bitboard::new (3 samples, 0.36%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (3 samples, 0.36%)core::option::Option<T>::as_mut (5 samples, 0.60%)c..<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (30 samples, 3.63%)<core::iter::adapt..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (30 samples, 3.63%)<core::iter::adapt..core::iter::adapters::flatten::and_then_or_clear (9 samples, 1.09%)core..core::option::Option<T>::is_none (4 samples, 0.48%)core::option::Option<T>::is_some (4 samples, 0.48%)<core::option::Option<T> as core::ops::try_trait::Try>::branch (6 samples, 0.73%)<c..core::num::<impl usize>::checked_add_signed (6 samples, 0.73%)co..core::num::<impl usize>::overflowing_add_signed (6 samples, 0.73%)co..core::num::<impl usize>::overflowing_add (6 samples, 0.73%)co..simbelmyne::bitboard::Bitboard::new (16 samples, 1.93%)simbelmy..<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (16 samples, 1.93%)<simbelm..<u32 as core::ops::arith::Div>::div (13 samples, 1.57%)<u32 a..<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (75 samples, 9.07%)<core::iter::adapters::take::Take<I> as core::ite..<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (69 samples, 8.34%)<core::iter::sources::successors::Successors<..simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (60 samples, 7.26%)simbelmyne::movegen::moves::_<impl sim..simbelmyne::bitboard::Bitboard::offset (53 samples, 6.41%)simbelmyne::bitboard::Bitboard::of..simbelmyne::bitboard::Bitboard::rank (22 samples, 2.66%)simbelmyne::b..core::num::<impl u64>::trailing_zeros (9 samples, 1.09%)core..core::iter::traits::iterator::Iterator::collect (120 samples, 14.51%)core::iter::traits::iterator::Iterator::collect<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (120 samples, 14.51%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<si..<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (88 samples, 10.64%)<itertools::take_while_inclusive::TakeWhileInclusive<I,F> ..core::option::Option<T>::map (5 samples, 0.60%)c..<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next::_{{closure}} (5 samples, 0.60%)<..simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (5 samples, 0.60%)s..simbelmyne::bitboard::Bitboard::contains (5 samples, 0.60%)s..<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (5 samples, 0.60%)<..core::num::<impl usize>::checked_add_signed (16 samples, 1.93%)core::nu..core::num::<impl usize>::overflowing_add_signed (10 samples, 1.21%)core..core::num::<impl usize>::overflowing_add (3 samples, 0.36%)simbelmyne::bitboard::Bitboard::offset (35 samples, 4.23%)simbelmyne::bitboard:..simbelmyne::bitboard::Bitboard::new (8 samples, 0.97%)sim..<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (5 samples, 0.60%)<..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::directions (2 samples, 0.24%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::Extend<T>>::extend (219 samples, 26.48%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::Extend<T>>::extend<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (219 samples, 26.48%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extendalloc::vec::Vec<T,A>::extend_desugared (219 samples, 26.48%)alloc::vec::Vec<T,A>::extend_desugared<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (219 samples, 26.48%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (219 samples, 26.48%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::nextcore::iter::traits::iterator::Iterator::find (219 samples, 26.48%)core::iter::traits::iterator::Iterator::findcore::iter::traits::iterator::Iterator::try_fold (219 samples, 26.48%)core::iter::traits::iterator::Iterator::try_foldcore::iter::traits::iterator::Iterator::find::check::_{{closure}} (219 samples, 26.48%)core::iter::traits::iterator::Iterator::find::check::_{{closure}}core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (219 samples, 26.48%)core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mutsimbelmyne::movegen::legal_moves::_<impl simbelmyne::board::Board>::legal_moves::_{{closure}} (219 samples, 26.48%)simbelmyne::movegen::legal_moves::_<impl simbelmyne::board::Board>::legal_moves::_{{closure}}simbelmyne::movegen::castling::CastleType::is_allowed (219 samples, 26.48%)simbelmyne::movegen::castling::CastleType::is_allowedsimbelmyne::board::Board::attacked_by (219 samples, 26.48%)simbelmyne::board::Board::attacked_bysimbelmyne::board::Board::compute_attacked_by (219 samples, 26.48%)simbelmyne::board::Board::compute_attacked_bycore::iter::traits::iterator::Iterator::collect (219 samples, 26.48%)core::iter::traits::iterator::Iterator::collect<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (219 samples, 26.48%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (219 samples, 26.48%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::nextcore::option::Option<T>::map (219 samples, 26.48%)core::option::Option<T>::mapcore::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (219 samples, 26.48%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_oncesimbelmyne::board::Board::compute_attacked_by::_{{closure}} (219 samples, 26.48%)simbelmyne::board::Board::compute_attacked_by::_{{closure}}simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (219 samples, 26.48%)simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squaressimbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::range (22 samples, 2.66%)simbelmyne::m..simbelmyne::bitboard::Bitboard::on_pawn_rank (3 samples, 0.36%)simbelmyne::bitboard::Bitboard::contains (3 samples, 0.36%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (3 samples, 0.36%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Not>::not (2 samples, 0.24%)<core::ops::index_range::IndexRange as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)core::option::Option<T>::map (3 samples, 0.36%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next::_{{closure}} (3 samples, 0.36%)core::mem::maybe_uninit::MaybeUninit<T>::assume_init_read (3 samples, 0.36%)core::ptr::const_ptr::<impl *const T>::read (3 samples, 0.36%)core::ptr::read (3 samples, 0.36%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::next (7 samples, 0.85%)<c..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::next (7 samples, 0.85%)<c..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (7 samples, 0.85%)<c..core::option::Option<T>::map (3 samples, 0.36%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (3 samples, 0.36%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (3 samples, 0.36%)simbelmyne::bitboard::Bitboard::offset (3 samples, 0.36%)simbelmyne::bitboard::Bitboard::new (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (2 samples, 0.24%)core::option::Option<T>::as_mut (2 samples, 0.24%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (15 samples, 1.81%)<core::i..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (15 samples, 1.81%)<core::i..core::iter::adapters::flatten::and_then_or_clear (6 samples, 0.73%)co..core::option::Option<T>::is_none (2 samples, 0.24%)core::option::Option<T>::is_some (2 samples, 0.24%)<core::option::Option<T> as core::ops::try_trait::Try>::branch (4 samples, 0.48%)core::num::<impl usize>::checked_add_signed (3 samples, 0.36%)core::num::<impl usize>::overflowing_add_signed (3 samples, 0.36%)core::num::<impl usize>::overflowing_add (3 samples, 0.36%)simbelmyne::bitboard::Bitboard::new (8 samples, 0.97%)sim..<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (8 samples, 0.97%)<si..<u32 as core::ops::arith::Div>::div (6 samples, 0.73%)<u..<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (39 samples, 4.72%)<core::iter::adapters::t..<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (37 samples, 4.47%)<core::iter::sources::s..simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (31 samples, 3.75%)simbelmyne::movegen..simbelmyne::bitboard::Bitboard::offset (26 samples, 3.14%)simbelmyne::bit..simbelmyne::bitboard::Bitboard::rank (13 samples, 1.57%)simbel..core::num::<impl u64>::trailing_zeros (7 samples, 0.85%)co..<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (43 samples, 5.20%)<itertools::take_while_incl..core::option::Option<T>::map (2 samples, 0.24%)<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next::_{{closure}} (2 samples, 0.24%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (2 samples, 0.24%)simbelmyne::bitboard::Bitboard::contains (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (2 samples, 0.24%)core::iter::traits::iterator::Iterator::collect (61 samples, 7.38%)core::iter::traits::iterator::Iterator:..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (61 samples, 7.38%)<simbelmyne::bitboard::Bitboard as core..<simbelmyne::bitboard::Bitboard as core::ops::bit::BitOrAssign>::bitor_assign (2 samples, 0.24%)core::num::<impl usize>::checked_add_signed (5 samples, 0.60%)c..core::num::<impl usize>::overflowing_add_signed (2 samples, 0.24%)core::num::<impl usize>::overflowing_add (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::offset (12 samples, 1.45%)simbel..simbelmyne::bitboard::Bitboard::new (3 samples, 0.36%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (3 samples, 0.36%)simbelmyne::board::Board::compute_checkers (93 samples, 11.25%)simbelmyne::board::Board::compute_checkerscore::iter::traits::iterator::Iterator::collect (93 samples, 11.25%)core::iter::traits::iterator::Iterator::collect<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (93 samples, 11.25%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collec..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (93 samples, 11.25%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::i..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (93 samples, 11.25%)<core::iter::adapters::filter::Filter<I,P> as core::iter::tra..core::iter::traits::iterator::Iterator::find (93 samples, 11.25%)core::iter::traits::iterator::Iterator::find<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::try_fold (93 samples, 11.25%)<core::iter::adapters::filter::Filter<I,P> as core::iter::tra..<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (93 samples, 11.25%)<core::iter::adapters::flatten::Flatten<I> as core::iter::tra..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (93 samples, 11.25%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::i..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (93 samples, 11.25%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_f..<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (93 samples, 11.25%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::i..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (93 samples, 11.25%)<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters:..core::iter::traits::iterator::Iterator::try_fold (93 samples, 11.25%)core::iter::traits::iterator::Iterator::try_foldcore::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (93 samples, 11.25%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_f..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold::flatten::_{{closure}} (93 samples, 11.25%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::i..core::iter::traits::iterator::Iterator::try_fold (93 samples, 11.25%)core::iter::traits::iterator::Iterator::try_foldcore::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (93 samples, 11.25%)core::ops::function::impls::<impl core::ops::function::FnMut<..core::iter::adapters::filter::filter_try_fold::_{{closure}} (93 samples, 11.25%)core::iter::adapters::filter::filter_try_fold::_{{closure}}core::iter::traits::iterator::Iterator::find::check::_{{closure}} (93 samples, 11.25%)core::iter::traits::iterator::Iterator::find::check::_{{closu..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (93 samples, 11.25%)core::ops::function::impls::<impl core::ops::function::FnMut<..simbelmyne::board::Board::compute_checkers::_{{closure}} (93 samples, 11.25%)simbelmyne::board::Board::compute_checkers::_{{closure}}simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (93 samples, 11.25%)simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::range (7 samples, 0.85%)si..simbelmyne::bitboard::Bitboard::on_pawn_rank (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::contains (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (1 samples, 0.12%)<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)<core::ops::index_range::IndexRange as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::next (6 samples, 0.73%)<c..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::next (6 samples, 0.73%)<c..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (6 samples, 0.73%)<c..core::option::Option<T>::map (4 samples, 0.48%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (4 samples, 0.48%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (4 samples, 0.48%)simbelmyne::bitboard::Bitboard::offset (4 samples, 0.48%)core::num::<impl usize>::checked_add_signed (2 samples, 0.24%)core::num::<impl usize>::overflowing_add_signed (2 samples, 0.24%)core::num::<impl usize>::overflowing_add (1 samples, 0.12%)core::option::Option<T>::as_mut (2 samples, 0.24%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (14 samples, 1.69%)<core::..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (14 samples, 1.69%)<core::..core::iter::adapters::flatten::and_then_or_clear (7 samples, 0.85%)co..core::option::Option<T>::is_none (1 samples, 0.12%)core::option::Option<T>::is_some (1 samples, 0.12%)<core::option::Option<T> as core::ops::try_trait::Try>::branch (1 samples, 0.12%)core::num::<impl usize>::checked_add_signed (4 samples, 0.48%)core::num::<impl usize>::overflowing_add_signed (4 samples, 0.48%)core::num::<impl usize>::overflowing_add (4 samples, 0.48%)simbelmyne::bitboard::Bitboard::new (7 samples, 0.85%)si..<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (7 samples, 0.85%)<s..<u32 as core::ops::arith::Div>::div (5 samples, 0.60%)<..<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (33 samples, 3.99%)<core::iter::adapter..<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (30 samples, 3.63%)<core::iter::sourc..simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (28 samples, 3.39%)simbelmyne::moveg..simbelmyne::bitboard::Bitboard::offset (23 samples, 2.78%)simbelmyne::b..simbelmyne::bitboard::Bitboard::rank (9 samples, 1.09%)simb..core::num::<impl u64>::trailing_zeros (4 samples, 0.48%)<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (36 samples, 4.35%)<itertools::take_while..core::option::Option<T>::map (1 samples, 0.12%)<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next::_{{closure}} (1 samples, 0.12%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::contains (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (55 samples, 6.65%)core::iter::traits::iterator::Itera..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (55 samples, 6.65%)<simbelmyne::bitboard::Bitboard as ..<simbelmyne::bitboard::Bitboard as core::ops::bit::BitOrAssign>::bitor_assign (1 samples, 0.12%)core::slice::iter::<impl core::iter::traits::collect::IntoIterator for &[T]>::into_iter (1 samples, 0.12%)core::slice::<impl [T]>::iter (1 samples, 0.12%)core::slice::iter::Iter<T>::new (1 samples, 0.12%)core::ptr::const_ptr::<impl *const T>::add (1 samples, 0.12%)core::ptr::const_ptr::<impl *const T>::offset (1 samples, 0.12%)core::num::<impl usize>::checked_add_signed (14 samples, 1.69%)core::n..core::num::<impl usize>::overflowing_add_signed (7 samples, 0.85%)co..core::num::<impl usize>::overflowing_add (2 samples, 0.24%)simbelmyne::bitboard::Bitboard::offset (23 samples, 2.78%)simbelmyne::b..simbelmyne::bitboard::Bitboard::new (4 samples, 0.48%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (3 samples, 0.36%)simbelmyne::board::Board::king_danger_squares (106 samples, 12.82%)simbelmyne::board::Board::king_danger_squarescore::iter::traits::iterator::Iterator::collect (106 samples, 12.82%)core::iter::traits::iterator::Iterator::collect<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (106 samples, 12.82%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIt..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (106 samples, 12.82%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::..core::option::Option<T>::map (106 samples, 12.82%)core::option::Option<T>::mapcore::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (106 samples, 12.82%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &..simbelmyne::board::Board::king_danger_squares::_{{closure}} (106 samples, 12.82%)simbelmyne::board::Board::king_danger_squares::_{{closure}}simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (106 samples, 12.82%)simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_s..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::range (6 samples, 0.73%)si..simbelmyne::bitboard::Bitboard::on_pawn_rank (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::contains (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (1 samples, 0.12%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)<core::ops::index_range::IndexRange as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)core::num::<impl usize>::checked_add_signed (2 samples, 0.24%)core::num::<impl usize>::overflowing_add_signed (2 samples, 0.24%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::next (6 samples, 0.73%)<c..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::next (6 samples, 0.73%)<c..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (6 samples, 0.73%)<c..core::option::Option<T>::map (4 samples, 0.48%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (4 samples, 0.48%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (4 samples, 0.48%)simbelmyne::bitboard::Bitboard::offset (4 samples, 0.48%)simbelmyne::bitboard::Bitboard::new (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (2 samples, 0.24%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (14 samples, 1.69%)<core::..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (14 samples, 1.69%)<core::..core::iter::adapters::flatten::and_then_or_clear (3 samples, 0.36%)core::option::Option<T>::is_none (2 samples, 0.24%)core::option::Option<T>::is_some (2 samples, 0.24%)<core::option::Option<T> as core::ops::try_trait::Try>::branch (2 samples, 0.24%)core::num::<impl usize>::checked_add_signed (3 samples, 0.36%)core::num::<impl usize>::overflowing_add_signed (3 samples, 0.36%)core::num::<impl usize>::overflowing_add (3 samples, 0.36%)simbelmyne::bitboard::Bitboard::new (8 samples, 0.97%)sim..<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (8 samples, 0.97%)<si..<u32 as core::ops::arith::Div>::div (3 samples, 0.36%)<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (31 samples, 3.75%)<core::iter::adapte..<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (30 samples, 3.63%)<core::iter::sourc..simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (25 samples, 3.02%)simbelmyne::mov..simbelmyne::bitboard::Bitboard::offset (23 samples, 2.78%)simbelmyne::b..simbelmyne::bitboard::Bitboard::rank (7 samples, 0.85%)si..core::num::<impl u64>::trailing_zeros (4 samples, 0.48%)<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (34 samples, 4.11%)<itertools::take_whil..core::option::Option<T>::map (1 samples, 0.12%)<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next::_{{closure}} (1 samples, 0.12%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::contains (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (51 samples, 6.17%)core::iter::traits::iterator::It..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (51 samples, 6.17%)<simbelmyne::bitboard::Bitboard ..<simbelmyne::bitboard::Bitboard as core::ops::bit::BitOrAssign>::bitor_assign (1 samples, 0.12%)core::slice::iter::<impl core::iter::traits::collect::IntoIterator for &[T]>::into_iter (2 samples, 0.24%)core::slice::<impl [T]>::iter (2 samples, 0.24%)core::slice::iter::Iter<T>::new (2 samples, 0.24%)core::ptr::const_ptr::<impl *const T>::add (2 samples, 0.24%)core::ptr::const_ptr::<impl *const T>::offset (2 samples, 0.24%)core::num::<impl usize>::checked_add_signed (6 samples, 0.73%)co..core::num::<impl usize>::overflowing_add_signed (6 samples, 0.73%)co..core::num::<impl usize>::overflowing_add (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::offset (18 samples, 2.18%)simbelmyne..simbelmyne::bitboard::Bitboard::new (8 samples, 0.97%)sim..<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (8 samples, 0.97%)<si..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::directions (1 samples, 0.12%)__libc_start_main (517 samples, 62.52%)__libc_start_main[libc.so.6] (517 samples, 62.52%)[libc.so.6]main (517 samples, 62.52%)mainstd::sys_common::backtrace::__rust_begin_short_backtrace (517 samples, 62.52%)std::sys_common::backtrace::__rust_begin_short_backtracecore::ops::function::FnOnce::call_once (517 samples, 62.52%)core::ops::function::FnOnce::call_oncesimbelmyne::main (517 samples, 62.52%)simbelmyne::mainsimbelmyne::bench::perft::perft (517 samples, 62.52%)simbelmyne::bench::perft::perftsimbelmyne::bench::perft::perft (517 samples, 62.52%)simbelmyne::bench::perft::perftsimbelmyne::bench::perft::perft (517 samples, 62.52%)simbelmyne::bench::perft::perftsimbelmyne::bench::perft::perft (517 samples, 62.52%)simbelmyne::bench::perft::perftsimbelmyne::bench::perft::perft (517 samples, 62.52%)simbelmyne::bench::perft::perftsimbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_moves (517 samples, 62.52%)simbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_movessimbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (99 samples, 11.97%)simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visi..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::range (10 samples, 1.21%)simb..simbelmyne::bitboard::Bitboard::on_pawn_rank (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::contains (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (1 samples, 0.12%)_rjem_je_arena_ralloc (1 samples, 0.12%)do_rallocx (1 samples, 0.12%)main (7 samples, 0.85%)ma..std::sys_common::backtrace::__rust_begin_short_backtrace (7 samples, 0.85%)st..core::ops::function::FnOnce::call_once (7 samples, 0.85%)co..simbelmyne::main (7 samples, 0.85%)si..simbelmyne::bench::perft::perft (7 samples, 0.85%)si..simbelmyne::bench::perft::perft (7 samples, 0.85%)si..simbelmyne::bench::perft::perft (7 samples, 0.85%)si..simbelmyne::bench::perft::perft (7 samples, 0.85%)si..simbelmyne::bench::perft::perft (7 samples, 0.85%)si..simbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_moves (7 samples, 0.85%)si..alloc::vec::Vec<T,A>::push (7 samples, 0.85%)al..alloc::raw_vec::RawVec<T,A>::reserve_for_push (7 samples, 0.85%)al..alloc::raw_vec::RawVec<T,A>::grow_amortized (7 samples, 0.85%)al..alloc::raw_vec::finish_grow (7 samples, 0.85%)al..<alloc::alloc::Global as core::alloc::Allocator>::grow (7 samples, 0.85%)<a..alloc::alloc::Global::grow_impl (7 samples, 0.85%)al..alloc::alloc::realloc (7 samples, 0.85%)al..__rg_realloc (7 samples, 0.85%)__..<tikv_jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::realloc (7 samples, 0.85%)<t..do_rallocx (7 samples, 0.85%)do..thread_alloc_event (2 samples, 0.24%)te_event_advance (2 samples, 0.24%)rtree_leaf_elm_lookup (1 samples, 0.12%)rtree_leafkey (1 samples, 0.12%)_rjem_je_arena_ralloc_no_move (2 samples, 0.24%)emap_edata_lookup (2 samples, 0.24%)rtree_read (2 samples, 0.24%)rtree_leaf_elm_read (1 samples, 0.12%)rtree_leaf_elm_bits_decode (1 samples, 0.12%)_rjem_je_hook_invoke_alloc (2 samples, 0.24%)_rjem_je_hook_invoke_dalloc (1 samples, 0.12%)isdalloct (2 samples, 0.24%)arena_sdalloc (2 samples, 0.24%)arena_dalloc_large (2 samples, 0.24%)tcache_dalloc_large (2 samples, 0.24%)cache_bin_dalloc_easy (2 samples, 0.24%)simbelmyne::main (14 samples, 1.69%)simbelm..simbelmyne::bench::perft::perft (14 samples, 1.69%)simbelm..simbelmyne::bench::perft::perft (14 samples, 1.69%)simbelm..simbelmyne::bench::perft::perft (14 samples, 1.69%)simbelm..simbelmyne::bench::perft::perft (14 samples, 1.69%)simbelm..simbelmyne::bench::perft::perft (14 samples, 1.69%)simbelm..simbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_moves (14 samples, 1.69%)simbelm..alloc::vec::Vec<T,A>::push (14 samples, 1.69%)alloc::..alloc::raw_vec::RawVec<T,A>::reserve_for_push (14 samples, 1.69%)alloc::..alloc::raw_vec::RawVec<T,A>::grow_amortized (14 samples, 1.69%)alloc::..alloc::raw_vec::finish_grow (14 samples, 1.69%)alloc::..<alloc::alloc::Global as core::alloc::Allocator>::grow (14 samples, 1.69%)<alloc:..alloc::alloc::Global::grow_impl (14 samples, 1.69%)alloc::..alloc::alloc::realloc (14 samples, 1.69%)alloc::..__rg_realloc (14 samples, 1.69%)__rg_re..<tikv_jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::realloc (14 samples, 1.69%)<tikv_j..do_rallocx (14 samples, 1.69%)do_rall..iralloct (14 samples, 1.69%)iralloct_rjem_je_arena_ralloc (14 samples, 1.69%)_rjem_j..sz_s2u (1 samples, 0.12%)sz_s2u_lookup (1 samples, 0.12%)sz_index2size_lookup (1 samples, 0.12%)sz_index2size_lookup_impl (1 samples, 0.12%)[unknown] (561 samples, 67.84%)[unknown]simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (19 samples, 2.30%)simbelmyne..[libc.so.6] (6 samples, 0.73%)[l..core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<simbelmyne::movegen::moves::Move>> (1 samples, 0.12%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.12%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<simbelmyne::movegen::moves::Move,alloc::alloc::Global>> (1 samples, 0.12%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.12%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<simbelmyne::movegen::moves::Move>> (1 samples, 0.12%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.12%)alloc::raw_vec::RawVec<T,A>::current_memory (1 samples, 0.12%)core::alloc::layout::Layout::array (1 samples, 0.12%)core::alloc::layout::Layout::array::inner (1 samples, 0.12%)<T as core::convert::Into<U>>::into (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::convert::From<simbelmyne::board::Square>>::from (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (1 samples, 0.12%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)simbelmyne::board::Board::all_occupied (3 samples, 0.36%)core::iter::traits::iterator::Iterator::collect (3 samples, 0.36%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (3 samples, 0.36%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)core::option::Option<T>::map (1 samples, 0.12%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next::_{{closure}} (1 samples, 0.12%)core::mem::maybe_uninit::MaybeUninit<T>::assume_init_read (1 samples, 0.12%)core::ptr::const_ptr::<impl *const T>::read (1 samples, 0.12%)core::ptr::read (1 samples, 0.12%)<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (15 samples, 1.81%)<core::s..core::slice::iter::Iter<T>::post_inc_start (11 samples, 1.33%)core:..core::ptr::mut_ptr::<impl *mut T>::add (11 samples, 1.33%)core:..core::ptr::mut_ptr::<impl *mut T>::offset (11 samples, 1.33%)core:..<&core::option::Option<T> as core::iter::traits::collect::IntoIterator>::into_iter (4 samples, 0.48%)core::option::Option<T>::iter (4 samples, 0.48%)core::option::Option<T>::as_ref (4 samples, 0.48%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::Extend<T>>::extend (40 samples, 4.84%)<alloc::vec::Vec<T,A> as ..<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (40 samples, 4.84%)<alloc::vec::Vec<T,A> as ..alloc::vec::Vec<T,A>::extend_desugared (40 samples, 4.84%)alloc::vec::Vec<T,A>::ext..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (40 samples, 4.84%)<core::iter::adapters::ma..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (40 samples, 4.84%)<core::iter::adapters::fi..core::iter::traits::iterator::Iterator::find (40 samples, 4.84%)core::iter::traits::itera..core::iter::traits::iterator::Iterator::try_fold (40 samples, 4.84%)core::iter::traits::itera..core::iter::traits::iterator::Iterator::find::check::_{{closure}} (39 samples, 4.72%)core::iter::traits::iter..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (39 samples, 4.72%)core::ops::function::imp..simbelmyne::movegen::legal_moves::_<impl simbelmyne::board::Board>::legal_moves::_{{closure}} (39 samples, 4.72%)simbelmyne::movegen::leg..simbelmyne::movegen::castling::CastleType::is_allowed (39 samples, 4.72%)simbelmyne::movegen::cas..simbelmyne::board::Board::attacked_by (36 samples, 4.35%)simbelmyne::board::Boa..simbelmyne::board::Board::compute_attacked_by (36 samples, 4.35%)simbelmyne::board::Boa..core::iter::traits::iterator::Iterator::collect (36 samples, 4.35%)core::iter::traits::it..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (36 samples, 4.35%)<simbelmyne::bitboard:..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (36 samples, 4.35%)<core::iter::adapters:..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (36 samples, 4.35%)<core::iter::adapters:..core::iter::traits::iterator::Iterator::find (36 samples, 4.35%)core::iter::traits::it..<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (36 samples, 4.35%)<core::iter::adapters:..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (36 samples, 4.35%)<core::iter::adapters:..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (36 samples, 4.35%)core::iter::adapters::..<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (36 samples, 4.35%)<core::iter::adapters:..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (36 samples, 4.35%)<core::iter::adapters:..core::iter::traits::iterator::Iterator::try_fold (36 samples, 4.35%)core::iter::traits::it..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (21 samples, 2.54%)core::iter::..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold::flatten::_{{closure}} (16 samples, 1.93%)<core::i..core::iter::traits::iterator::Iterator::try_fold (16 samples, 1.93%)core::it..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (3 samples, 0.36%)core::iter::traits::iterator::Iterator::find::check::_{{closure}} (3 samples, 0.36%)core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (3 samples, 0.36%)simbelmyne::board::Board::compute_attacked_by::_{{closure}} (3 samples, 0.36%)<simbelmyne::board::Color as core::cmp::PartialEq>::eq (3 samples, 0.36%)core::num::<impl u64>::checked_shl (1 samples, 0.12%)core::num::<impl u64>::overflowing_shl (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::iter::traits::iterator::Iterator>::next (6 samples, 0.73%)<s..core::num::<impl u64>::trailing_zeros (3 samples, 0.36%)alloc::raw_vec::RawVec<T,A>::current_memory (1 samples, 0.12%)alloc::raw_vec::finish_grow (1 samples, 0.12%)<alloc::alloc::Global as core::alloc::Allocator>::grow (1 samples, 0.12%)alloc::alloc::Global::grow_impl (1 samples, 0.12%)alloc::alloc::realloc (1 samples, 0.12%)__rg_realloc (1 samples, 0.12%)<tikv_jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::realloc (1 samples, 0.12%)alloc::vec::Vec<T,A>::push (5 samples, 0.60%)a..alloc::raw_vec::RawVec<T,A>::reserve_for_push (4 samples, 0.48%)alloc::raw_vec::RawVec<T,A>::grow_amortized (4 samples, 0.48%)core::cmp::max (2 samples, 0.24%)core::cmp::Ord::max (2 samples, 0.24%)core::cmp::max_by (2 samples, 0.24%)simbelmyne::bitboard::Bitboard::contains (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (2 samples, 0.24%)<&core::option::Option<T> as core::iter::traits::collect::IntoIterator>::into_iter (7 samples, 0.85%)<&..core::option::Option<T>::iter (7 samples, 0.85%)co..core::option::Option<T>::as_ref (7 samples, 0.85%)co..simbelmyne::board::Board::compute_checkers (13 samples, 1.57%)simbel..core::iter::traits::iterator::Iterator::collect (13 samples, 1.57%)core::..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (13 samples, 1.57%)<simbe..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (13 samples, 1.57%)<core:..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (13 samples, 1.57%)<core:..core::iter::traits::iterator::Iterator::find (13 samples, 1.57%)core::..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::try_fold (13 samples, 1.57%)<core:..<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (13 samples, 1.57%)<core:..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (13 samples, 1.57%)<core:..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (13 samples, 1.57%)core::..<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (13 samples, 1.57%)<core:..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (13 samples, 1.57%)<core:..core::iter::traits::iterator::Iterator::try_fold (13 samples, 1.57%)core::..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (13 samples, 1.57%)core::..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold::flatten::_{{closure}} (6 samples, 0.73%)<c..core::iter::traits::iterator::Iterator::try_fold (6 samples, 0.73%)co..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (2 samples, 0.24%)core::iter::adapters::filter::filter_try_fold::_{{closure}} (2 samples, 0.24%)simbelmyne::board::Board::compute_checkers::_{{closure}} (1 samples, 0.12%)<simbelmyne::board::Color as core::cmp::PartialEq>::eq (1 samples, 0.12%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next (3 samples, 0.36%)core::option::Option<T>::map (3 samples, 0.36%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next::_{{closure}} (3 samples, 0.36%)core::mem::maybe_uninit::MaybeUninit<T>::assume_init_read (3 samples, 0.36%)core::ptr::const_ptr::<impl *const T>::read (3 samples, 0.36%)core::ptr::read (3 samples, 0.36%)core::iter::adapters::filter::filter_try_fold::_{{closure}} (1 samples, 0.12%)<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::visible_ray::_{{closure}} (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::offset (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::rank (1 samples, 0.12%)core::num::<impl u64>::trailing_zeros (1 samples, 0.12%)<u32 as core::ops::arith::Div>::div (1 samples, 0.12%)simbelmyne::board::Board::compute_pinrays (26 samples, 3.14%)simbelmyne::boa..<alloc::vec::Vec<T,A> as core::iter::traits::collect::Extend<T>>::extend (26 samples, 3.14%)<alloc::vec::Ve..<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (26 samples, 3.14%)<alloc::vec::Ve..alloc::vec::Vec<T,A>::extend_desugared (23 samples, 2.78%)alloc::vec::V..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (23 samples, 2.78%)<core::iter::..core::iter::traits::iterator::Iterator::find (23 samples, 2.78%)core::iter::t..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::try_fold (23 samples, 2.78%)<core::iter::..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold (23 samples, 2.78%)<core::iter::..core::iter::traits::iterator::Iterator::try_fold (23 samples, 2.78%)core::iter::t..core::iter::adapters::map::map_try_fold::_{{closure}} (20 samples, 2.42%)core::iter:..simbelmyne::board::Board::compute_pinrays::_{{closure}} (19 samples, 2.30%)simbelmyne..simbelmyne::bitboard::Bitboard::visible_ray (19 samples, 2.30%)simbelmyne..core::iter::traits::iterator::Iterator::collect (19 samples, 2.30%)core::iter..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (19 samples, 2.30%)<simbelmyn..<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (19 samples, 2.30%)<itertools..<core::iter::adapters::skip::Skip<I> as core::iter::traits::iterator::Iterator>::next (16 samples, 1.93%)<core::i..core::iter::traits::iterator::Iterator::nth (9 samples, 1.09%)core..core::iter::traits::iterator::Iterator::advance_by (8 samples, 0.97%)cor..<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (8 samples, 0.97%)<co..simbelmyne::bitboard::Bitboard::visible_ray::_{{closure}} (8 samples, 0.97%)sim..simbelmyne::bitboard::Bitboard::offset (8 samples, 0.97%)sim..simbelmyne::bitboard::Bitboard::rank (5 samples, 0.60%)s..core::num::<impl u64>::trailing_zeros (4 samples, 0.48%)simbelmyne::board::Board::get_at (4 samples, 0.48%)core::option::Option<T>::as_ref (4 samples, 0.48%)<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (5 samples, 0.60%)<..core::slice::iter::Iter<T>::post_inc_start (5 samples, 0.60%)c..core::ptr::mut_ptr::<impl *mut T>::add (5 samples, 0.60%)c..core::ptr::mut_ptr::<impl *mut T>::offset (5 samples, 0.60%)c..core::iter::traits::iterator::Iterator::collect (19 samples, 2.30%)core::iter..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (19 samples, 2.30%)<simbelmyn..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (19 samples, 2.30%)<core::ite..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (19 samples, 2.30%)<core::ite..core::iter::traits::iterator::Iterator::find (19 samples, 2.30%)core::iter..<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (19 samples, 2.30%)<core::ite..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (19 samples, 2.30%)<core::ite..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (19 samples, 2.30%)core::iter..<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (19 samples, 2.30%)<core::ite..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (19 samples, 2.30%)<core::ite..core::iter::traits::iterator::Iterator::try_fold (19 samples, 2.30%)core::iter..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (14 samples, 1.69%)core::i..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold::flatten::_{{closure}} (5 samples, 0.60%)<..core::iter::traits::iterator::Iterator::try_fold (5 samples, 0.60%)c..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (1 samples, 0.12%)core::iter::traits::iterator::Iterator::find::check::_{{closure}} (1 samples, 0.12%)core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (1 samples, 0.12%)simbelmyne::board::Board::king_danger_squares::_{{closure}} (1 samples, 0.12%)simbelmyne::board::Piece::color (1 samples, 0.12%)simbelmyne::board::Board::king_danger_squares (20 samples, 2.42%)simbelmyne:..simbelmyne::bitboard::Bitboard::remove (1 samples, 0.12%)simbelmyne::board::Color::opp (1 samples, 0.12%)simbelmyne::board::Piece::is_pawn (3 samples, 0.36%)<simbelmyne::board::PieceType as core::cmp::PartialEq>::eq (3 samples, 0.36%)simbelmyne::board::Square::is_double_push (3 samples, 0.36%)simbelmyne::movegen::castling::CastlingRights::get_available (2 samples, 0.24%)core::iter::traits::iterator::Iterator::collect (2 samples, 0.24%)<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (2 samples, 0.24%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (2 samples, 0.24%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (2 samples, 0.24%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (2 samples, 0.24%)alloc::vec::Vec<T,A>::extend_desugared (2 samples, 0.24%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)core::iter::traits::iterator::Iterator::find (2 samples, 0.24%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::try_fold (2 samples, 0.24%)core::iter::traits::iterator::Iterator::try_fold (2 samples, 0.24%)<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)<core::ops::index_range::IndexRange as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_rays (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (1 samples, 0.12%)<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (1 samples, 0.12%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (1 samples, 0.12%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (1 samples, 0.12%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (1 samples, 0.12%)alloc::vec::Vec<T,A>::extend_trusted (1 samples, 0.12%)core::iter::traits::iterator::Iterator::for_each (1 samples, 0.12%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (1 samples, 0.12%)core::iter::traits::iterator::Iterator::fold (1 samples, 0.12%)core::iter::adapters::map::map_fold::_{{closure}} (1 samples, 0.12%)core::iter::traits::iterator::Iterator::for_each::call::_{{closure}} (1 samples, 0.12%)alloc::vec::Vec<T,A>::extend_trusted::_{{closure}} (1 samples, 0.12%)core::ptr::write (1 samples, 0.12%)simbelmyne::bench::perft::perft (145 samples, 17.53%)simbelmyne::bench::perft::perftsimbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_moves (144 samples, 17.41%)simbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_movessimbelmyne::movegen::moves::Move::new (2 samples, 0.24%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (10 samples, 1.21%)<cor..core::iter::traits::iterator::Iterator::find (10 samples, 1.21%)core..<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (10 samples, 1.21%)<cor..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (10 samples, 1.21%)<cor..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (10 samples, 1.21%)core..<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (10 samples, 1.21%)<cor..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (10 samples, 1.21%)<cor..core::iter::traits::iterator::Iterator::try_fold (10 samples, 1.21%)core..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (10 samples, 1.21%)core..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold::flatten::_{{closure}} (10 samples, 1.21%)<cor..core::iter::traits::iterator::Iterator::try_fold (10 samples, 1.21%)core..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (1 samples, 0.12%)core::iter::traits::iterator::Iterator::find::check::_{{closure}} (1 samples, 0.12%)core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (1 samples, 0.12%)simbelmyne::board::Board::compute_attacked_by::_{{closure}} (1 samples, 0.12%)<simbelmyne::board::Color as core::cmp::PartialEq>::eq (1 samples, 0.12%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::next (2 samples, 0.24%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)core::option::Option<T>::map (2 samples, 0.24%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 0.24%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (2 samples, 0.24%)simbelmyne::bitboard::Bitboard::offset (2 samples, 0.24%)core::num::<impl usize>::checked_add_signed (2 samples, 0.24%)core::num::<impl usize>::overflowing_add_signed (1 samples, 0.12%)core::num::<impl usize>::overflowing_add (1 samples, 0.12%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)core::iter::adapters::flatten::and_then_or_clear (2 samples, 0.24%)core::option::Option<T>::is_none (1 samples, 0.12%)core::option::Option<T>::is_some (1 samples, 0.12%)<core::option::Option<T> as core::ops::try_trait::Try>::branch (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (17 samples, 2.06%)core::ite..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (17 samples, 2.06%)<simbelmy..<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (12 samples, 1.45%)<itert..<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (12 samples, 1.45%)<core:..<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (12 samples, 1.45%)<core:..simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (8 samples, 0.97%)sim..simbelmyne::bitboard::Bitboard::offset (8 samples, 0.97%)sim..simbelmyne::bitboard::Bitboard::rank (3 samples, 0.36%)core::num::<impl u64>::trailing_zeros (3 samples, 0.36%)core::num::<impl usize>::checked_add_signed (2 samples, 0.24%)core::num::<impl usize>::overflowing_add_signed (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::offset (7 samples, 0.85%)si..simbelmyne::bitboard::Bitboard::new (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (2 samples, 0.24%)simbelmyne::board::Board::attacked_by (41 samples, 4.96%)simbelmyne::board::Board::..simbelmyne::board::Board::compute_attacked_by (41 samples, 4.96%)simbelmyne::board::Board::..core::iter::traits::iterator::Iterator::collect (41 samples, 4.96%)core::iter::traits::iterat..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (41 samples, 4.96%)<simbelmyne::bitboard::Bit..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (41 samples, 4.96%)<core::iter::adapters::map..core::option::Option<T>::map (31 samples, 3.75%)core::option::Optio..core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (31 samples, 3.75%)core::ops::function..simbelmyne::board::Board::compute_attacked_by::_{{closure}} (31 samples, 3.75%)simbelmyne::board::..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (31 samples, 3.75%)simbelmyne::movegen..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::range (2 samples, 0.24%)simbelmyne::bitboard::Bitboard::on_pawn_rank (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::contains (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (1 samples, 0.12%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::Extend<T>>::extend (42 samples, 5.08%)<alloc::vec::Vec<T,A> as c..<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (42 samples, 5.08%)<alloc::vec::Vec<T,A> as a..alloc::vec::Vec<T,A>::extend_desugared (42 samples, 5.08%)alloc::vec::Vec<T,A>::exte..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (42 samples, 5.08%)<core::iter::adapters::map..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (42 samples, 5.08%)<core::iter::adapters::fil..core::iter::traits::iterator::Iterator::find (42 samples, 5.08%)core::iter::traits::iterat..core::iter::traits::iterator::Iterator::try_fold (42 samples, 5.08%)core::iter::traits::iterat..core::iter::traits::iterator::Iterator::find::check::_{{closure}} (42 samples, 5.08%)core::iter::traits::iterat..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (42 samples, 5.08%)core::ops::function::impls..simbelmyne::movegen::legal_moves::_<impl simbelmyne::board::Board>::legal_moves::_{{closure}} (42 samples, 5.08%)simbelmyne::movegen::legal..simbelmyne::movegen::castling::CastleType::is_allowed (42 samples, 5.08%)simbelmyne::movegen::castl..simbelmyne::movegen::castling::CastleType::attackable_squares (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)alloc::vec::Vec<T,A>::push (2 samples, 0.24%)alloc::raw_vec::RawVec<T,A>::reserve_for_push (2 samples, 0.24%)alloc::raw_vec::RawVec<T,A>::grow_amortized (2 samples, 0.24%)alloc::raw_vec::finish_grow (2 samples, 0.24%)<alloc::alloc::Global as core::alloc::Allocator>::grow (1 samples, 0.12%)alloc::alloc::Global::grow_impl (1 samples, 0.12%)alloc::alloc::realloc (1 samples, 0.12%)__rg_realloc (1 samples, 0.12%)<tikv_jemallocator::Jemalloc as core::alloc::global::GlobalAlloc>::realloc (1 samples, 0.12%)do_rallocx (1 samples, 0.12%)aligned_usize_get (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::contains (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::cmp::PartialEq>::eq (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Not>::not (1 samples, 0.12%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)core::num::<impl usize>::checked_add_signed (1 samples, 0.12%)core::num::<impl usize>::overflowing_add_signed (1 samples, 0.12%)core::num::<impl usize>::overflowing_add (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::new (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (2 samples, 0.24%)core::iter::traits::iterator::Iterator::collect (6 samples, 0.73%)co..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (6 samples, 0.73%)<s..<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (5 samples, 0.60%)<..<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (5 samples, 0.60%)<..<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (5 samples, 0.60%)<..simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (4 samples, 0.48%)simbelmyne::bitboard::Bitboard::offset (4 samples, 0.48%)simbelmyne::bitboard::Bitboard::rank (1 samples, 0.12%)<u32 as core::ops::arith::Div>::div (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::offset (2 samples, 0.24%)simbelmyne::bitboard::Bitboard::new (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (1 samples, 0.12%)simbelmyne::bitboard::Step::forward (1 samples, 0.12%)simbelmyne::board::Board::compute_checkers (18 samples, 2.18%)simbelmyne..core::iter::traits::iterator::Iterator::collect (18 samples, 2.18%)core::iter..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (18 samples, 2.18%)<simbelmyn..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (18 samples, 2.18%)<core::ite..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (18 samples, 2.18%)<core::ite..core::iter::traits::iterator::Iterator::find (18 samples, 2.18%)core::iter..<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::try_fold (18 samples, 2.18%)<core::ite..<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (18 samples, 2.18%)<core::ite..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (18 samples, 2.18%)<core::ite..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (18 samples, 2.18%)core::iter..<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (18 samples, 2.18%)<core::ite..<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (18 samples, 2.18%)<core::ite..core::iter::traits::iterator::Iterator::try_fold (18 samples, 2.18%)core::iter..core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (18 samples, 2.18%)core::iter..<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold::flatten::_{{closure}} (18 samples, 2.18%)<core::ite..core::iter::traits::iterator::Iterator::try_fold (18 samples, 2.18%)core::iter..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (14 samples, 1.69%)core::o..core::iter::adapters::filter::filter_try_fold::_{{closure}} (14 samples, 1.69%)core::i..core::iter::traits::iterator::Iterator::find::check::_{{closure}} (14 samples, 1.69%)core::i..core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (14 samples, 1.69%)core::o..simbelmyne::board::Board::compute_checkers::_{{closure}} (14 samples, 1.69%)simbelm..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (14 samples, 1.69%)simbelm..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::range (1 samples, 0.12%)simbelmyne::board::Board::compute_pinrays (4 samples, 0.48%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::Extend<T>>::extend (4 samples, 0.48%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (4 samples, 0.48%)alloc::vec::Vec<T,A>::extend_desugared (4 samples, 0.48%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)core::iter::traits::iterator::Iterator::find (4 samples, 0.48%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::try_fold (4 samples, 0.48%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold (4 samples, 0.48%)core::iter::traits::iterator::Iterator::try_fold (4 samples, 0.48%)core::iter::adapters::map::map_try_fold::_{{closure}} (4 samples, 0.48%)simbelmyne::board::Board::compute_pinrays::_{{closure}} (4 samples, 0.48%)simbelmyne::bitboard::Bitboard::visible_ray (4 samples, 0.48%)core::iter::traits::iterator::Iterator::collect (4 samples, 0.48%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (4 samples, 0.48%)<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)<core::iter::adapters::skip::Skip<I> as core::iter::traits::iterator::Iterator>::next (3 samples, 0.36%)<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::visible_ray::_{{closure}} (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::offset (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::rank (1 samples, 0.12%)core::num::<impl u64>::trailing_zeros (1 samples, 0.12%)<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.24%)core::slice::iter::Iter<T>::post_inc_start (2 samples, 0.24%)core::ptr::mut_ptr::<impl *mut T>::add (2 samples, 0.24%)core::ptr::mut_ptr::<impl *mut T>::offset (2 samples, 0.24%)<&core::option::Option<T> as core::iter::traits::collect::IntoIterator>::into_iter (1 samples, 0.12%)core::option::Option<T>::iter (1 samples, 0.12%)core::option::Option<T>::as_ref (1 samples, 0.12%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)core::iter::traits::iterator::Iterator::find (4 samples, 0.48%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (4 samples, 0.48%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (4 samples, 0.48%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (4 samples, 0.48%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (4 samples, 0.48%)<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (4 samples, 0.48%)core::iter::traits::iterator::Iterator::try_fold (4 samples, 0.48%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (2 samples, 0.24%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold::flatten::_{{closure}} (1 samples, 0.12%)core::iter::traits::iterator::Iterator::try_fold (1 samples, 0.12%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)core::iter::adapters::flatten::and_then_or_clear (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (2 samples, 0.24%)<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::offset (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::rank (1 samples, 0.12%)<u32 as core::ops::arith::Div>::div (1 samples, 0.12%)simbelmyne::board::Board::king_danger_squares (9 samples, 1.09%)simb..core::iter::traits::iterator::Iterator::collect (9 samples, 1.09%)core..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (9 samples, 1.09%)<sim..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (9 samples, 1.09%)<cor..core::option::Option<T>::map (5 samples, 0.60%)c..core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (5 samples, 0.60%)c..simbelmyne::board::Board::king_danger_squares::_{{closure}} (5 samples, 0.60%)s..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (5 samples, 0.60%)s..simbelmyne::bitboard::Bitboard::offset (2 samples, 0.24%)simbelmyne::bitboard::Bitboard::new (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (1 samples, 0.12%)simbelmyne::board::Square::is_double_push (1 samples, 0.12%)simbelmyne::movegen::castling::CastlingRights::get_available (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (1 samples, 0.12%)<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (1 samples, 0.12%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (1 samples, 0.12%)<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (1 samples, 0.12%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (1 samples, 0.12%)alloc::vec::Vec<T,A>::extend_desugared (1 samples, 0.12%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)simbelmyne::bitboard::Bitboard::new (2 samples, 0.24%)<simbelmyne::bitboard::Bitboard as core::ops::bit::Shl<usize>>::shl (2 samples, 0.24%)core::iter::traits::iterator::Iterator::collect (6 samples, 0.73%)co..<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (6 samples, 0.73%)<s..<itertools::take_while_inclusive::TakeWhileInclusive<I,F> as core::iter::traits::iterator::Iterator>::next (5 samples, 0.60%)<..<core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next (4 samples, 0.48%)<core::iter::sources::successors::Successors<T,F> as core::iter::traits::iterator::Iterator>::next (3 samples, 0.36%)simbelmyne::movegen::moves::_<impl simbelmyne::board::Piece>::visible_squares::_{{closure}} (3 samples, 0.36%)simbelmyne::bitboard::Bitboard::offset (3 samples, 0.36%)simbelmyne::bitboard::Bitboard::rank (1 samples, 0.12%)core::num::<impl u64>::trailing_zeros (1 samples, 0.12%)simbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_moves (91 samples, 11.00%)simbelmyne::movegen::legal_moves::<impl simbelmyne::board::B..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (12 samples, 1.45%)simbel..simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::range (3 samples, 0.36%)<simbelmyne::board::Board as core::clone::Clone>::clone (1 samples, 0.12%)[libc.so.6] (1 samples, 0.12%)simbelmyne::bench::perft::perft (245 samples, 29.63%)simbelmyne::bench::perft::perftsimbelmyne::movegen::play_move::<impl simbelmyne::board::Board>::play_move (2 samples, 0.24%)simbelmyne::board::Board::add_at (1 samples, 0.12%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::Extend<T>>::extend (1 samples, 0.12%)<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (1 samples, 0.12%)alloc::vec::Vec<T,A>::extend_desugared (1 samples, 0.12%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)core::iter::traits::iterator::Iterator::find (1 samples, 0.12%)core::iter::traits::iterator::Iterator::try_fold (1 samples, 0.12%)core::iter::traits::iterator::Iterator::find::check::_{{closure}} (1 samples, 0.12%)core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut (1 samples, 0.12%)simbelmyne::movegen::legal_moves::_<impl simbelmyne::board::Board>::legal_moves::_{{closure}} (1 samples, 0.12%)simbelmyne::movegen::castling::CastleType::is_allowed (1 samples, 0.12%)simbelmyne::board::Board::attacked_by (1 samples, 0.12%)simbelmyne::board::Board::compute_attacked_by (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (1 samples, 0.12%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)core::option::Option<T>::map (1 samples, 0.12%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 0.12%)simbelmyne::board::Board::compute_attacked_by::_{{closure}} (1 samples, 0.12%)simbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (1 samples, 0.12%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)simbelmyne::board::Board::compute_checkers (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (1 samples, 0.12%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)core::iter::traits::iterator::Iterator::find (1 samples, 0.12%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 0.12%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 0.12%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 0.12%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (1 samples, 0.12%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 0.12%)<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (1 samples, 0.12%)core::iter::traits::iterator::Iterator::try_fold (1 samples, 0.12%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold::flatten::_{{closure}} (1 samples, 0.12%)<&core::option::Option<T> as core::iter::traits::collect::IntoIterator>::into_iter (1 samples, 0.12%)core::option::Option<T>::iter (1 samples, 0.12%)core::option::Option<T>::as_ref (1 samples, 0.12%)simbelmyne::movegen::legal_moves::<impl simbelmyne::board::Board>::legal_moves (3 samples, 0.36%)simbelmyne::board::Board::king_danger_squares (1 samples, 0.12%)core::iter::traits::iterator::Iterator::collect (1 samples, 0.12%)<simbelmyne::bitboard::Bitboard as core::iter::traits::collect::FromIterator<simbelmyne::bitboard::Bitboard>>::from_iter (1 samples, 0.12%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)<core::iter::adapters::filter::Filter<I,P> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)core::iter::traits::iterator::Iterator::find (1 samples, 0.12%)<core::iter::adapters::flatten::Flatten<I> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 0.12%)<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 0.12%)core::iter::adapters::flatten::FlattenCompat<I,U>::iter_try_fold (1 samples, 0.12%)<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 0.12%)<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold (1 samples, 0.12%)core::iter::traits::iterator::Iterator::try_fold (1 samples, 0.12%)<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.12%)core::slice::iter::Iter<T>::post_inc_start (1 samples, 0.12%)core::ptr::mut_ptr::<impl *mut T>::add (1 samples, 0.12%)core::ptr::mut_ptr::<impl *mut T>::offset (1 samples, 0.12%)_start (249 samples, 30.11%)_start__libc_start_main (249 samples, 30.11%)__libc_start_main[libc.so.6] (249 samples, 30.11%)[libc.so.6]main (249 samples, 30.11%)mainstd::sys_common::backtrace::__rust_begin_short_backtrace (249 samples, 30.11%)std::sys_common::backtrace::__rust_begin_short_backtracecore::ops::function::FnOnce::call_once (249 samples, 30.11%)core::ops::function::FnOnce::call_oncesimbelmyne::main (249 samples, 30.11%)simbelmyne::mainsimbelmyne::bench::perft::perft (249 samples, 30.11%)simbelmyne::bench::perft::perftsimbelmyne::bench::perft::perft (249 samples, 30.11%)simbelmyne::bench::perft::perftsimbelmyne::bench::perft::perft (249 samples, 30.11%)simbelmyne::bench::perft::perftsimbelmyne::movegen::play_move::<impl simbelmyne::board::Board>::play_move (1 samples, 0.12%)all (827 samples, 100%)simbelmyne (827 samples, 100.00%)simbelmynesimbelmyne::movegen::moves::<impl simbelmyne::board::Piece>::visible_squares (2 samples, 0.24%)