I think it's a floating point precision issue..  0.001 seems to work for random floats returned by `rng.uniform`. Would that be acceptable?