\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 r50506 = 1.0;
double r50507 = 2.0;
double r50508 = t;
double r50509 = r50507 / r50508;
double r50510 = r50506 / r50508;
double r50511 = r50506 + r50510;
double r50512 = r50509 / r50511;
double r50513 = r50507 - r50512;
double r50514 = r50513 * r50513;
double r50515 = r50506 + r50514;
double r50516 = r50507 + r50514;
double r50517 = r50515 / r50516;
return r50517;
}
double f(double t) {
double r50518 = 1.0;
double r50519 = 2.0;
double r50520 = t;
double r50521 = r50519 / r50520;
double r50522 = r50518 / r50520;
double r50523 = r50518 + r50522;
double r50524 = r50521 / r50523;
double r50525 = r50519 - r50524;
double r50526 = r50525 * r50525;
double r50527 = r50518 + r50526;
double r50528 = r50519 + r50526;
double r50529 = r50527 / r50528;
return r50529;
}



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