Source: https://inria.hal.science/hal-00781241/document