Not only does the form
$$x_{n+1}=x_n-\frac{f(x_n)}{f(x_n)-f(x_{n-1})}(x_n-x_{n-1})$$
provide more numerical stability, it can also be implemented with fewer variables (and hence less updates per iterations) since it can be rewritten as
\begin{cases}x_{n+1}=x_n+\Delta x_n\\\Delta x_n=\dfrac{f_n}{f_{n-1}-f_n}\Delta x_{n-1}\\f_n=f(x_n)\end{cases}
which requires only one value of $x$, one value of $\Delta x$, and two values of $f$ per iteration:
Initialize $(A,B,C,D)=(x_1,\Delta x_1,f_1,f_0)=(x_1,x_1-x_0,f(x_1),f(x_0))$$(A,B,C,D)=(x_1,\Delta x_0,f_1,f_0)=(x_1,x_1-x_0,f(x_1),f(x_0))$.
Update $B:=\dfrac{BC}{D-C}$, then $A:=A+B$, then $D:=C$, then $C:=f(A)$.
Repeat 2. until desired accuracy.