\frac{-\left(f + n\right)}{f - n}\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{-\left(f + n\right)}{f - n}\right)\right)double f(double f, double n) {
double r29516 = f;
double r29517 = n;
double r29518 = r29516 + r29517;
double r29519 = -r29518;
double r29520 = r29516 - r29517;
double r29521 = r29519 / r29520;
return r29521;
}
double f(double f, double n) {
double r29522 = f;
double r29523 = n;
double r29524 = r29522 + r29523;
double r29525 = -r29524;
double r29526 = r29522 - r29523;
double r29527 = r29525 / r29526;
double r29528 = expm1(r29527);
double r29529 = log1p(r29528);
return r29529;
}



Bits error versus f



Bits error versus n
Results
Initial program 0.0
rmApplied log1p-expm1-u0.0
Final simplification0.0
herbie shell --seed 2019325 +o rules:numerics
(FPCore (f n)
:name "subtraction fraction"
:precision binary64
(/ (- (+ f n)) (- f n)))