Source: https://people.eecs.berkeley.edu/~alanmi/publications/other/iwls16_trans.pdf