Source: https://perso.esiee.fr/~bercherj/New/polys/poly_alea.pdf