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 - \mathsf{log1p}\left(\mathsf{expm1}\left(\frac{1}{2 + \mathsf{fma}\left(\sqrt{2}, \sqrt{2}, -\frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\right)\right)double f(double t) {
double r53456 = 1.0;
double r53457 = 2.0;
double r53458 = t;
double r53459 = r53457 / r53458;
double r53460 = r53456 / r53458;
double r53461 = r53456 + r53460;
double r53462 = r53459 / r53461;
double r53463 = r53457 - r53462;
double r53464 = r53463 * r53463;
double r53465 = r53457 + r53464;
double r53466 = r53456 / r53465;
double r53467 = r53456 - r53466;
return r53467;
}
double f(double t) {
double r53468 = 1.0;
double r53469 = 2.0;
double r53470 = sqrt(r53469);
double r53471 = t;
double r53472 = r53469 / r53471;
double r53473 = r53468 / r53471;
double r53474 = r53468 + r53473;
double r53475 = r53472 / r53474;
double r53476 = -r53475;
double r53477 = fma(r53470, r53470, r53476);
double r53478 = r53469 - r53475;
double r53479 = r53477 * r53478;
double r53480 = r53469 + r53479;
double r53481 = r53468 / r53480;
double r53482 = expm1(r53481);
double r53483 = log1p(r53482);
double r53484 = r53468 - r53483;
return r53484;
}



Bits error versus t
Initial program 0.0
rmApplied log1p-expm1-u0.0
rmApplied add-sqr-sqrt0.0
Applied fma-neg0.0
Final simplification0.0
herbie shell --seed 2020057 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 3"
:precision binary64
(- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))