https://www.ericsbinaryworld.com/2017/06/11/butterfly-macros/
Butterfly Macros