Source: https://www.deleze.name/marcel/sec2/ex-corriges/2s/2s-fonctions.pdf