// Transform the kingDanger units into a Score, and substract it from the evaluation
if (kingDanger > 0)
- score -= make_score(std::min(kingDanger * kingDanger / 4096, 2 * int(BishopValueMg)), 0);
+ score -= make_score(kingDanger * kingDanger / 4096, 0);
}
// King tropism: firstly, find squares that opponent attacks in our king flank
// ...count safe + (behind & safe) with a single popcount.
int bonus = popcount((Us == WHITE ? safe << 32 : safe >> 32) | (behind & safe));
- bonus = std::min(16, bonus);
int weight = pos.count<ALL_PIECES>(Us) - 2 * ei.pe->open_files();
- return make_score(bonus * weight * weight / 18, 0);
+ return make_score(bonus * weight * weight / 16, 0);
}