- safe_pawns = pos.pieces(Us, PAWN) & (~ei.attackedBy[Them][ALL_PIECES] | ei.attackedBy[Us][ALL_PIECES]);
- safe_pawn_threats = (shift_bb<Right>(safe_pawns) | shift_bb<Left>(safe_pawns)) & (pos.pieces(Them) ^ pos.pieces(Them, PAWN));
- unsafe_pawn_threats = b ^ safe_pawn_threats;
+ b = pos.pieces(Us, PAWN) & ( ~ei.attackedBy[Them][ALL_PIECES]
+ | ei.attackedBy[Us][ALL_PIECES]);
+
+ safeThreats = (shift_bb<Right>(b) | shift_bb<Left>(b)) & weak;