Generate temp name for variables
Refactoring: extracted method useExpr
Refactoring: added UnusedTempVarRemover