I found that JavaScript performs an exact calculation when numbers are in safe integer range
Number.MIN_SAFE_INTEGER = -9007199254740991 = Math.pow(2, 53) - 1
Number.MAX_SAFE_INTEGER = 9007199254740991 = -(Math.pow(2, 53) - 1)
Is it possible to do calculation beyond this range without rounding off and losing precision?