\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 r54022 = 1.0;
double r54023 = 2.0;
double r54024 = t;
double r54025 = r54023 / r54024;
double r54026 = r54022 / r54024;
double r54027 = r54022 + r54026;
double r54028 = r54025 / r54027;
double r54029 = r54023 - r54028;
double r54030 = r54029 * r54029;
double r54031 = r54022 + r54030;
double r54032 = r54023 + r54030;
double r54033 = r54031 / r54032;
return r54033;
}
double f(double t) {
double r54034 = 1.0;
double r54035 = 2.0;
double r54036 = t;
double r54037 = r54035 / r54036;
double r54038 = r54034 / r54036;
double r54039 = r54034 + r54038;
double r54040 = r54037 / r54039;
double r54041 = r54035 - r54040;
double r54042 = r54041 * r54041;
double r54043 = r54034 + r54042;
double r54044 = r54035 + r54042;
double r54045 = r54043 / r54044;
return r54045;
}



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