this isn't really one of the usual floating point problems. this special trap only occurs in lite-c.
why are number literals int and double in lite-c? this seems to be a bit inconsequent to me. wouldn't it be more user friendly if all numbers were treated as vars?
(but actually, in my opinion vars should be scrapped. they have a lot more disadvantages than advantages.)