\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 r61105 = 1.0;
double r61106 = 2.0;
double r61107 = t;
double r61108 = r61106 / r61107;
double r61109 = r61105 / r61107;
double r61110 = r61105 + r61109;
double r61111 = r61108 / r61110;
double r61112 = r61106 - r61111;
double r61113 = r61112 * r61112;
double r61114 = r61105 + r61113;
double r61115 = r61106 + r61113;
double r61116 = r61114 / r61115;
return r61116;
}
double f(double t) {
double r61117 = 1.0;
double r61118 = 2.0;
double r61119 = t;
double r61120 = r61118 / r61119;
double r61121 = r61117 / r61119;
double r61122 = r61117 + r61121;
double r61123 = r61120 / r61122;
double r61124 = r61118 - r61123;
double r61125 = r61124 * r61124;
double r61126 = r61117 + r61125;
double r61127 = r61118 + r61125;
double r61128 = r61126 / r61127;
return r61128;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019353 +o rules:numerics
(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))))))))