Source: https://ljk.imag.fr/membres/Bernard.Ycart/mel/fp/fp.pdf