Commit
              f4c4ea6b519fbb884dda9ed547b2598dcd700d69
              by peter.peqfixed #737 optimizer bug
The problem was in TempMerger, which remembers the current value of 
variables and inlines temporary variables. It checks that moving
expressions has no unintended side-effects. However the necessary checks
(whether a statement reads a global or calls a function) was cached and
not recomputed when statements changed due to optimizations.
This fix removes the cache, which probably makes this optimization 
slower.
 (commit: f4c4ea6)