Well, its hyperbolic capabilities are certainly no match for yours, but..
:-)
it only calculate to the 6th decimal place like 0.000001
I cannot remember the exact reason for this, other than there were complicated issues many years ago relating to floating point precision, possibly due to the Visual C++ compiler version that was being used. Handling floating point values correctly can be tricky eg. see
here and
here. mIRC originally used floats, which had half the precision of doubles - so a maximum of seven digits. The seventh digit was eventually discarded due to rounding issues, noise, etc.
mIRC moved to using doubles many years ago, and enabled options in newer versions of Visual C++, such as the precise floating point model, to resolve a number of issues, so it should be possible to change the routine that chops floating point values to use fourteen instead of six digits. However, this routine is used in many places in the scripting language to try to ensure floating point consistency, so it will apply to all calculations and would not be optional. I will change it for the next beta and we can see how it works out but we will have to keep an eye out for any side-effects.