The short answer
Across 4 independent positions, giving up the bishop pair was top of the candidates in 1 of 4. Where it was not, it trailed by at most 0.44 (averaging 0.27). So this is not a move that is simply good or simply bad — the answer changes with the position, which is what the run actually showed.
(“Top” here means top of the candidates compared, not the best move among all legal moves — see how we tested it.)
What we are testing
A bishop only ever touches squares of one colour, so a single bishop covers half the board. Two of them cover all of it — which is why players are told the bishop pair is worth having, and worth not trading away for a knight.
In a real game, though, the trade comes with something attached: it removes a knight, or doubles the opponent’s pawns, or breaks a pin. So how much does giving up the pair actually cost? We checked in four positions — open and closed, White to move and Black to move.
How we tested it
Testing a rule of thumb in one position cannot tell you whether you are seeing the rule or just that position. So we picked 4 positions of different character — open and closed, White to move and Black to move. In each one, every candidate is played and the resulting position is searched. All the numbers are real output, not estimates.
What is compared is a set of candidate moves relevant to the article, not every legal move: the move under test, and the moves a player would normally consider there. So the top row of a table is not "the best move in the position" but the highest-scoring move among those compared.
On top of that, each position is also searched once with no candidate list, and the move the engine itself picks is recorded (it is shown with each position below). This is there to catch a candidate list that quietly decides the answer: the generator aborts if that free choice beats the top candidate by 0.50 or more. Across the current data the largest such difference is 0.18.
Position by position
| Position | Top candidate | Move tested | Gap |
|---|---|---|---|
| To trade or not, in the Ruy Lopez (White to move) | d3 +0.35 | Bxc6 +0.09 | 0.26 |
| Trading the bishop for the knight (White to move) | Bh4 +0.25 | Bxf6 −0.11 | 0.36 |
| Black giving it up in the Nimzo-Indian (Black to move) | Bxc3 −0.19 | Bxc3 −0.19 | same |
| Handing it over early (White to move) | O-O +0.35 | Bxc6 −0.09 | 0.44 |
Position 1|To trade or not, in the Ruy Lopez (White to move)
1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O Be7
FENr1bqk2r/1pppbppp/p1n2n2/4p3/B3P3/5N2/PPPP1PPP/RNBQ1RK1 w kq - 4 6
The highest-scoring candidate was d3 (+0.35). Bxc6 scored +0.09, a gap of 0.26.
Searched with no candidate list imposed, at the same depth, the engine's own first choice was Re1 — a move that is in the table above. That search is not the same procedure as playing each candidate first and searching the position that follows, so the order can differ.
Tap a candidate move to change the board
| Move | Evaluation | Diff vs top candidate |
|---|---|---|
| d3 | +0.35 | baseline |
| Re1 | +0.31 | −0.04 |
| Bxc6 | +0.09 | −0.26 |
| d4 | +0.05 | −0.30 |
| c3 | −0.35 | −0.70 |
Position 2|Trading the bishop for the knight (White to move)
1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Bg5 h6
FENrnbqk2r/pppp1pp1/4pn1p/6B1/1bPP4/2N5/PP2PPPP/R2QKBNR w KQkq - 0 5
The highest-scoring candidate was Bh4 (+0.25). Bxf6 scored −0.11, a gap of 0.36.
Searched with no candidate list imposed, at the same depth, the engine also chose Bh4.
Tap a candidate move to change the board
| Move | Evaluation | Diff vs top candidate |
|---|---|---|
| Bh4 | +0.25 | baseline |
| Bd2 | +0.05 | −0.20 |
| Bxf6 | −0.11 | −0.36 |
| Nf3 | −3.82 | −4.07 |
| e3 | −3.84 | −4.09 |
Position 3|Black giving it up in the Nimzo-Indian (Black to move)
1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Qc2 O-O 5.a3
FENrnbq1rk1/pppp1ppp/4pn2/8/1bPP4/P1N5/1PQ1PPPP/R1B1KBNR b KQ - 0 5
Of the candidates compared, Bxc3 scored highest (−0.19).
Searched with no candidate list imposed, at the same depth, the engine's own first choice was Bxc3+, a move not in the table above. That search is not the same procedure as playing each candidate first and searching the position that follows, so the order can differ.
Tap a candidate move to change the board
| Move | Evaluation | Diff vs top candidate |
|---|---|---|
| Bxc3 | −0.19 | baseline |
| Be7 | −0.75 | −0.56 |
| Bd6 | −0.99 | −0.80 |
| Ba5 | −2.10 | −1.91 |
| c5 | −2.25 | −2.06 |
Position 4|Handing it over early (White to move)
1.e4 e5 2.Nf3 Nc6 3.Bb5 Nf6
FENr1bqkb1r/pppp1ppp/2n2n2/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R w KQkq - 4 4
The highest-scoring candidate was O-O (+0.35). Bxc6 scored −0.09, a gap of 0.44.
Searched with no candidate list imposed, at the same depth, the engine also chose O-O.
Tap a candidate move to change the board
| Move | Evaluation | Diff vs top candidate |
|---|---|---|
| O-O | +0.35 | baseline |
| d4 | +0.13 | −0.22 |
| Nc3 | +0.10 | −0.25 |
| d3 | +0.07 | −0.28 |
| Bxc6 | −0.09 | −0.44 |
Where the difference comes from
Bxc6 in the Ruy Lopez and Bxf6 in the Nimzo both fall a little short of the top candidate — by 0.26 and 0.36, which for an opening is not much. Following the engine’s lines, what usually happens is that the opponent’s structure firms up after the trade and the remaining bishop runs out of diagonals to work on.
In one position it goes the other way. When Black plays Bxc3 in the Nimzo-Indian, that is the best move available: the pair is traded for doubled White pawns, the same bargain the doubled-pawns article looks at from the other side. Giving up the pair is not the cost — what you take in return is what decides it.
Exceptions
None of the four gaps exceeds 0.44, which is nowhere near blunder territory. The bishop pair is worth a little, not worth protecting at any price.
All four positions are also from the opening. The pair is generally held to grow more valuable as the board opens and pieces come off, and nothing here tests that.
What this does and does not show
- It shows: what the engine returned for these 4 positions, with the chosen candidates searched to depth 20. The numbers are the raw output; none of them were adjusted afterwards.
- It does not show: anything about "all positions" — a sample of 4 is a very small slice of chess.
- The assumption: an evaluation assumes best play from both sides. Over the board, an inaccurate reply changes everything.
- Reproducing it: every number here is built from chess-analysis.json, the raw output of the run — positions, candidates, scores and principal variations. Running the same engine with the settings above reproduces them exactly: the search is single-threaded, the hash is cleared before each position, and the depth is fixed. A different engine version or hash size will give different numbers.

What to remember at the board
- Giving up the pair scored below the top candidate in 3 of the 4 positions
- The largest gap was 0.44 — a cost, not a mistake
- In the Nimzo-Indian, handing it over was the best move available
- Judge the trade by what you get back, not by the pair itself
Try it yourself
You can try the same idea in a real game. Every move is scored by the engine, so the difference between principled and careless moves shows up immediately.