59.5% of the time is spent in qsearch
37.0% of the time is spent in move generation
37.7% of the time is spent in evaluation
19.7% of the time is spent performing a BitScan
8.1% of the time is spent probing various hashes (transposition, eval, pawn)
6.0% of the time is spent determining the attackers for a given square
5.1% of the time is spent in make/unmake
3.8% of the time is spent getting the next move in the ordered move list
3.6% of the time is spent determining if a King is in check
Move generation spends more than half of its time generating pawn moves
Obviously, there's a lot of overlap here, so the percentages do make sense.
 
 But does any of this raise big red flags with you? Thanks for your time....
jm



 
 
 So, after making the above BitScan change and then converting all asserts to noops, here are the results for KiwiPete:
 So, after making the above BitScan change and then converting all asserts to noops, here are the results for KiwiPete: