\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{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}{2 + \left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}double f(double t) {
double r1882855 = 1.0;
double r1882856 = 2.0;
double r1882857 = t;
double r1882858 = r1882856 / r1882857;
double r1882859 = r1882855 / r1882857;
double r1882860 = r1882855 + r1882859;
double r1882861 = r1882858 / r1882860;
double r1882862 = r1882856 - r1882861;
double r1882863 = r1882862 * r1882862;
double r1882864 = r1882855 + r1882863;
double r1882865 = r1882856 + r1882863;
double r1882866 = r1882864 / r1882865;
return r1882866;
}
double f(double t) {
double r1882867 = 1.0;
double r1882868 = 2.0;
double r1882869 = t;
double r1882870 = r1882867 + r1882869;
double r1882871 = r1882868 / r1882870;
double r1882872 = r1882868 - r1882871;
double r1882873 = r1882872 * r1882872;
double r1882874 = r1882867 + r1882873;
double r1882875 = r1882868 + r1882873;
double r1882876 = r1882874 / r1882875;
return r1882876;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019168
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 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))))))))