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}{\mathsf{fma}\left(2 - \frac{2}{\left(1 + \frac{1}{t}\right) \cdot t}, 2 - \frac{2}{\left(1 + \frac{1}{t}\right) \cdot t}, 2\right)}\right)\right)double f(double t) {
double r95313 = 1.0;
double r95314 = 2.0;
double r95315 = t;
double r95316 = r95314 / r95315;
double r95317 = r95313 / r95315;
double r95318 = r95313 + r95317;
double r95319 = r95316 / r95318;
double r95320 = r95314 - r95319;
double r95321 = r95320 * r95320;
double r95322 = r95314 + r95321;
double r95323 = r95313 / r95322;
double r95324 = r95313 - r95323;
return r95324;
}
double f(double t) {
double r95325 = 1.0;
double r95326 = 2.0;
double r95327 = t;
double r95328 = r95325 / r95327;
double r95329 = r95325 + r95328;
double r95330 = r95329 * r95327;
double r95331 = r95326 / r95330;
double r95332 = r95326 - r95331;
double r95333 = fma(r95332, r95332, r95326);
double r95334 = r95325 / r95333;
double r95335 = expm1(r95334);
double r95336 = log1p(r95335);
double r95337 = r95325 - r95336;
return r95337;
}



Bits error versus t
Initial program 0.0
rmApplied log1p-expm1-u0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019350 +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)))))))))