Peel off one iteration of the halfka incremental update
Passed STC
https://tests.stockfishchess.org/tests/view/6a8ab17b08c0f6a39c9e79ae
LLR: 2.96 (-2.94,2.94) <0.00,2.00>
Total: 96192 W: 24637 L: 24264 D: 47291
Ptnml(0-2): 136, 9961, 27552, 10288, 159
Passed avx2 STC:
https://tests.stockfishchess.org/tests/view/6a8cd16708c0f6a39c9e7e59
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 61024 W: 15789 L: 15457 D: 29778
Ptnml(0-2): 108, 6534, 16905, 6848, 117
Failed avx512icl STC:
https://tests.stockfishchess.org/tests/view/6a8cd14d08c0f6a39c9e7e57
LLR: -2.96 (-2.94,2.94) <0.00,2.00>
Total: 90368 W: 22968 L: 23088 D: 44312
Ptnml(0-2): 132, 9707, 25587, 9665, 93
Context: https://github.com/official-stockfish/Stockfish/pull/7051#issuecomment-5285531017
Credit to bobbypaper for inspiring the idea. Gated to AVX2 because it seems neutral at best on other architectures.
Locally, despite the avx512icl failure:
Result of 500 runs
base (...kfish.master) = 1907788 +/- 1384
test (./stockfish ) = 1930017 +/- 1426
diff = +22230 +/- 1978
speedup = +0.0117
P(speedup > 0) = 1.0000
closes https://github.com/official-stockfish/Stockfish/pull/7096
No functional change