\frac{1.0 + \left(2.0 - \frac{\frac{2.0}{t}}{1.0 + \frac{1.0}{t}}\right) \cdot \left(2.0 - \frac{\frac{2.0}{t}}{1.0 + \frac{1.0}{t}}\right)}{2.0 + \left(2.0 - \frac{\frac{2.0}{t}}{1.0 + \frac{1.0}{t}}\right) \cdot \left(2.0 - \frac{\frac{2.0}{t}}{1.0 + \frac{1.0}{t}}\right)}\frac{1.0 + \left(2.0 - \frac{2.0}{1.0 \cdot t + 1.0}\right) \cdot \left(2.0 - \frac{2.0}{1.0 \cdot t + 1.0}\right)}{\left(2.0 - \frac{2.0}{1.0 \cdot t + 1.0}\right) \cdot \left(2.0 - \frac{2.0}{1.0 \cdot t + 1.0}\right) + 2.0}double f(double t) {
double r1824564 = 1.0;
double r1824565 = 2.0;
double r1824566 = t;
double r1824567 = r1824565 / r1824566;
double r1824568 = r1824564 / r1824566;
double r1824569 = r1824564 + r1824568;
double r1824570 = r1824567 / r1824569;
double r1824571 = r1824565 - r1824570;
double r1824572 = r1824571 * r1824571;
double r1824573 = r1824564 + r1824572;
double r1824574 = r1824565 + r1824572;
double r1824575 = r1824573 / r1824574;
return r1824575;
}
double f(double t) {
double r1824576 = 1.0;
double r1824577 = 2.0;
double r1824578 = t;
double r1824579 = r1824576 * r1824578;
double r1824580 = r1824579 + r1824576;
double r1824581 = r1824577 / r1824580;
double r1824582 = r1824577 - r1824581;
double r1824583 = r1824582 * r1824582;
double r1824584 = r1824576 + r1824583;
double r1824585 = r1824583 + r1824577;
double r1824586 = r1824584 / r1824585;
return r1824586;
}



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