\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 \cdot 1}\right) \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right)}{2 + \left(2 - \frac{2}{1 + t \cdot 1}\right) \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right)}double f(double t) {
double r35098 = 1.0;
double r35099 = 2.0;
double r35100 = t;
double r35101 = r35099 / r35100;
double r35102 = r35098 / r35100;
double r35103 = r35098 + r35102;
double r35104 = r35101 / r35103;
double r35105 = r35099 - r35104;
double r35106 = r35105 * r35105;
double r35107 = r35098 + r35106;
double r35108 = r35099 + r35106;
double r35109 = r35107 / r35108;
return r35109;
}
double f(double t) {
double r35110 = 1.0;
double r35111 = 2.0;
double r35112 = t;
double r35113 = r35112 * r35110;
double r35114 = r35110 + r35113;
double r35115 = r35111 / r35114;
double r35116 = r35111 - r35115;
double r35117 = r35116 * r35116;
double r35118 = r35110 + r35117;
double r35119 = r35111 + r35117;
double r35120 = r35118 / r35119;
return r35120;
}



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