Source: http://tfel.sourceforge.net/documents/mfront/mfront.pdf