On 13 September 2015 at 15:23, wrote: > the problem is v += d propagates the whole expression > to double. so we somehow need to convert v to double, > do the then convert back but return the double > result. > the type of E1 op=E2 is the same as the type of E1 = E1 op E2, since the expressions are "equivalent" in the sense of language definitions, and has the value (and type) of E1 after the assignment, so the final type is vlong not double (so the type also isn't right).