Source: https://orbi.uliege.be/bitstream/2268/239145/3/PUL-Emulations30-E2.pdf