После пристального взгляда, оказывается, что это и есть xorshift128 (1 в 1 как на немецкой wikipedia:
https://de.wikipedia.org/wiki/Xorshift#Initialisierung)
Прогнал этот алгоритм через nist -- он проходит все тесты (10 из 10 на длине 1'000'000 бит).
Изредка не проходят тесты NonOverlappingTemplate (они выполняются раз 500 и не проходят около 10-и из них)
В общем, шах и мат. Ни "генератор Петрова", "ни генератор OSCAT" не выдерживают тестов.
xorshift128 тривиально реализуется на ПЛК/ПР (и там и там есть 32bit unsigned int),
capzap, я требую извинений.
Или хотя бы признания, что были неправы.