\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 r51194 = 1.0;
double r51195 = 2.0;
double r51196 = t;
double r51197 = r51195 / r51196;
double r51198 = r51194 / r51196;
double r51199 = r51194 + r51198;
double r51200 = r51197 / r51199;
double r51201 = r51195 - r51200;
double r51202 = r51201 * r51201;
double r51203 = r51194 + r51202;
double r51204 = r51195 + r51202;
double r51205 = r51203 / r51204;
return r51205;
}
double f(double t) {
double r51206 = 1.0;
double r51207 = 2.0;
double r51208 = t;
double r51209 = r51207 / r51208;
double r51210 = r51206 / r51208;
double r51211 = r51206 + r51210;
double r51212 = r51209 / r51211;
double r51213 = r51207 - r51212;
double r51214 = r51213 * r51213;
double r51215 = r51206 + r51214;
double r51216 = r51207 + r51214;
double r51217 = r51215 / r51216;
return r51217;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020049 +o rules:numerics
(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))))))))