\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{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}}double f(double t) {
double r34618 = 1.0;
double r34619 = 2.0;
double r34620 = t;
double r34621 = r34619 * r34620;
double r34622 = r34618 + r34620;
double r34623 = r34621 / r34622;
double r34624 = r34623 * r34623;
double r34625 = r34618 + r34624;
double r34626 = r34619 + r34624;
double r34627 = r34625 / r34626;
return r34627;
}
double f(double t) {
double r34628 = 1.0;
double r34629 = 2.0;
double r34630 = t;
double r34631 = r34629 * r34630;
double r34632 = r34628 + r34630;
double r34633 = r34631 / r34632;
double r34634 = r34633 * r34633;
double r34635 = r34628 + r34634;
double r34636 = r34629 + r34634;
double r34637 = r34635 / r34636;
return r34637;
}



Bits error versus t
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019294
(FPCore (t)
:name "Kahan p13 Example 1"
:precision binary64
(/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))