\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 r57220 = 1.0;
double r57221 = 2.0;
double r57222 = t;
double r57223 = r57221 / r57222;
double r57224 = r57220 / r57222;
double r57225 = r57220 + r57224;
double r57226 = r57223 / r57225;
double r57227 = r57221 - r57226;
double r57228 = r57227 * r57227;
double r57229 = r57220 + r57228;
double r57230 = r57221 + r57228;
double r57231 = r57229 / r57230;
return r57231;
}
double f(double t) {
double r57232 = 1.0;
double r57233 = 2.0;
double r57234 = t;
double r57235 = r57233 / r57234;
double r57236 = r57232 / r57234;
double r57237 = r57232 + r57236;
double r57238 = r57235 / r57237;
double r57239 = r57233 - r57238;
double r57240 = r57239 * r57239;
double r57241 = r57232 + r57240;
double r57242 = r57233 + r57240;
double r57243 = r57241 / r57242;
return r57243;
}



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