Source: https://www.microarch.org/micro37/papers/20_Crandall-Minos.pdf