Normal distribution is not the same as uniform distribution. I edited in a normal distribution sampler in your codepen example.
var a = Math.max(Math.random(), Math.random());
var b = Math.sqrt(Math.random());I came across that one in the other direction, when trying to work out how to make weighted rendezvous hashing work. See https://en.wikipedia.org/wiki/Rendezvous_hashing