Source: https://wwwmathlabo.univ-poitiers.fr/~broussou/formtrig.pdf