Source: https://h-suwa.github.io/percom2019/papers/p97-haubrick.pdf