\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 r47270 = 1.0;
double r47271 = 2.0;
double r47272 = t;
double r47273 = r47271 / r47272;
double r47274 = r47270 / r47272;
double r47275 = r47270 + r47274;
double r47276 = r47273 / r47275;
double r47277 = r47271 - r47276;
double r47278 = r47277 * r47277;
double r47279 = r47270 + r47278;
double r47280 = r47271 + r47278;
double r47281 = r47279 / r47280;
return r47281;
}
double f(double t) {
double r47282 = 1.0;
double r47283 = 2.0;
double r47284 = t;
double r47285 = r47283 / r47284;
double r47286 = r47282 / r47284;
double r47287 = r47282 + r47286;
double r47288 = r47285 / r47287;
double r47289 = r47283 - r47288;
double r47290 = r47289 * r47289;
double r47291 = r47282 + r47290;
double r47292 = r47283 + r47290;
double r47293 = r47291 / r47292;
return r47293;
}



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