I have a general question.
Take for example xoroshiro128**. What is the best way to "provably" increase its quality?
For example, which of these options is expected to work best:
1. Output only the highest 32 bits [speed decreased by 2].
2. Skip every second generated 64bit number (ie update the internal state twice before outputting) [speed decreased by 2].
3. Instantiate and separately initialise two generators, then xadd the output of generator 1 and the reversed output of generator 2 [speed decreased by 2, memory increased by 2].
4. Instantiate two generators. The output of the first is used (with padding/doubling...) to initialise the second generator, whose output is returned to the user [speed decreased by 2, memory increased by 2].
5. other schemes?
I understand you'd probably be better off using a different generator. However sometimes one already has a trusted generator and would like to double check results with something which is definitely better without having to implement anything radically new (a 2x performance hit -- or even higher -- is acceptable to me for such cases, especially if the base generator is already very fast).