\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 r1224931 = 1.0;
double r1224932 = 2.0;
double r1224933 = t;
double r1224934 = r1224932 / r1224933;
double r1224935 = r1224931 / r1224933;
double r1224936 = r1224931 + r1224935;
double r1224937 = r1224934 / r1224936;
double r1224938 = r1224932 - r1224937;
double r1224939 = r1224938 * r1224938;
double r1224940 = r1224931 + r1224939;
double r1224941 = r1224932 + r1224939;
double r1224942 = r1224940 / r1224941;
return r1224942;
}
double f(double t) {
double r1224943 = 1.0;
double r1224944 = 2.0;
double r1224945 = t;
double r1224946 = r1224943 + r1224945;
double r1224947 = r1224944 / r1224946;
double r1224948 = r1224944 - r1224947;
double r1224949 = r1224948 * r1224948;
double r1224950 = r1224943 + r1224949;
double r1224951 = r1224944 + r1224949;
double r1224952 = r1224950 / r1224951;
return r1224952;
}



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