Source: https://www.cmap.polytechnique.fr/~giovangi/gm96b.pdf