Print expressions non-recursively. Use let-bindings for common subexpressions to minimize result string.