In most cases, common sub-expressions are evaluated only once. Thus the
following code could not be improved by the prior assignment TEMP=X*Y:
Common sub-expressions may sometimes be evaluated more than once in character
expressions and in arithmetic expressions contained in logical IF statements.