\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{\mathsf{fma}\left(\left(\frac{t \cdot 2}{1 + t}\right), \left(\frac{t \cdot 2}{1 + t}\right), 1\right)}{\mathsf{fma}\left(\left(\log \left(e^{\frac{t \cdot 2}{1 + t}}\right)\right), \left(\frac{t \cdot 2}{1 + t}\right), 2\right)}double f(double t) {
double r833474 = 1.0;
double r833475 = 2.0;
double r833476 = t;
double r833477 = r833475 * r833476;
double r833478 = r833474 + r833476;
double r833479 = r833477 / r833478;
double r833480 = r833479 * r833479;
double r833481 = r833474 + r833480;
double r833482 = r833475 + r833480;
double r833483 = r833481 / r833482;
return r833483;
}
double f(double t) {
double r833484 = t;
double r833485 = 2.0;
double r833486 = r833484 * r833485;
double r833487 = 1.0;
double r833488 = r833487 + r833484;
double r833489 = r833486 / r833488;
double r833490 = fma(r833489, r833489, r833487);
double r833491 = exp(r833489);
double r833492 = log(r833491);
double r833493 = fma(r833492, r833489, r833485);
double r833494 = r833490 / r833493;
return r833494;
}



Bits error versus t
Initial program 0.0
Simplified0.0
rmApplied add-log-exp0.0
Final simplification0.0
herbie shell --seed 2019128 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 1"
(/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))