Something like:Rebel wrote:The best bugs are those who produce ELO.

Today my thoughts went back to a fun moment during the WCCC 1993 in Munich and the game I played against Chrilly, Rebel vs Nimzo. After xx moves the game went into an unclear but equal ending and here Chrilly started to comment about every move Nimzo played saying Nimzo had a bug and that's why it played that move. And in the end Nimzo won the game, Chrilly having big fun telling everybody he won because of a bug.

Now those who know Chrilly and his sense of humor will realize you never can be sure if he is not pulling your leg but if true that's the kind of bug you want to keep.

I have one of my own, I am aware of it since the 90's, eventually after a long debugging process found the bug, but in order to fix it would lose so much speed that Rebel would lose 30-40 elo points and thus I left it and it's still present until this day. Consider the diagram and its analysis.

[d]k7/8/8/4b3/8/5K2/7p/8 w - -

00:00:00 1.00 -12.93 5.Ke4

00:00:00 1.07 -0.03 5.Kg2

It's clear the chess knowledge is OK, Kg2 moves into the quadrant so a draw. But then search is going to spoil it all:What's your best bug ?Code: Select all

`00:00:00 2.00 -0.03 5.Kg2 Kb7 00:00:00 3.00 -0.03 5.Kg2 Kb7 6.Kh1 Kc7 7.Kg2 Kc6 8.Kf3 h1 9.Ke2 Qg2 10.Kd1 Qh1 11.Kd2 Qg2 12.Kd1 Qh1 13.Kd2 Qg2 00:00:00 4.00 -0.03 5.Kg2 Kb7 6.Kh1 Kc7 7.Kg2 h1 8.Kxh1 00:00:00 5.00 -0.03 5.Kg2 Kb7 6.Kh1 Kc7 7.Kg2 h1 8.Kxh1 00:00:00 6.00 -0.03 5.Kg2 Kb7 6.Kh1 Kc6 7.Kg2 Kd6 8.Kh1 Kd5 9.Kg2 Kc4 10.Kf3 h1 11.Ke3 Qh3 12.Ke4 Qe6 00:00:00 7.00 -0.03 5.Kg2 Ka7 6.Kh1 Kb7 7.Kg2 Kc6 8.Kh1 Kd5 9.Kg2 h1 10.Kxh1 00:00:00 8.00 -12.99 5.Kg2 Ka7 6.Kh1 Kb7 7.Kg2 Kc6 8.Kf3 h1 9.Ke2 Qg2 10.Kd1 Qh1 11.Ke2 Qg2 12.Kd1 Qh1 00:00:00 8.01 -12.75 5.Ke4 Bd6 6.Kf3 h1=Q 00:00:00 9.00 -13.57 5.Ke4 Bc3 6.Kd3 Bf6 7.Ke4 h1=Q 00:00:00 9.01 -13.57 5.Kg2 00:00:00 9.01 -13.57 5.Kg2 00:00:00 9.04 -13.16 5.Kg4 h1=Q 00:00:00 10.00 -13.16 5.Kg4 h1=Q 00:00:00 10.02 -13.16 5.Kg2 00:00:00 10.02 -13.16 5.Kg2 00:00:00 11.00 -13.52 5.Kg4 h1=Q 00:00:00 11.01 -13.52 5.Kg2 00:00:00 11.01 -13.52 5.Kg2 00:00:00 11.01 -0.03 5.Kg2 Ka7 6.Kh1 Kb8 7.Kg2 Kc7 8.Kh1 Kd6 9.Kg2 Kc5 10.Kh1 Kd4 11.Kg2 Kc4 12.Kh1 Kd3 13.Kg2 Ke4 14.Kh1 Kd3 15.Kg2 Ke4 16.Kh1 00:00:00 12.00 -14.02 5.Kg2 Ka7 6.Kh1 Kb8 7.Kg2 Kc7 8.Kh1 Kd6 9.Kg2 Kc5 10.Kf3 h1 11.Ke2 Qg2 12.Kd1 Qf3 13.Kc1 Qf1 14.Kc2 Qe2 15.Kc1 Qe3 16.Kd1 Qd4 00:00:00 12.01 -13.52 5.Kg4 h1=Q 00:00:00 13.00 -13.47 5.Kg4 h1=Q 00:00:00 14.00 -13.55 5.Kg4 Bc3 6.Kf5 h1=Q 00:00:00 14.01 -13.55 5.Kg2 00:00:00 14.01 -13.55 5.Kg2 00:00:01 15.00 -M11 5.Kg4 Bc3 6.Kf5 h1=Q 00:00:01 15.01 -M11 5.Kg2 00:00:01 15.01 -M11 5.Kg2 00:00:01 15.01 -0.03 5.Kg2 Ka7 6.Kh1 Kb7 7.Kg2 Bd6 8.Kh1 Kc6 9.Kg2 Kc5 10.Kh1 Bf4 11.Kg2 Kd5 12.Kh1 Bd6 13.Kg2 Be5 14.Kh1 Bf4 15.Kg2 Be5 16.Kh1 00:00:02 16.00 -10.26 5.Kg2 Ka7 6.Kh1 Kb7 7.Kg2 Bd6 8.Kh1 Kc6 9.Kg2 Kd5 10.Kh1 Be5 11.Kg2 Bf4 12.Kf3 h1 13.Kxf4 Qe4 14.Kg5 Qd4 15.Kf5 Qd3 16.Kf4 Qe4 00:00:02 17.00 -10.26 5.Kg2 Ka7 6.Kh1 Kb7 7.Kg2 Bf4 8.Kh1 Be5 9.Kg2 Bf4 10.Kh1 00:00:02 18.00 -10.26 5.Kg2 Ka7 6.Kh1 Kb7 7.Kg2 Kb6 8.Kh1 Kc5 9.Kg2 Kc6 10.Kh1 Kd5 11.Kg2 Bd6 12.Kh1 Be5 13.Kg2 Bd6 14.Kh1 00:00:02 19.00 -10.26 5.Kg2 Ka7 6.Kh1 Kb7 7.Kg2 Bf4 8.Kh1 Kc6 9.Kg2 Bd6 10.Kh1 Kc5 11.Kg2 Kd5 12.Kh1 Be5 13.Kg2 Bd6 14.Kh1 Be5 15.Kg2 00:00:03 20.00 -0.04 5.Kg2 Ka7 6.Kh1 Kb6 7.Kg2 Kb7 8.Kh1 Kc6 9.Kg2 Kd5 10.Kh1 Bf4 11.Kg2 Bd6 12.Kh1 Bf4 13.Kg2 Bd6 14.Kh1 00:00:15 21.00 -0.04 5.Kg2 Ka7 6.Kh1 Kb6 7.Kg2 Kc5 8.Kh1 Kd5 9.Kg2 Bf4 10.Kh1 Bd6 11.Kg2 Ke4 12.Kh1 Be5 13.Kg2 Bf4 14.Kh1 Bd6 15.Kg2 Kd3 16.Kh1 Bf4 00:00:16 22.00 -13.01 5.Kg2 Ka7 6.Kh1 Kb6 7.Kg2 Kc5 8.Kh1 Kd5 9.Kg2 Bf4 10.Kh1 Bd6 11.Kg2 Bf4 12.Kh1 Bd6 13.Kg2 00:00:19 23.00 -7.15 5.Kg2 Ka7 6.Kh1 Kb6 7.Kg2 Kb5 8.Kh1 Bf4 9.Kg2 Kb4 10.Kh1 Kc5 11.Kg2 Kd5 12.Kh1 Kd4 13.Kg2 Kc3 14.Kh1 Kd3 15.Kg2 Kd2 16.Kh1 Ke3`

next_depth = max(depth++, 32)

Because 'max' is a macro and not a function and I did not know that.