From c72655d58fd8cc41e5a64c2d2fbb351b953aca17 Mon Sep 17 00:00:00 2001 From: Shawn Xu Date: Sun, 9 Nov 2025 01:14:24 -0800 Subject: [PATCH 1/3] stuff bench 11206186 --- src/search.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/search.cpp b/src/search.cpp index 87bedbc8..0e41ac75 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -415,7 +415,27 @@ Value Worker::search( && (tt_data->bound() == Bound::Exact || (tt_data->bound() == Bound::Lower && tt_data->score >= beta) || (tt_data->bound() == Bound::Upper && tt_data->score <= alpha))) { - return tt_data->score; + if (tt_data->move == Move::none()) { + return tt_data->score; + } + + MoveGen movegen{pos}; + + if (!movegen.is_legal(tt_data->move)) { + return tt_data->score; + } + + Position pos_after = pos.move(tt_data->move, m_td.push_psqt_state()); + auto tt_data_after = m_searcher.tt.probe(pos_after, ply); + m_td.pop_psqt_state(); + + if (!tt_data_after) { + return tt_data->score; + } + + if ((tt_data->score >= beta) == (tt_data_after->score <= -beta)) { + return tt_data->score; + } } // Update ttpv From adf59306b2a3f211689d0c2c41dd4426382e1f7c Mon Sep 17 00:00:00 2001 From: Shawn Xu Date: Sun, 9 Nov 2025 01:21:20 -0800 Subject: [PATCH 2/3] take 2 bench 11277044 --- src/search.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/search.cpp b/src/search.cpp index 0e41ac75..4d711c51 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -415,6 +415,10 @@ Value Worker::search( && (tt_data->bound() == Bound::Exact || (tt_data->bound() == Bound::Lower && tt_data->score >= beta) || (tt_data->bound() == Bound::Upper && tt_data->score <= alpha))) { + if (depth <= 7) { + return tt_data->score; + } + if (tt_data->move == Move::none()) { return tt_data->score; } From 33669c8d7141aa08b481dc3d3d80362d6e2c8802 Mon Sep 17 00:00:00 2001 From: Shawn Xu Date: Wed, 12 Nov 2025 00:27:00 -0800 Subject: [PATCH 3/3] la bench 11822779 --- src/search.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index 4d711c51..73396ed1 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -425,20 +425,18 @@ Value Worker::search( MoveGen movegen{pos}; - if (!movegen.is_legal(tt_data->move)) { - return tt_data->score; - } + if (movegen.is_legal(tt_data->move)) { + Position pos_after = pos.move(tt_data->move, m_td.push_psqt_state()); + auto tt_data_after = m_searcher.tt.probe(pos_after, ply); + m_td.pop_psqt_state(); - Position pos_after = pos.move(tt_data->move, m_td.push_psqt_state()); - auto tt_data_after = m_searcher.tt.probe(pos_after, ply); - m_td.pop_psqt_state(); - - if (!tt_data_after) { - return tt_data->score; - } + if (!tt_data_after) { + return tt_data->score; + } - if ((tt_data->score >= beta) == (tt_data_after->score <= -beta)) { - return tt_data->score; + if ((tt_data->score >= beta) == (tt_data_after->score <= -beta)) { + return tt_data->score; + } } }