\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 r33194 = 1.0;
double r33195 = 2.0;
double r33196 = t;
double r33197 = r33195 / r33196;
double r33198 = r33194 / r33196;
double r33199 = r33194 + r33198;
double r33200 = r33197 / r33199;
double r33201 = r33195 - r33200;
double r33202 = r33201 * r33201;
double r33203 = r33194 + r33202;
double r33204 = r33195 + r33202;
double r33205 = r33203 / r33204;
return r33205;
}
double f(double t) {
double r33206 = 1.0;
double r33207 = 2.0;
double r33208 = t;
double r33209 = r33207 / r33208;
double r33210 = r33206 / r33208;
double r33211 = r33206 + r33210;
double r33212 = r33209 / r33211;
double r33213 = r33207 - r33212;
double r33214 = r33213 * r33213;
double r33215 = r33206 + r33214;
double r33216 = r33207 + r33214;
double r33217 = r33215 / r33216;
return r33217;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019194
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 1.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))) (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t))))))))