Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl

Rusty-rival 1.0.61 - new version chess engine

 

Rusty Rival UCI (Universal Chess Interface) chess engine written in Rust.
Author:Chris Moreton Rating Chess Engines Diary CEDR=3235

The engine can be about 50% faster if compiled on the machine on which it will be run in order to take advantage of cpu-specific instructions. 

Rusty-rival what's new?

Two stacked changes from the September 2026 search-efficiency audit (Notion: Search Efficiency Audit — September 2026; Linear NET-1154), merged as PR #86.

Bug fix
NET-1187 — the singular-extension verification search no longer searches the move it excludes. The excluded TT move was filtered from the generated move lists but not from the hash-move path, and the TT probe inside the verification returns the same entry, so every verification searched the excluded move first (98 of 98 at depth 18 on the reference position). The extension had therefore never fired. The hash-move path is now guarded, and a verification that leaves no legal alternative reports a fail-low instead of a mate or draw score. Three regression tests, all failing on the previous code.
Strength
NET-1193 — working singular extension with peer-aligned gates. Minimum depth 8 (was 13), TT depth within 3 of the current depth (was 6), Exact or Lower bound (was Lower only), verification window anchored on the ply-adjusted TT score minus 2·depth (was alpha minus 6·depth), verification at half depth (was depth − 5), non-mate TT score, and the same extension-chain guard the other extensions use. One ply of extension.
SPRT vs v1.0.60, 1+0.01, 1 thread, Hash 128, paired 8moves_v3 openings, bounds [0, +10], α=β=0.05: H1 accepted at 1,295 games, 524-430-341, +25.3 ± 16.3 Elo, LOS 99.9%.
Fixed-depth cost is large and expected: bench (depth 12) 1,619,564 → 3,701,048 nodes with 1,164 singular extensions where there were none; verification accounts for about a third of that, the extended subtrees for the rest.
Limitations: measured at 1+0.01 only; no longer time control test yet. Singular multicut and negative extensions, which peers use to recover verification work, are not yet implemented.
Cumulative since v1.0.59
v1.0.60 added the history learning-rate change (+14.8 ± 11.2 Elo at 1+0.01). The two SPRT results are against successive parents and are not additive in a strict sense; a Stockfish anchor ladder for the release series is still to be run.

Bench signature
bench (16 positions, depth 12): 3,701,048 nodes, 1 thread.



Comments