&gt; Lua uses floating point by default, it can&#x27;t make integer math at all<p>JavaScript does this too.  The fact is that with 64 bit floating point numbers, you can exactly represent every integer from -9007199254740992 to 9007199254740992, which is larger than the range of `int` on most systems anyway.  5+6 resulting in 13 is not an artifact of using floating point numbers.  CPUs or GPUs don&#x27;t randomly lose precision like that.<p>32 bit floating point numbers can exactly represent every integer from -16777216 to 16777216.<p>See also <a href="http:&#x2F;&#x2F;www.lua.org&#x2F;pil&#x2F;2.3.html" rel="nofollow">http:&#x2F;&#x2F;www.lua.org&#x2F;pil&#x2F;2.3.html</a>