See Problems 7.5 and 7.6
exr:csanky-implementation1
exr:csanky-implementation2
