https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87744
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Created attachment 57345 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57345&action=edit Use 64-bit integers to do 128-bit arithmetic This patch defines a custom type that implements the necessary 128-bit arithmetic for linear_congruential_engine<uint64_t, ...> without __int128. It's an order of magnitude slower than using __int128 natively on x86_64, but it gives the right results.