Except when they appear in the condition operand of a
logical `and' and `or' operators are simplified as follows:
a = b && c becomes
T1 = (bool)b; if (T1) T1 = (bool)c; a = T1;
T1 in this example cannot be an expression temporary,
because it has two different assignments.