Source: https://tecfa.unige.ch/proj/recreasup/rapport/rapport_final_recreasup.pdf