Source: https://dslab.epfl.ch/pubs/vigor.pdf