\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\frac{1 + \left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right)}{\left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 2}double f(double t) {
double r1654771 = 1.0;
double r1654772 = 2.0;
double r1654773 = t;
double r1654774 = r1654772 / r1654773;
double r1654775 = r1654771 / r1654773;
double r1654776 = r1654771 + r1654775;
double r1654777 = r1654774 / r1654776;
double r1654778 = r1654772 - r1654777;
double r1654779 = r1654778 * r1654778;
double r1654780 = r1654771 + r1654779;
double r1654781 = r1654772 + r1654779;
double r1654782 = r1654780 / r1654781;
return r1654782;
}
double f(double t) {
double r1654783 = 1.0;
double r1654784 = 2.0;
double r1654785 = t;
double r1654786 = r1654783 * r1654785;
double r1654787 = r1654786 + r1654783;
double r1654788 = r1654784 / r1654787;
double r1654789 = r1654784 - r1654788;
double r1654790 = r1654789 * r1654789;
double r1654791 = r1654783 + r1654790;
double r1654792 = r1654790 + r1654784;
double r1654793 = r1654791 / r1654792;
return r1654793;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019170
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 1.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))) (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t))))))))