\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 r33097 = 1.0;
double r33098 = 2.0;
double r33099 = t;
double r33100 = r33098 / r33099;
double r33101 = r33097 / r33099;
double r33102 = r33097 + r33101;
double r33103 = r33100 / r33102;
double r33104 = r33098 - r33103;
double r33105 = r33104 * r33104;
double r33106 = r33097 + r33105;
double r33107 = r33098 + r33105;
double r33108 = r33106 / r33107;
return r33108;
}
double f(double t) {
double r33109 = 1.0;
double r33110 = 2.0;
double r33111 = t;
double r33112 = r33111 * r33109;
double r33113 = r33109 + r33112;
double r33114 = r33110 / r33113;
double r33115 = r33110 - r33114;
double r33116 = r33115 * r33115;
double r33117 = r33109 + r33116;
double r33118 = r33110 + r33116;
double r33119 = r33117 / r33118;
return r33119;
}



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