Source: https://www.dms.umontreal.ca/~giroux/documents/analyseC00.pdf