The output of this branch vs. (master when run with '-x') looks reasaonble.  However, because this tool randomly generates functions when it's run, I couldn't use exact output equality as the test for correctness.  I believe this commit fixes Issue 41.