&& (pos.pieces(PAWN) & KingSide);
// Compute the initiative bonus for the attacking side
- int initiative = 8 * outflanking
+ int complexity = 8 * outflanking
+ 8 * pe->pawn_asymmetry()
+ 12 * pos.count<PAWN>()
+ 16 * pawnsOnBothFlanks
// Now apply the bonus: note that we find the attacking side by extracting
// the sign of the endgame value, and that we carefully cap the bonus so
// that the endgame score will never change sign after the bonus.
- int v = ((eg > 0) - (eg < 0)) * std::max(initiative, -abs(eg));
+ int v = ((eg > 0) - (eg < 0)) * std::max(complexity, -abs(eg));
if (T)
Trace::add(INITIATIVE, make_score(0, v));