\frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\frac{1 + \frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}{2 + \frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}double f(double t) {
double r32818 = 1.0;
double r32819 = 2.0;
double r32820 = t;
double r32821 = r32819 * r32820;
double r32822 = r32818 + r32820;
double r32823 = r32821 / r32822;
double r32824 = r32823 * r32823;
double r32825 = r32818 + r32824;
double r32826 = r32819 + r32824;
double r32827 = r32825 / r32826;
return r32827;
}
double f(double t) {
double r32828 = 1.0;
double r32829 = t;
double r32830 = 2.0;
double r32831 = r32829 * r32830;
double r32832 = r32828 + r32829;
double r32833 = r32831 / r32832;
double r32834 = r32833 * r32833;
double r32835 = r32828 + r32834;
double r32836 = r32830 + r32834;
double r32837 = r32835 / r32836;
return r32837;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019174 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 1"
(/ (+ 1.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t)))) (+ 2.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t))))))