Source: https://seal.ics.uci.edu/publications/2016JSS.pdf