uint64_t lemur64(void) {
static uint128_t s =
(uint128_t)426679527491843471ull << 64 | 2131259787901769494ull;
return (s *= 15750249268501108917ull) >> 64;
}
Passes bigcrush and PractRand and it won't ever cause your system to hang on boot.