Each point is a real single-precision floating-point number.
They are generated the same way the CPU/GPU encodes them:
(1 + mantissa) × 2exponent.
Notice how almost everything piles up on the left (near zero).
That is why naïve random generation (rand() / 2³²) is biased.