Source: https://homepages.laas.fr/matthieu/cours/c-superflu/c-superflu.pdf