Source: https://hal.inria.fr/file/index/docid/895212/filename/hal-00895212.pdf