Adjust stand pat in qsearch on pv nodes
Instead of immediately returning a fail high do this only at non-pv nodes, for
pv nodes adjust bestValue to value between alpha and beta and continue
searching. Idea is to do it the same way as it's done in search where we don't
return positive beta cutoffs after ttHits / zero window search at PvNodes and
instead fully search lines.
Passed STC:
https://tests.stockfishchess.org/tests/view/65739b0af09ce1261f122f33
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 189216 W: 48142 L: 47598 D: 93476
Ptnml(0-2): 584, 22463, 48051, 22845, 665
Passed LTC:
https://tests.stockfishchess.org/tests/view/657701214d789acf40aac194
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 82506 W: 20689 L: 20269 D: 41548
Ptnml(0-2): 56, 9236, 22268, 9618, 75
Two issues had to be resolved:
- in rare cases it set alpha to the same value as beta and thus broke some asserts;
- messed up with returning tb win values.
Fix passed non-regression LTC vs this patch:
https://tests.stockfishchess.org/tests/view/6578113b4d789acf40aad544
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 277308 W: 68839 L: 68880 D: 139589
Ptnml(0-2): 167, 31580, 75212, 31517, 178
closes https://github.com/official-stockfish/Stockfish/pull/4922
Bench: 1069503
Co-Authored-By: Muzhen Gaming <61100393+XInTheDark@users.noreply.github.com>
Co-Authored-By: Shahin M. Shahin <41402573+peregrineshahin@users.noreply.github.com>
Co-Authored-By: fffelix-huang <72808219+fffelix-huang@users.noreply.github.com>