That number practically means zero to programming languages.
Decimal numbers stored in smath as fractions.
In each iteration a small decimal part can be leftover.
When they are collected it makes result away from zero.
Putting an eval() to your calculation makes your results even smaller.

Changing exponent threshold to bigger makes your results zero by the way.

Regards