\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 r39668 = 1.0;
double r39669 = 2.0;
double r39670 = t;
double r39671 = r39669 / r39670;
double r39672 = r39668 / r39670;
double r39673 = r39668 + r39672;
double r39674 = r39671 / r39673;
double r39675 = r39669 - r39674;
double r39676 = r39675 * r39675;
double r39677 = r39668 + r39676;
double r39678 = r39669 + r39676;
double r39679 = r39677 / r39678;
return r39679;
}
double f(double t) {
double r39680 = 1.0;
double r39681 = 2.0;
double r39682 = t;
double r39683 = r39681 / r39682;
double r39684 = r39680 / r39682;
double r39685 = r39680 + r39684;
double r39686 = r39683 / r39685;
double r39687 = r39681 - r39686;
double r39688 = r39687 * r39687;
double r39689 = r39680 + r39688;
double r39690 = r39681 + r39688;
double r39691 = r39689 / r39690;
return r39691;
}



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