\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{\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)}double f(double t) {
double r43991 = 1.0;
double r43992 = 2.0;
double r43993 = t;
double r43994 = r43992 / r43993;
double r43995 = r43991 / r43993;
double r43996 = r43991 + r43995;
double r43997 = r43994 / r43996;
double r43998 = r43992 - r43997;
double r43999 = r43998 * r43998;
double r44000 = r43991 + r43999;
double r44001 = r43992 + r43999;
double r44002 = r44000 / r44001;
return r44002;
}
double f(double t) {
double r44003 = 1.0;
double r44004 = 2.0;
double r44005 = t;
double r44006 = r44004 / r44005;
double r44007 = r44003 / r44005;
double r44008 = r44003 + r44007;
double r44009 = r44006 / r44008;
double r44010 = r44004 - r44009;
double r44011 = r44010 * r44010;
double r44012 = r44003 + r44011;
double r44013 = r44004 + r44011;
double r44014 = r44012 / r44013;
return r44014;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020062
(FPCore (t)
:name "Kahan p13 Example 2"
:precision binary64
(/ (+ 1 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))) (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t))))))))