I am reading the Handbook of Floating Point Arithmetic1 these days and I am shocked by the impacts of rounding error. Here is a short summary of reading.

In this book a recurrence is used to illustrate the strange behaviors:

Given initial conditions, $u_n$ can be computed iteratively. However, as it is shown by the book, the result is not correct.

In fact, by solving this recurrence analytically we can get:

( This paper2 shows how to solve this recurrence. In general, it substitutes $u_n = y_{n+1}/y_n$ into the original equation and transforms it into a linear recurrence:

which can be solved easily by computing the roots of its characteristic polynomial. )

According to the chosen initial conditions($u_0 = 2$ and $u_1 = -4$), The coefficient $\alpha$ should be zero but it was not due to the rounding error. Even this coefficient is really small(see the paper2), we get the incorrect answer because the “eigenvalue” $100$ dominates the result.