1 - \frac{1}{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}^{3} - {\left(\frac{1}{2 + {\left(2 - \frac{2}{1 + 1 \cdot t}\right)}^{2}}\right)}^{3}}{1 \cdot 1 + \frac{1}{2 + {\left(2 - \frac{2}{1 + 1 \cdot t}\right)}^{2}} \cdot \left(1 + \frac{1}{2 + {\left(2 - \frac{2}{1 + 1 \cdot t}\right)}^{2}}\right)}(FPCore (t)
:precision binary64
(-
1.0
(/
1.0
(+
2.0
(*
(- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t))))
(- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))))))(FPCore (t)
:precision binary64
(/
(-
(pow 1.0 3.0)
(pow (/ 1.0 (+ 2.0 (pow (- 2.0 (/ 2.0 (+ 1.0 (* 1.0 t)))) 2.0))) 3.0))
(+
(* 1.0 1.0)
(*
(/ 1.0 (+ 2.0 (pow (- 2.0 (/ 2.0 (+ 1.0 (* 1.0 t)))) 2.0)))
(+ 1.0 (/ 1.0 (+ 2.0 (pow (- 2.0 (/ 2.0 (+ 1.0 (* 1.0 t)))) 2.0))))))))double code(double t) {
return ((double) (1.0 - (1.0 / ((double) (2.0 + ((double) (((double) (2.0 - ((2.0 / t) / ((double) (1.0 + (1.0 / t)))))) * ((double) (2.0 - ((2.0 / t) / ((double) (1.0 + (1.0 / t)))))))))))));
}
double code(double t) {
return (((double) (((double) pow(1.0, 3.0)) - ((double) pow((1.0 / ((double) (2.0 + ((double) pow(((double) (2.0 - (2.0 / ((double) (1.0 + ((double) (1.0 * t))))))), 2.0))))), 3.0)))) / ((double) (((double) (1.0 * 1.0)) + ((double) ((1.0 / ((double) (2.0 + ((double) pow(((double) (2.0 - (2.0 / ((double) (1.0 + ((double) (1.0 * t))))))), 2.0))))) * ((double) (1.0 + (1.0 / ((double) (2.0 + ((double) pow(((double) (2.0 - (2.0 / ((double) (1.0 + ((double) (1.0 * t))))))), 2.0))))))))))));
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
rmApplied flip3--_binary640.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020210
(FPCore (t)
:name "Kahan p13 Example 3"
:precision binary64
(- 1.0 (/ 1.0 (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))))))