let's call it what it is
Exercise 5.34 - analyzing object code of iterative factorial to find tail-recursion
Exercise 5.36 - operand order of evaluation in compiler
some thoughts on efficiency
Exercise 5.37 - how to make (preserving) unsmart, and an example of how many extra push/pops this generates