Cleanup of "type punning" after reading about undefined behaviour in C.
Also added test case for RNG created during the process, and the
expected output (which should be exact on an IEEE machine unless
-ffast-math optimizations interfere).