\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 + t \cdot 1}\right) \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right)}{2 + \left(2 - \frac{2}{1 + t \cdot 1}\right) \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right)}double f(double t) {
double r28689 = 1.0;
double r28690 = 2.0;
double r28691 = t;
double r28692 = r28690 / r28691;
double r28693 = r28689 / r28691;
double r28694 = r28689 + r28693;
double r28695 = r28692 / r28694;
double r28696 = r28690 - r28695;
double r28697 = r28696 * r28696;
double r28698 = r28689 + r28697;
double r28699 = r28690 + r28697;
double r28700 = r28698 / r28699;
return r28700;
}
double f(double t) {
double r28701 = 1.0;
double r28702 = 2.0;
double r28703 = t;
double r28704 = r28703 * r28701;
double r28705 = r28701 + r28704;
double r28706 = r28702 / r28705;
double r28707 = r28702 - r28706;
double r28708 = r28707 * r28707;
double r28709 = r28701 + r28708;
double r28710 = r28702 + r28708;
double r28711 = r28709 / r28710;
return r28711;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019199
(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))))))))