Hmmm. Yeah, I am pretty sure IEEE 754 floating point numbers have a special additions and a bit or so specify denormalized values. So the for numbers between 0 and epsolin where episolin is the standard difference between two . Mostly to prevent rounding to zero during division. Although, I think the suggestion is good, It might take some coaxing to do. Though, frankly I have always thought that mIRC numbers should actually map onto C/C++ numbering directly, and dynamicly cast like LISP. But, then again, making it OO might be nice too. Yeah, denormalize values are a pretty good idea.