Initial D Walkthrough/Gameplay PSone HD
Разработчик писал свою математику, а нашёл одинаковый баг в Rust и musl
Shnatsel реализовывал fused multiply-add, операцию a*b+c с одним округлением, и обнаружил, что на субнормальных числах результат округляется не туда. Проверил стандартную библиотеку Rust: f32::mul_add ошибается так же. Проверил std::simd: то же. Проверил fmaf() в musl, libc, на которой собран Alpine: то же самое. Контрпример к первой версии его собственного патча нашла языковая модель, которую он попросил поискать ошибки. Разница в один младший бит, около 15 частей на миллион, и только там, где FMA эмулируется программно: старые Intel без AVX2, Hygon, 32-битный ARM...