The "log" function in line 158 should be the natural logarithm, but it is the logarithm to the base of 10 (as defined in the math_lib package). Use "ln" from that package, so that line 158 reads like: rnd_out.rnd := rnd_out.y + rnd_out.z y sqrt(-2.0 * ln(z)/z);
(additional comment: "log" from ieee.math_real is the natural logarithm.)
That has been fixed.