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



Wordfish 4.70 130426 - new version chess engine

 

Wordfish is a free, open-source UCI chess engine implementing cutting-edge search algorithms combined with neural network evaluation. Derived from fundamental chess programming principles, Wordfish analyzes positions through parallelized alpha-beta search enhanced with null-move pruning and late move reductions.

Author: Jorge Ruiz Centelles and the Stockfish developers

Wordfish 4.70 130426 what's new?

Official qsearch TT behaviour was aligned with upstream Stockfish: in the stand-pat cutoff branch of qsearch(), the engine no longer stores value_to_tt(bestValue, ss->ply) in the transposition table. It now stores VALUE_NONE, matching the official upstream correction.

Why the qsearch change matters: this is a search-maintenance correction, not a search redesign. Its purpose is to avoid persisting a stand-pat return value in TT where upstream determined that no stored TT value should be written in that specific branch. In other words, 4.70 brings Wordfish into line with the current official handling of that qsearch corner case.

The default big NNUE net was updated to the official snapshot value: EvalFileDefaultNameBig is now nn-7bf13f9655c8.nnue. The small net entry was not altered.

NNUE feature generation was aligned with the official SFNNv14-era path: Wordfish now carries the official low-level support required for PawnPushOrAttacks, including pawn_single_push_bb(), the corresponding bitboard table, and the related feature-index logic used by the NNUE threat path.

FullThreats dimensionality changed from 60144 to 60720: this is not a cosmetic number bump. It reflects the expanded official feature space required by the aligned threat feature path.

Blocked-pawn handling was extended in the threat path: the release adds the upstream-style pushers treatment for pawns prevented from movement by an opposing pawn directly in front. This extends the feature-generation logic beyond pure attack squares.

Index insertion discipline was modernised: the aligned code uses push_back_if_lt(...) instead of repeated open-coded range checks before insertion. In Wordfish this required one minimal compatibility addition in src/misc.h.

AVX512ICL feature-index writing was added: the official write_indices() path for half_ka_v2_hm is now present, including the required AllSquares vector constant and the AVX512ICL implementation path.

This release was verified in both ordinary and AVX512ICL compile paths: the tree was rebuilt cleanly in a standard x86-64-sse41-popcnt configuration and also in an x86-64-avx512icl configuration, confirming that the newly ported AVX512ICL path is not merely present in source but actually compiles.

Deterministic EXE + UCI identity remains intact: the release base is now Wordfish-4.70-130426, and architecture suffix propagation remains preserved in both the executable filename and the UCI id name.

Wordfish 4.50 190326 vs other engines:

Stockfish dev-2026031821/43-143 games
Stockfish 18 JA22.5/42+342 games
ShashChess 41 GoldDigger22/42+242 games
ShashChess 4121/42+042 games
Brainlearn 3121/42+042 games
Revolution 5.10 09032611.5/23+023 games
DON dev-2026030211/22+022 games
Sky Mini MPV10.5/22-122 games
Artemis 28.4TR PrO9/21-321 games
Sky11/20+220 games
CorChess 2026022710.5/20+120 games
Hlamnick 09032610.5/20+120 games
Revolution 5.0 0303269.5/20-120 games
Reckless 0.10.01.5/3+03 games
Hlamnick 2003261/3-13 games
Clover 9.1 JA1.5/2+12 games
PZChessBot 6.0 JA1.5/2+12 games
Quanticade 3.01.5/2+12 games
Pawnocchio 1.9.21.5/2+12 games
Caissa 1.24 JA1.5/2+12 games
DarkSeid 10.6 SE1.5/2+12 games



Comments