Source: https://www.imo.universite-paris-saclay.fr/~freslon/Documents/MEEF/Fonctions/Cours_MEEF_2.pdf