\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{2}{1 \cdot \left(t + 1\right)}\right) \cdot \left(2 - \frac{2}{1 \cdot \left(t + 1\right)}\right)}{\left(2 - \frac{2}{1 \cdot \left(t + 1\right)}\right) \cdot \left(2 - \frac{2}{1 \cdot \left(t + 1\right)}\right) + 2}double f(double t) {
double r23511 = 1.0;
double r23512 = 2.0;
double r23513 = t;
double r23514 = r23512 / r23513;
double r23515 = r23511 / r23513;
double r23516 = r23511 + r23515;
double r23517 = r23514 / r23516;
double r23518 = r23512 - r23517;
double r23519 = r23518 * r23518;
double r23520 = r23511 + r23519;
double r23521 = r23512 + r23519;
double r23522 = r23520 / r23521;
return r23522;
}
double f(double t) {
double r23523 = 1.0;
double r23524 = 2.0;
double r23525 = t;
double r23526 = 1.0;
double r23527 = r23525 + r23526;
double r23528 = r23523 * r23527;
double r23529 = r23524 / r23528;
double r23530 = r23524 - r23529;
double r23531 = r23530 * r23530;
double r23532 = r23523 + r23531;
double r23533 = r23531 + r23524;
double r23534 = r23532 / r23533;
return r23534;
}



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