# \$MachineEpsilon

gives the difference between 1.0 and the next-nearest number representable as a machine-precision number.

# Details • \$MachineEpsilon is typically 2-n+1, where n is the number of binary bits used in the internal representation of machineprecision floatingpoint numbers.
• \$MachineEpsilon measures the granularity of machineprecision numbers.

# Examples

open allclose all

## Basic Examples(1)

The result of adding 1 to \$MachineEpsilon is distinct from 1:

Adding a fraction of \$MachineEpsilon effectively results in rounding:

## Scope(2)

The result of subtracting \$MachineEpsilon/2 from 1 is distinct from 1:

Find machine epsilon algorithmically:

## Applications(2)

Get the nearest machine number greater than another machine number: and are distinct: and differ only in the least significant bit:

Horner's method for evaluating a polynomial with a running error bound:

A polynomial with large coefficients:

Evaluate at x=10; the error is large, but within the bound:

## Properties & Relations(3)

\$MachineEpsilon is a power of 2:

\$MachineEpsilon is twice 10-MachinePrecision:

This is effectively where is the number of bits of machine precision:

1 and 1+\$MachineEpsilon differ only in the least significant bit:

## Neat Examples(1)

The resolution of machine numbers is twice as fine just below 1 versus just above 1: