A computer can’t hold every number — only a finite grid of them. Machine epsilon is the tiniest gap it can still tell apart from 1: add anything smaller and it rounds away to nothing. This is why 0.1 + 0.2 comes out 0.30000000000000004, and why every numerical method must live WITHIN this grain of precision. It’s the resolution limit of the whole enterprise. Slide down to the grain where addition stops mattering.
Floating-point stores numbers as sign × mantissa × 2^exponent with a FINITE mantissa (52 bits in IEEE-754 double), so representable values form a grid that widens with magnitude. Machine epsilon — 2⁻⁵² ≈ 2.22e−16 for doubles — is the gap between 1 and the next representable number: add anything smaller to 1 and it rounds back to 1. Hence 0.1, 0.2, 0.3 aren’t exact in binary and 0.1+0.2 = 0.30000000000000004. Every method’s accuracy is floored by this: you compare with a tolerance, never ==, and watch for catastrophic cancellation. A fail-loud self-check throws unless the computed ε equals 2⁻⁵². ◆ real numerical methods, node-verified.
ε is relative — the ABSOLUTE gap scales with magnitude, so precision near a billion is coarse, near zero is fine (subnormals aside). This is the tool’s own honest wall: the grain under all the other methods here. The 2⁻⁵² value is exact for IEEE doubles.