\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 \cdot 1 - \left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right) \cdot \left(\frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}{\left(2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right) \cdot \left(1 - \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}\right)}double f(double t) {
double r55591 = 1.0;
double r55592 = 2.0;
double r55593 = t;
double r55594 = r55592 * r55593;
double r55595 = r55591 + r55593;
double r55596 = r55594 / r55595;
double r55597 = r55596 * r55596;
double r55598 = r55591 + r55597;
double r55599 = r55592 + r55597;
double r55600 = r55598 / r55599;
return r55600;
}
double f(double t) {
double r55601 = 1.0;
double r55602 = r55601 * r55601;
double r55603 = 2.0;
double r55604 = t;
double r55605 = r55603 * r55604;
double r55606 = r55601 + r55604;
double r55607 = r55605 / r55606;
double r55608 = r55607 * r55607;
double r55609 = r55608 * r55608;
double r55610 = r55602 - r55609;
double r55611 = r55603 + r55608;
double r55612 = r55601 - r55608;
double r55613 = r55611 * r55612;
double r55614 = r55610 / r55613;
return r55614;
}



Bits error versus t
Results
Initial program 0.0
rmApplied flip-+0.0
Applied associate-/l/0.0
Final simplification0.0
herbie shell --seed 2019353
(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))))))