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)}1 - \frac{1}{\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, 1, t \cdot 1\right)}, \log \left(\frac{e^{2}}{e^{\frac{2}{\mathsf{fma}\left(1, 1, t \cdot 1\right)}}}\right), 2\right)}double f(double t) {
double r1555611 = 1.0;
double r1555612 = 2.0;
double r1555613 = t;
double r1555614 = r1555612 / r1555613;
double r1555615 = r1555611 / r1555613;
double r1555616 = r1555611 + r1555615;
double r1555617 = r1555614 / r1555616;
double r1555618 = r1555612 - r1555617;
double r1555619 = r1555618 * r1555618;
double r1555620 = r1555612 + r1555619;
double r1555621 = r1555611 / r1555620;
double r1555622 = r1555611 - r1555621;
return r1555622;
}
double f(double t) {
double r1555623 = 1.0;
double r1555624 = 2.0;
double r1555625 = 1.0;
double r1555626 = t;
double r1555627 = r1555626 * r1555623;
double r1555628 = fma(r1555625, r1555623, r1555627);
double r1555629 = r1555624 / r1555628;
double r1555630 = r1555624 - r1555629;
double r1555631 = exp(r1555624);
double r1555632 = exp(r1555629);
double r1555633 = r1555631 / r1555632;
double r1555634 = log(r1555633);
double r1555635 = fma(r1555630, r1555634, r1555624);
double r1555636 = r1555623 / r1555635;
double r1555637 = r1555623 - r1555636;
return r1555637;
}



Bits error versus t
Initial program 0.0
Simplified0.0
rmApplied add-log-exp0.0
Applied add-log-exp0.0
Applied diff-log0.0
Final simplification0.0
herbie shell --seed 2019192 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 3"
(- 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)))))))))