01
break_infinity.js: best for most JavaScript incrementals that pass 1e308
Platform: JavaScript and TypeScript · npm v2.2.0 · MIT licence
Patashu's break_infinity.js stores a number as a mantissa and an exponent, so it can represent values "bigger in magnitude than 1e308, up to as much as 1e9e15", in the README's words, while prioritising speed over accuracy. It exports one Decimal class with a decimal.js-compatible API: new Decimal('1e500'), then chained calls like x.times(y).plus(z).floor(). Install it with npm install break_infinity.js, or load it from jsDelivr with a script tag.
Its best-known user is Antimatter Dimensions, whose current source still lists break_infinity.js as a dependency; the README reports AD's script time improved 4.5x after swapping from decimal.js. The README's own benchmarks show it 2.5x to 442x faster than decimal.js depending on the operation, with the biggest gains on pow, exp and log10, which are exactly what idle formulas use.
Watch out for: JavaScript operators do not work on Decimals: a + b will not add two Decimals correctly, so every formula must use .add, .mul and friends. Comparisons need .gte and .lt, not >= and <.