More consistent handling of 4.0*x - 3.0*x



OK by me, but while we're at it, I think float(x) should
yield 'float(x) instead of just x, likewise for bfloat(x).

(If we're going to the trouble to make (literal float)*variable
work correctly with lazy evaluation, we should do
the same for float(variable).)

best

Robert Dodier