\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 r49772 = 1.0;
double r49773 = 2.0;
double r49774 = t;
double r49775 = r49773 / r49774;
double r49776 = r49772 / r49774;
double r49777 = r49772 + r49776;
double r49778 = r49775 / r49777;
double r49779 = r49773 - r49778;
double r49780 = r49779 * r49779;
double r49781 = r49772 + r49780;
double r49782 = r49773 + r49780;
double r49783 = r49781 / r49782;
return r49783;
}
double f(double t) {
double r49784 = 1.0;
double r49785 = 2.0;
double r49786 = t;
double r49787 = r49785 / r49786;
double r49788 = r49784 / r49786;
double r49789 = r49784 + r49788;
double r49790 = r49787 / r49789;
double r49791 = r49785 - r49790;
double r49792 = r49791 * r49791;
double r49793 = r49784 + r49792;
double r49794 = r49785 + r49792;
double r49795 = r49793 / r49794;
return r49795;
}



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