A couple of days ago I went on a road trip to Idaho Falls with my neighbor. We went to a gazillion stores and it totally wore me out. So the last couple of days I did more harm than good trying to code. Today however, I seem to have undone the damage and am back on track with Bricabrac. Hey, that almost rhymes.
Zobrist keys have been added successfully and a repetition table created. And it seems to be working!
In the following game there were plenty of opportunities for 3-fold repetitions and Bricabrac managed to not play into any.
[pgn][Event "TSCP.at"]
[Site "DESKTOP-HFVHK2B"]
[Date "2021.05.02"]
[Round "1"]
[White "Bricabrac"]
[Black "Tscp181"]
[Result "1-0"]
[BlackElo "2200"]
[ECO "A70"]
[Opening "Benoni"]
[Time "13:57:39"]
[Variation "Classical, 8.Bd3"]
[WhiteElo "2000"]
[TimeControl "0+2"]
[Termination "normal"]
[PlyCount "281"]
[WhiteType "human"]
[BlackType "human"]
1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Bd3 {(f1d3 b8d7 c1f4 d8e7 e1g1 d7e5 d3c2) +1.02/7 2} Bg4 {(c8g4 e1g1 e8g8
c1f4 f8e8 a1c1 f6e4 c3e4 g4f3 d1f3 g7b2) -0.88/6 1} 9. Bf4 {(c1f4 d8b6 a1b1
h8f8 e1g1 b8d7 b1c1) +1.04/7 2} Qb6 {(d8b6 d3b5 f6d7 a1b1 f7f5 b5d3 g7c3
b2c3 g4f3 d1f3) -0.57/5 1} 10. Qc1 {(a1b1 b8d7 e1g1 d7e5 d3b5 f6d7 b5e2)
+1.04/7 2} Bxf3 {(g4f3 g2f3 f6h5 f4e3 b8d7 e1g1 g7c3 c1c3) -0.35/6 1} 11.
gxf3 {(g2f3 b8d7 e1g1 a8d8 c1c2 h8f8 a1d1 d7e5) -0.01/8 2} Nh5 {(f6h5 f4d2
b8d7 f3f4 e8c8 e1g1) -0.27/6 2} 12. Bh6 {(f4h6 g7d4 e1g1 b8d7 h6e3 a8d8
e3d4 c5d4) +0.27/8 2} Bxh6 {(g7h6 c1h6 b6b2 a1c1 b8d7 e1g1) +1.35/6 1} 13.
Qxh6 {(c1h6 b6b2 a1c1 b8d7 e1g1 b2a3 f3f4 a8d8 h2h3) +0.68/9 2} Qxb2 {(b6b2
a1c1 b8d7 c3b5 b2e5 e1g1) +1.40/6 2} 14. Rc1 {(a1c1 b8d7 e1g1 a8d8 f1e1
b2a3 d3f1 d7e5 f1g2) +0.51/9 2} Nd7 {(b8d7 e1g1 h5f6 c1c2 b2a3 f3f4)
+1.39/6 1} 15. O-O {(e1g1 a7a6 f1d1 d7e5 d3e2 c5c4 h2h3 b2b6) +0.37/8 2}
Qa3 {(h5f6 c3b5 e8e7 c1c2 b2e5) +1.39/5 1} 16. f4 {(f1e1 a8d8 e1d1 d7e5
d3b5 e8e7 g1g2 h5f6) +0.35/8 2} O-O-O {(h5f6 h6g7 h8g8 g7h6 e8c8) +1.45/5
1} 17. h3 {(h2h3 h8e8 f1d1 a7a6 d3f1 c8b8 f1g2 h5f6) +0.72/8 2} Nhf6 {(d8g8
c3b5 a3a6 a2a4 h5f6) +1.55/5 1} 18. Be2 {(f1e1 h8e8 e1d1 a7a6 h6g7 e8f8
g7h6 c8b8) +0.63/8 2} Rhe8 {(h8e8 e2d3 a3b4 c1c2 c5c4 f1b1) +1.75/6 2} 19.
Nb5 {(c3b5 a3a6 b5c3 a6b6 e2f3 c8b8 c1d1 c5c4) +0.55/8 2} Qa6 {(a3a6 f2f3
e8e7 e2c4 d8e8 b5d4) +1.68/6 1} 20. Nc3 {(b5c3 a6b6 e2f3 c8b8 f1e1 c5c4
c1d1 d7c5) +0.45/8 2} Qb6 {(a6b6 e2d3 b6b4 c1c2 c5c4 f1b1) +1.75/6 1} 21.
Bf3 {(e2f3 c8b8 f1e1 c5c4 a2a3 a7a6 c1d1 d7c5) +0.45/8 2} c4 {(c5c4 h6g7
e8e7 c1b1 b6c7 f1c1) +1.75/6 1} 22. Qg7 {(h6g7 e8f8 f3e2 b6a6 e2f3 c8b8
g7h6 d7c5) +0.45/8 2} Re7 {(e8e7 c1b1 b6c7 f1c1 d8e8 a2a4) +1.83/6 1} 23.
a4 {(a2a4 c8b8 f1e1 a7a6 f3g2 b6c7 c1d1 a6a5) +0.49/8 2} Qb3 {(b6b3 e4e5
d6e5 f4e5 f6e8 g7h7 d7e5) +1.87/6 1} 24. Rfd1 {(f1d1 c8b8 g7h6 b3b6 c1b1
b6c7 c3b5 c7b6) +0.65/8 2} h5 {(h7h5 a4a5 d8g8 g7h6 g8e8) +1.98/5 2} 25.
Bg2 {(f3g2 b3b6 f4f5 g6f5 e4f5 d8g8 g7h6 g8g3) +0.85/8 2} Rg8 {(d8g8 g7h6
g8e8 h6g5 b3a3 g2f3) +2.03/6 1} 26. Qh6 {(g7h6 g8d8 f4f5 g6f5 e4f5 b3b4
g2f3 d7e5) +1.21/8 2} Rge8 {(g8e8 h6g7 h5h4 e4e5 d6e5 f4e5 e7e5 g7f7)
+2.02/5 1} 27. Nb5 {(c3b5 f6e4 g2e4 e7e4 b5d6 c8b8 d6e8 e4e8) +2.17/8 2}
Nxe4 {(f6e4 g2e4 c8b8 b5d6 e7e4 d6e8 e4e8) -0.10/6 1} 28. Bxe4 {(g2e4 e7e4
b5d6 c8b8 d6e4 e8e4 h6h8 b8c7) +2.41/8 2} Kb8 {(c8b8 b5d6 e7e4 f4f5 b3h3
d6e8 e4e8 f5g6) -0.35/6 1} 29. Bg2 {(e4g2 b3b4 g2f1 d7b6 f4f5 b6a4 f1c4
e7e1) +2.69/8 2} Qb4 {(b3b4 f4f5 d7e5 f2f4 e5d3 b5d6 b4d6 c1c4) +0.09/6 1}
30. Rb1 {(c1b1 b4c5 b5d4 d7b6 f4f5 b6d5 f5g6 d5c3) +2.63/8 2} Qc5 {(b4c5
f4f5 d7e5 g2e4 a7a6 b5d4) +0.36/6 1} 31. Nd4 {(b5d4 d7b6 f4f5 b6d5 f5g6
d5b4 h6h7 e8f8) +2.89/8 2} Kc8 {(b8c8 f4f5 d7e5 f5f6 e7d7 g2e4) +0.48/6 1}
32. f5 {(f4f5 d7e5 f5g6 e5g6 d4e6 c5a5 g2f3 a5c3) +3.44/8 2} Ne5 {(d7e5
d4b5 e5d3 f5g6 f7g6 h6g6 c5f2) +0.50/6 1} 33. fxg6 {(b1c1 c5a3 f5g6 f7g6
d4e6 e7f7 f2f4 a3e3) +3.25/8 2} fxg6 {(f7g6 g2e4 e5g4 e4f5 g6f5 h3g4 h5g4
d4f5) +0.45/6 2} 34. Ne6 {(d4e6 c5a3 b1a1 a3b3 a1c1 c8b8 e6f4 e8g8) +3.65/8
2} Qa3 {(c5a3 h6e3 a3e3 f2e3 c4c3 e3e4) +0.40/6 1} 35. Ra1 {(b1c1 c8b8 e6f4
e8g8 g2e4 g6g5 f4h5 a3h3) +3.46/8 2} Qb3 {(a3b3 d1c1 e5d3 c1b1 b3c2 h6g6
c2f2) +0.45/6 1} 36. Rab1 {(a1b1 b3a4 f2f4 e5d3 h6g6 a4c2 d1f1 h5h4)
+3.58/8 2} Qc2 {(b3c2 b1c1 c2a4 f2f4 e5f7 h6g6) +0.03/6 2} 37. Rbc1 {(b1c1
c2b3 e6f4 e8g8 a4a5 e7f7 f4e6 e5f3) +3.76/8 2} Qb3 {(c2b3 c1b1) 0.00/6 1}
38. Nf4 {(e6f4 e8g8 g2e4 e5g4 h3g4 e7e4 f4g6 h5g4) +3.76/8 2} Rg8 {(e8g8
a4a5 c4c3 g2e4 e5f7 h6h7) +0.47/6 1} 39. a5 {(a4a5 e7f7 f4e6 c8b8 a5a6 e5f3
g2f3 b3f3) +3.53/8 2} Qb4 {(b3b4 h6g5 g8g7 f4d3 e5d3 d1d3) +0.39/5 1} 40.
Ra1 {(f4e6 b4a5 f2f4 a5b6 g1h1 b6e3 h6g5 e5c6) +3.57/8 2} c3 {(c4c3 d1c1
e7e8 h6g5 e8f8 f4e6) +0.62/6 1} 41. Ne6 {(f4e6 g8e8 d1d4 b4b3 f2f4 b3b2
a1d1 c3c2) +3.61/8 2} Qc4 {(b4c4 d1c1 e7e8 h6e3 e5d3 c1c2) +0.62/6 1} 42.
Rac1 {(a1c1 c8b8 d1d4 c4a2 f2f4 e5f7 h6h7 g8e8) +3.88/8 2} Kb8 {(c8b8 f2f4
e5d7 h6g5 e7e8 d1e1) +0.28/6 1} 43. Rd4 {(d1d4 c4e2 d4f4 e5d3 f4f8 e7e8
f8g8 e8g8) +3.67/8 2} Qe2 {(c4e2 h6e3 e2e3 f2e3 g8c8 e3e4) +0.17/6 2} 44.
Re4 {(d4e4 e2b2 e4d4 e5f7 h6e3 g8c8 g2e4 f7e5) +3.28/8 2} Qb2 {(e2b2 e6d4
g8e8 h6e3 e5f3 d4f3 e7e4 e3c3 b2c3 c1c3) +0.40/6 1} 45. Rd1 {(c1d1 g8e8
h3h4 e5g4 h6f4 b2a3 f4g3 c3c2) +2.93/8 2} c2 {(c3c2 d1f1 g6g5 e4e1 e5d3
e1a1 c2c1q a1c1 d3c1 e6g5) +2.16/6 1} 46. Rf1 {(d1f1 g8c8 h6c1 b2c3 a5a6
b7a6 e4e3 e5d3) +1.48/8 2} g5 {(g6g5 e4e1 e5d3 e1a1 c2c1q a1c1 d3c1 e6g5)
+2.16/6 1} 47. Ree1 {(e4e1 e5d3 e1a1 c2c1q a1c1 d3c1 e6g5 c1d3) +1.31/8 2}
Nd3 {(e5d3 e1a1 c2c1q a1c1 d3c1 e6g5) +2.16/6 1} 48. Ra1 {(e1a1 c2c1q a1c1
d3c1 e6g5 c1e2 g1h1 b2e5) +0.85/8 2} c1=Q {(c2c1q a1c1 d3c1 e6g5 c1e2 g1h1
b2a3) +2.40/6 1} 49. Raxc1 {(a1c1 d3c1 e6g5 c1e2 g1h1 b2a3 g5e6 a3a5)
+0.72/8 2} Nxc1 {(d3c1 e6d4 b2a3 d4f5 c1e2 g1h1 e7d7 h6h5) +2.27/6 1} 50.
Nd4 {(e6d4 e7d7 d4e6 c1e2 g1h1 b2h8 h6h8 g8h8 e6g5) +0.23/9 2} Rd7 {(e7d7
h6h5 d7c7 h5g4 c1b3 g4e6) +2.23/6 1} 51. Ne6 {(d4e6 c1e2 g1h1 b2d2 h3h4
e2f4 h4g5 f4g2 h1g2) +0.20/9 2} Ne2+ {(c1e2 g1h1 b2b5 h6h5 e2c3 e6g5 c3d5)
+2.55/6 1} 52. Kh1 {(g1h1 b2e5 h6h5 e2f4 h5g4 d7f7 h3h4 f4g2 g4g2 g8h8)
-0.30/10 2} g4 {(g5g4 h6h5 g4h3 g2h3 g8h8 h5g4) +2.50/6 1} 53. Qxh5 {(h6h5
b2f6 a5a6 e2f4 e6f4 f6f4 a6b7 d7b7) +0.01/8 2} Qc2 {(b2c2 e6g5 c2f5 h3h4
e2f4 h5h6 f4g2 h1g2 f5d5) +3.37/6 1} 54. Qh6 {(h5h6 g4h3 g2f3 g8c8 h6h3
d7h7 f3h5 h7e7) +0.16/8 2} gxh3 {(g4h3 g2h3 c2d3 e6g5 d3d5 f2f3 d7g7)
+3.83/6 1} 55. Bf3 {(g2f3 d7f7 h6e3 e2c3 f1c1 c2c1 e3c1 f7f3) -0.40/8 2}
Nc3 {(e2c3 h6h3 d7h7 f3h5 c2e4 f2f3 e4d5) +3.83/6 1} 56. Qe3 {(h6e3 c2b3
f1e1 g8e8 e3d3 d7e7 d3f5 a7a6) -0.40/8 2} Rc8 {(g8c8 e6d4 c2a4 f3g4 c3d5
e3h3) +3.77/6 1} 57. a6 {(a5a6 c2f5 a6b7 b8b7 e6d4 f5e5 d4c6 e5e3) -0.77/8
2} bxa6 {(b7a6 e6d4 c2b2 d4c6 b8a8 e3h6 b2b5 h6h3 c3d5 f3d5 b5d5) +4.31/6
1} 58. Nd4 {(e6d4 c2b2 e3e6 d7c7 e6d6 b2b6 d4c6 b8b7) -0.29/8 2} Qb2 {(c2b2
e3e6 d7h7 e6d6 c8c7 d4e6 b2b5 e6c7 b5f1) +3.31/6 1} 59. Nc6+ {(d4c6 b8a8
e3e6 b2b7 f3g4 d7c7 g4h3 c3d5) -0.29/8 2} Ka8 {(b8a8 f3g4 c3d5 e3d3 b2g7
d3a6 c8e8 g4d7 g7d7) +3.07/6 1} 60. Qe6 {(e3e6 b2b5 f1e1 b5d3 e6d7 d3f3
h1g1 h3h2) -0.25/8 2} Rdc7 {(d7c7 e6h3 a6a5 h3e6 c8h8 h1g1 b2a3) +3.20/6 1}
61. Qxd6 {(e6d6 b2d2 d6f6 c3d5 c6e7 c7e7 f6e7 c8c2) -0.31/8 2} Qd2 {(b2d2
c6e5 a6a5 f1a1 a5a4 h1g1) +3.56/6 2} 62. Ne5 {(c6e5 c3e2 d6a6 c7c2 f3e4
c2c1 f1c1 c8c1) +0.10/8 2} Qd4 {(d2d4 f3g4 d4e4 f2f3 e4d5 d6d5 c3d5 g4c8
c7c8) +2.87/6 1} 63. Qxa6 {(d6a6 d4e5 d5d6 a8b8 d6c7 e5c7 a6h6 c8d8 h6h3)
+1.00/9 2} Qxe5 {(c3e4 d5d6 c7c2 d6d7 c8b8 f1e1) +1.90/6 1} 64. d6+ {(d5d6
a8b8 d6c7 e5c7 a6h6 c7d7 h1g1 a7a6 f1e1) +1.07/9 2} Kb8 {(a8b8 d6c7 c8c7
f3g4 h3h2 f2f4 e5g7 g4e6) +1.78/6 1} 65. dxc7+ {(d6c7 e5c7 a6h6 c8d8 h6h3
d8d3 h3h5 d3d2 h5e8) +1.09/9 2} Rxc7 {(c8c7 f1g1 c7g7 f3g4 e5e4 f2f3 e4e2
a6e2 c3e2) +1.71/6 2} 66. Rg1 {(a6g6 h3h2 g6g8 c7c8 g8b3 c3b5 f1d1 c8c3
b3f7) +1.10/9 2} Qe8 {(e5e8 a6h6 e8d7 g1g8 c7c8 g8g4 c3d1 h6h3 d1f2)
+1.08/6 1} 67. Qa3 {(a6h6 c7c8 h6h7 e8b5 g1e1 c8d8 e1e7 b5f1) +1.09/8 2}
Nb5 {(c3b5 a3a4 c7c3 g1g3 e8d7 h1g1) +1.72/6 1} 68. Rb1 {(g1b1 c7f7 a3d6
b8c8 b1c1 b5c7 f3g4 c8b8 g4h3) +1.61/9 2} Rb7 {(c7b7 a3c5 b7b6 c5f5 b5d4
b1b6 a7b6 f5h3) +0.37/6 1} 69. Qb3 {(a3c5 b7b6 f3d5 e8d7 c5f8 d7c8 f8c8
b8c8 b1d1) +1.58/9 2} Rb6 {(b7b6 b3d5 e8e7 b1b5 b6b5 d5b5 b8c7 h1h2)
-1.01/7 1} 70. Qd5 {(b3d5 e8e7 d5g8 b8c7 b1c1 c7d7 f3g4 d7d6 g4h3) +2.75/9
2} Qe7 {(e8e7 d5a8 b8c7 b1c1 c7d7 a8c8 d7d6 c1d1 d6e5 c8h3) -0.01/6 2} 71.
Rd1 {(b1g1 b8c8 g1g8 c8c7 d5c4 c7d7 c4c8 d7d6 c8h3) +2.84/9 2} h2 {(h3h2
d5a8 b8c7 h1h2 e7g5 h2h1 a7a6) -0.05/6 1} 72. Qg8+ {(d5g8 b8c7 d1c1 c7d7
g8c8 d7d6 c1d1 d6e5 h1h2) +2.88/9 2} Kc7 {(b8c7 d1c1 c7d7 g8c8 d7d6 c1d1
d6e5 d1e1 e5d6 e1e7 d6e7 h1h2) -3.60/6 1} 73. Rc1+ {(d1c1 c7d7 g8c8 d7d6
c1d1 b5d4 d1d4 d6e5 d4d7) +5.44/9 2} Kd7 {(c7d7 g8c8 d7d6 c1d1 d6e5 d1e1
e5d6 e1e7 d6e7 h1h2) -3.60/5 1} 74. Qc8+ {(g8c8 d7d6 c1d1 d6e5 d1e1 e5d6
e1e7 d6e7 h1h2) +6.76/9 2} Kd6 {(d7d6 c1d1 d6e5 d1e1 e5d6 e1e7 d6e7 c8c5
e7e6 h1h2) -3.50/6 1} 75. Rd1+ {(c1d1 d6e5 d1e1 e5d6 e1e7 d6e7 h1h2 b5d4
f3d5) +6.50/9 2} Ke5 {(d6e5 d1d5 e5f6 c8f5 f6g7 d5d7 e7d7 f5d7 g7f6 h1h2)
-3.60/6 1} 76. Re1+ {(d1e1 e5d6 e1e7 d6e7 f3d5 b6f6 c8b7 e7f8) +6.23/8 2}
Kd6 {(e5d6 e1e7 d6e7 c8c5 e7f6 h1h2 b6b8 c5c6 f6e5 h2g3) -3.60/7 1} 77.
Rd1+ {(e1d1 d6e5 d1e1 e5d6 e1e7 d6e7 h1h2 b5d4 f3d5) +6.50/9 2} Ke5 {(d6e5)
0.00/8 1} 78. Re1+ {(d1e1 e5d6 e1e7 d6e7 f3d5 b6f6 c8b7 e7f8) +6.23/8 2}
Kd6 {(e5d6) 0.00/9 1} 79. Rxe7 {(e1e7 d6e7 c8f5 b5d4 f5e4 d4e6 e4h7 e7d6
h1h2 b6b2) +6.32/10 2} Kxe7 {(d6e7 c8c5 e7f6 h1h2 b6b8 f3c6 b8h8 h2g3 h8g8)
-3.80/7 1} 80. Bd5 {(f3d5 e7d6 d5f7 b5d4 c8d8 d6e5 d8e8 e5f4 h1h2) +6.71/9
2} Kd6 {(e7d6 d5c4 a7a5 f2f4 a5a4 c8f8 d6d7 h1h2) -3.43/7 1} 81. Bg2 {(d5g2
d6e7 c8g8 b6f6 g8g7 e7e6 g2d5 e6f5 h1h2 b5d4) +6.38/10 2} Ke5 {(d6e5 c8c5
e5f4 c5e3 f4f5 g2h3 f5f6 f2f4 b5d6 h1h2) -3.86/6 1} 82. Qh8+ {(c8h8 e5f5
h1h2 b6g6 g2d5 g6g5 d5f7 f5g4 h2g1) +6.80/9 2} Kf4 {(e5f5 h8h3 f5e5 h1h2
e5f6 h3h4 f6e5 f2f4) -3.81/5 1} 83. Kxh2 {(h1h2 b5d6 h8h6 f4e5 h6h8 e5f5
h8h7 f5g4 g2d5) +6.89/9 2} Kf5 {(f4f5 h8h5 f5f4 h5f7 f4g4 f2f3 g4h4 f7e7
h4h5 f3f4) -4.11/6 1} 84. Kg1 {(h2g1 f5g4 h8e5 b5d6 e5g7 g4f5 g7h7 f5g4
g2d5) +7.05/9 2} Kg6 {(f5g6 f2f4 b5d6 h8g8 g6f6 g8f8 f6e6 g1f2) -4.06/6 1}
85. Be4+ {(g2e4 g6f7 e4d5 f7g6 h8g8 g6h6 g8h8 h6g6 h8e8) +7.17/9 2} Kf7
{(g6f7 f2f4 a7a6 g1f2 a6a5 f4f5) -4.22/5 1} 86. Qh4 {(h8h7 f7e8 e4d5 b6f6
h7h5 e8d7 h5h8 f6f4 h8h6) +7.04/9 2} Ke8 {(f7e8 g1g2 e8d7 h4g4 d7d6 g4g3
d6c5 f2f4) -4.11/6 1} 87. Kh2 {(h4h8 e8e7 h8h7 e7f8 h7h8 f8e7 e4g2 b6e6
g2d5) +7.03/9 2} a6 {(a7a6 f2f4 b5d6 e4g6 e8d7 h4g4 d7e7 f4f5) -3.98/6 1}
88. Qh8+ {(h4h8 e8d7 e4f5 d7c6 h8c8 c6d5 c8g8 d5c6 h2g1) +6.86/9 2} Ke7
{(e8e7 f2f4 a6a5 h8g7 e7d6 g7e5 d6d7 f4f5) -3.92/5 1} 89. Qg7+ {(h8g7 e7e8
e4d5 b6d6 g7g8 e8d7 h2g1 d7c7 g8f7) +6.91/9 2} Kd6 {(e7d6 f2f4 a6a5 g7a1
b6a6 f4f5) -3.97/5 1} 90. Qf8+ {(g7f8 d6d7 e4f5 d7c6 f8c8 c6d5 c8g8 d5c6
h2g1) +6.86/9 2} Kd7 {(d6d7 f2f4 b5d6 f8g7 d7d8 g7d4 d8c7 f4f5 d6e4 d4e4)
-4.13/6 1} 91. Qf7+ {(f8f7 d7c8 f7f8 c8d7 e4d5 b5c3 f8g7 d7d6 g7h6) +6.88/9
2} Kd8 {(d7d8 f2f4 b5d6 f7f6 d8d7 f6d4 b6b8 f4f5) -4.08/6 1} 92. Qf8+
{(f7f8 d8d7 e4f5 d7c6 f8c8 c6d5 c8g8 d5c6 h2g1) +6.86/9 2} Kd7 {(d8d7)
0.00/10 1} 93. Bf5+ {(e4f5 d7c7 f8c8 c7d6 c8d8 d6c5 d8c8 b6c6 c8e8) +6.82/9
2} Kc6 {(d7c6 f2f4 b5d6 f8a8 c6c5 f5d3 b6b4 f4f5) -3.93/6 1} 94. Qc8+
{(f8c8 c6d5 c8d8 d5c5 d8e7 b6d6 e7e5 d6d5 e5f6) +6.64/9 2} Kd5 {(c6d5 f2f4
b5d4 c8g8 d5c5 g8f8 c5d5 h2g3) -3.75/5 1} 95. Bg6 {(f5g6 b5d4 g6f7 d5e4
c8e8 e4f5 e8d7 f5e4 d7e8) +6.67/9 2} Nd6 {(b5d6 c8a8 d6b7 f2f4 a6a5 a8g8
b6e6 f4f5) -3.62/6 1} 96. Qc3 {(c8c3 b6b8 c3f6 b8b4 g6d3 b4d4 d3a6 d5c5
a6e2 d4d2) +6.39/10 2} Rc6 {(b6c6 c3a5 d5d4 f2f4 d6c4 a5a1 d4d5 f4f5)
-3.78/6 1} 97. Qa3 {(c3a3 d5d4 a3f3 c6c4 f3e3 d4d5 e3h6 d6e4 g6f7) +6.58/9
2} Kd4 {(d5d4 f2f4 d6c4 a3a1 d4c5 a1g1 c5d5 f4f5) -3.78/6 1} 98. Bh5 {(h2g1
d6c4 a3a1 d4c5 g6f7 c6d6 a1c1 d6d4 c1h6) +6.61/9 2} Nc4 {(d6c4 a3a1 d4c5
f2f4 c6h6 a1g1 c5b4 g1g5 h6e6) -3.65/7 1} 99. Qa1+ {(a3a1 d4c5 h5f7 c5b4
a1h8 b4b3 h2g1 a6a5 h8e8 c6f6) +6.39/10 2} Kc5 {(d4c5 f2f4 a6a5 h5f7 c5b4
a1e1 b4b5 f4f5) -3.77/6 2} 100. Bf7 {(h5f7 c6h6 h2g1 h6d6 a1c1 d6d4 c1g5
c5b6 g5h6) +6.48/9 2} Nd6 {(c4d6 a1e5 c5b4 f7d5 c6b6 f2f4 d6c4 e5d4)
-3.85/7 1} 101. Qe5+ {(a1e5 c5b4 f7d5 c6b6 h2g1 b4a4 e5f4 a4b5 f4h6)
+6.86/9 2} Kb4 {(c5b4 f7d5 c6b6 f2f4 a6a5 e5d4 b4b5 h2g3) -3.84/6 1} 102.
Bd5 {(f7d5 c6b6 h2g1 b4b5 e5e6 a6a5 e6d7 b5c5 d7e6) +6.85/9 2} Rb6 {(c6b6
f2f4 a6a5 f4f5 a5a4 e5d4 b4b5 f5f6) -3.89/7 2} 103. Qe1+ {(e5e1 b4c5 e1e3
c5b5 h2g1 a6a5 e3e2 b5a4 e2e6) +6.75/9 2} Kb5 {(b4b5 f2f4 a6a5 d5e6 d6b7
e1e5 b7c5 f4f5) -3.82/6 1} 104. Kg1 {(h2g1 a6a5 e1e2 b5b4 e2d2 b4b5 d2e2
b5a4 e2e6) +6.75/9 2} a5 {(a6a5 d5e6 b5a6 e1f1 a6b7 f2f4 a5a4 f4f5) -3.81/7
1} 105. Qe2+ {(e1e2 b5a4 e2c2 a4b5 c2e2 b5a4 e2c2 a4b5 c2h7) +6.84/9 2} Kb4
{(b5b4 d5e6 b4c5 e2e3 c5b5 e6d7 b5a6 e3d3 a6b7 f2f4) -3.74/6 1} 106. Qd2+
{(e2d2 b4b5 d2d3 b5c5 d3e3 c5b5 e3e2 b5a4 e2e6) +6.75/9 2} Kb5 {(b4b5 d5e6
b5a6 d2d3 a6b7 f2f4 a5a4 f4f5) -3.81/6 1} 107. Qd3+ {(d2d3 b5c5 d3e3 c5b5
e3e2 b5a4 e2c2 a4b5 c2h7) +6.84/9 2} Kc5 {(b5c5 d5b3 b6b5 f2f4 b5b6 d3e3
c5b5 g1f2) -3.74/6 1} 108. Qd1 {(d3e3 c5b5 e3d3 b5c5 d3e3 c5b5 e3e2 b5a4
e2e6) +6.75/9 2} a4 {(a5a4 d5e6 d6b7 d1d5 c5b4 f2f4 b6b5 d5e4) -3.43/7 1}
109. Be6 {(d5e6 c5b5 d1a1 d6c4 a1b1 b5c5 b1f5 c5b4 f5f7) +6.69/9 2} Nb5
{(d6b5 d1d5 c5b4 d5e4 b4c5 e4e3 c5c6 e6d5 c6c7 f2f4) -3.58/6 1} 110. Qd5+
{(d1d5 c5b4 d5e4 b4c5 e4c4 c5d6 e6f5 a4a3 c4f7 b5d4) +6.55/10 2} Kb4 {(c5b4
d5e4 b4c5 e4e3 c5c6 e6d5 c6d5 e3b6 b5d4 f2f4) -5.23/6 1} 111. Qd2+ {(d5d2
b4c5 d2e3 c5c6 e6d5 c6d5 e3b6 b5d6 b6d8) +7.62/9 2} Kc5 {(b4c5 d2e3 c5c6
e6d5 c6d5 e3b6 b5c3 b6a5 d5d4 f2f4) -5.28/6 1} 112. Qe3+ {(d2e3 c5c6 e6d5
c6d5 e3b6 b5d4 b6a5 d5c4 a5a4 c4c3) +7.43/10 2} Kc6 {(c5c6 e6d5 c6d5 e3b6
d5c4 b6c6 c4b4 c6e4 b4b3 f2f4) -5.63/6 1} 113. Bd5+ {(e6d5 c6d5 e3b6 b5d4
b6a5 d5e6 a5b6 e6d5 b6h6) +7.64/9 2} Kxd5 {(c6d5 e3b6 d5c4 b6c6 c4b4 c6e4
b4b3 e4d3 b3b4 f2f4) -5.53/6 1} 114. Qxb6 {(e3b6 d5c4 b6e6 c4c3 e6e3 c3c4
e3e2 c4b4 e2e8 b5d4) +7.47/10 2} Kc4 {(d5c4 f2f4 a4a3 f4f5 b5d4 b6a5 d4b5
f5f6) -5.68/8 2} 115. Qe6+ {(b6e6 c4b4 e6e4 b4b3 e4b1 b3c4 b1a2 c4b4 a2b2
b4c4 b2f6) +7.85/11 2} Kb4 {(c4b4 f2f4 b5d4 e6d6 b4c4 g1f2 d4f5 d6a3)
-5.58/6 1} 116. Qe4+ {(e6e7 b4b3 e7f7 b3c3 f7f3 c3c4 f3c6 c4b4 c6f6 b4b3)
+7.49/10 2} Kb3 {(b4b3 f2f4 a4a3 f4f5 a3a2 e4d5 b3a3 d5c5) -5.54/6 1} 117.
Qb1+ {(e4b1 b3c4 b1a2 c4b4 a2b2 b4c4 b2e2 c4b4 e2e8 b5d4) +7.47/10 2} Kc4
{(b3c4 b1a2 c4b4 f2f4 a4a3 a2d5 b5c3 d5d4 b4b3 f4f5) -5.60/7 1} 118. Qa2+
{(b1a2 c4b4 a2b2 b4a5 b2e2 a5b6 e2e5 b6a6 e5e2 a4a3 e2e8) +7.82/11 2} Kb4
{(c4b4 f2f4 a4a3 a2d5 b5c3 d5d4 b4b3 f4f5) -5.60/6 1} 119. Qb1+ {(a2b1 b4c4
b1a2 c4b4 a2b2 b4c4 b2e2 c4b4 e2b2 b4c4 b2f6) +7.85/11 2} Kc4 {(b4c4)
0.00/11 1} 120. Qa2+ {(b1a2 c4b4 a2b2 b4a5 b2e2 a5b6 e2e5 b6a6 e5e2 a4a3
e2e8) +7.82/11 2} Kb4 {(c4b4) 0.00/12 1} 121. Qb2+ {(a2b2 b4a5 b2d2 a5a6
d2c2 a4a3 c2c6 a6a5 c6a8 a5b6 a8e8) +7.82/11 2} Kc4 {(b4c4 f2f4 a4a3 b2e2
c4b4 f4f5 b5d4 e2e7 b4c4 f5f6) -5.58/7 1} 122. Qe2+ {(b2e2 c4b4 e2b2 b4c4
b2e2 c4c5 e2e5 c5c4 e5e6 c4c3 e6e8) +7.74/11 2} Kb4 {(c4b4 f2f4 a4a3 f4f5
b5d4 e2e7 b4c4 f5f6) -5.58/6 1} 123. Qe7+ {(e2e7 b4b3 e7f7 b3c3 f7f3 c3c4
f3c6 c4b4 c6f6 b4b3) +7.49/10 2} Kb3 {(b4b3 f2f4 a4a3 f4f5 a3a2 e7f7 b3a3
f7f8) -5.54/6 1} 124. Qf7+ {(e7e6 b3c3 e6c8 c3b3 c8g8 b3c3 g8c8 c3b4 c8e8
b5d4) +7.47/10 2} Kb4 {(b3b4 f2f4 a4a3 f7d5 b5c3 d5d4 b4b3 f4f5) -5.60/6 1}
125. Qe7+ {(f7f4 b4b3 f4f7 b3c3 f7f3 c3c4 f3c6 c4b4 c6f6 b4b3) +7.49/10 2}
Kb3 {(b4b3) 0.00/10 1} 126. Qg5 {(e7e6 b3c3 e6c8 c3b3 c8g8 b3c3 g8c8 c3b4
c8e8 b5d4) +7.47/10 2} Nc3 {(b5c3 g5g8 b3b4 f2f4 a4a3 g8f8 b4b3 f8f7 b3c2
f7g6 c2d2 f4f5) -5.50/8 1} 127. Qg8+ {(g5g8 b3c2 g8h7 c2b2 h7e7 b2b1 e7f6
b1b2 f6h6 b2b1) +7.11/10 2} Kb4 {(b3b4 f2f4 a4a3 g8f8 b4b3 f8f7 b3c2 f7h7
c2d2 f4f5) -5.50/6 1} 128. Qb8+ {(g8b8 b4c4 b8g8 c4b5 g8e8 b5c4 e8g8 c4b4
g8f7 b4b5) +7.42/10 2} Kc4 {(b4c4 f2f4 a4a3 b8c7 c4b4 c7d6 b4b3 d6e6 b3b4
f4f5) -5.50/6 1} 129. Kg2 {(b8g8 c4d3 g8f7 d3d2 f7f6 d2c2 f6g6 c2b2 g6f6
b2b3) +7.16/10 2} a3 {(a4a3 b8g8 c4b4 g8f8 b4b3 f8f7 b3b2 f2f4 a3a2 f7b7)
-5.36/7 1} 130. f4 {(b8g8 c4d3 g8g6 d3c4 g6g8 c4b4 g8f8 b4a4 f8e8 a4b3)
+6.96/10 2} a2 {(a3a2 b8a8 c4d3 f4f5 d3d4 f5f6 d4e5) -5.42/7 1} 131. Qb2
{(b8b2 c4d4 f4f5 d4d3 f5f6 c3d1 b2a2 d1e3 g2g1 d3c3) +7.18/10 2} Kd3 {(c4d3
f4f5 c3e4 b2a2 d3d4 a2a1 d4c4 f5f6 c4d5) -7.42/8 1} 132. f5 {(f4f5 c3d5
b2a2 d5e3 g2g1 d3e4 a2e6 e4f4 f5f6 f4f3) +7.78/10 2} Ne4 {(c3e4 b2a2 e4c3
a2a6 d3d4 f5f6 c3d5 f6f7 d5e3) -7.70/8 1} 133. Qxa2 {(b2a2 e4c3 a2b3 d3d2
f5f6 c3e2 f6f7 e2f4 g2g1 f4g6) +8.93/10 2} Nc3 {(e4c3 a2a6 d3d4 f5f6 c3d5
f6f7 d5b4 a6b5) -7.75/7 1} 134. Qa6+ {(a2a6 d3c2 f5f6 c3d1 g2g1 d1e3 a6e2
c2c1 f6f7 c1b1) +15.21/10 2} Ke4 {(d3e4 f5f6 c3d5 f6f7 d5f4 g2g3 f4e6 a6e6)
-10.85/6 1} 135. f6 {(f5f6 c3d1 f6f7 d1e3 g2g1 e4f4 a6f6 f4g4 f6g6 g4f3)
+15.84/10 2} Ke3 {(e4e3 f6f7 c3e2 f7f8q e2d4 f8e7 e3d2 g2f2) -15.60/7 1}
136. f7 {(f6f7 c3e2 f7f8q e2f4 g2h1 f4d5 a6h6 e3d3 f8e8 d5c3) +16.68/10 2}
Nd5 {(c3d5 f7f8q d5f4 g2g3 f4e2 g3g4 e3d4 a6e2 d4d5) -18.80/7 1} 137. f8=Q
{(f7f8q e3d4 a6d6 d4c4 f8f7 c4c3 d6d5 c3c2 d5e6 c2b1) +19.14/10 2} Nf4+
{(d5f4 g2f1 f4d5 f8f2 e3e4 a6e2 d5e3 e2e3 e4d5 f2d2 d5c6 f1e2) -19.21/6 1}
138. Kf1 {(g2f1 e3f3 a6a4 f3g3 a4f4 g3h3 f8h6 c2b1 h3g2) +M4/10 2} Nd3
{(f4d3 f8e7 e3d4 e7d6 d4c3 a6d3 c3b2 d6a3) -M4/6 1} 139. Qc4 {(a6c4 e3d2
f8d8 d2d1 d8d3 e3f4 d3g3) +M3/9 2} Kd2 {(e3d2 f8d8 d2e3 d8d3) -M2/5} 140.
Qd8 {(f8d8 d2d1 d8d3 d2d1) +M2/9 2} Ke3 {(d2e3 d8d3) -M1/3} 141. Qdxd3#
{(d8d3 e3f4) +M1/9 2} 1-0
[/pgn]
Keeping in the spirit of originality Bricabrac keeps two full 64 bit hash signatures. Given that on todays hardware with multithreading it is possible to search many tens of billions of positions at long time controls the added accuracy may be a good thing. It however did slow the node rate more than anticipated.
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R N B Q K B N R
Hash Key = 7f1909a61f366a6b
Hash Sig = 18ad3ae65ae07f66
Reps = 1
Enter Command(w):
st 30
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
P P P P P P P P
R N B Q K B N R
Hash Key = 7f1909a61f366a6b
Hash Sig = 18ad3ae65ae07f66
Reps = 1
Enter Command(w):
go
Begin Depth 1
1 36 0 40 g1f3
Begin Depth 2
2 0 0 466 g1f3 g8f6
Begin Depth 3
3 35 0 2808 g1f3 g8f6 d2d4
Begin Depth 4
4 0 0 20688 g1f3 g8f6 d2d4 d7d5
Begin Depth 5
5 33 1 109321 g1f3 g8f6 d2d4 d7d5 b1c3
Begin Depth 6
6 0 3 257005 g1f3 g8f6 d2d4 d7d5 b1c3 b8c6
Begin Depth 7
7 28 11 958266 g1f3 g8f6 d2d4 d7d5 b1c3 b8c6 c1e3
Begin Depth 8
8 8 28 2541359 b1c3 g8f6 e2e4 b8c6 g1f3 e7e5 d2d4 f8d6
Begin Depth 9
9 29 96 8671981 e2e4 b8c6 g1f3 g8f6 b1c3 d7d5 e4d5 f6d5 d2d4
Begin Depth 10
10 13 372 34357285 e2e4 e7e5 g1f3 b8c6 f1d3 g8f6 e1g1 d7d5 b1c3 c8e6
Begin Depth 11
11 31 1593 144464906 e2e4 b8c6 d2d4 e7e6 b1c3 d7d5 e4e5 f8b4 g1e2 g8e7 c1e3
Begin Depth 12
e2e4 17
g1f3 5
d2d4 5
b1c3 5
e2e3 0
c2c4 15
g2g3 13
a2a3 7
d2d3 2
c2c3 1
h2h3 1
a2a4 -1
b2b3 -10
b1a3 -11
h2h4 -12
g1h3 -20
f2f4 -24
b2b4 -26
f2f3 -38
g2g4 -48
Move Played: E2E4 Score: 31
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . P . . .
. . . . . . . .
P P P P . P P P
R N B Q K B N R
Hash Key = 62163da122f544ce
Hash Sig = 5b3660c064b0ed8
Reps = 1
ep square = 20
Enter Command(b):
If one looks at the move list e2e4 is scored +17 and yet as played it is scored at +31. That is because the last iteration is not being thrown out if a move searched in an incomplete iteration - margin is > than the move of the previous iteration. In this case it is the same move. I have no idea if this is a good or bad idea. I have read that incomplete iterations are simply thrown away.
There may still be a problem though. Bricabrac is not castling with the black pieces. And is losing games because of it. It used to castle with the black pieces but not currently. So who knows what I did to break that.
Next will be to replace the PESTO evaluation. They were handy for early development and debugging but now it is time to replace them.