Source: http://www-sop.inria.fr/members/Abdulhalim.Dandoush/papier/M212_S2A_slides.pdf