\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 r14065 = f;
double r14066 = n;
double r14067 = r14065 + r14066;
double r14068 = -r14067;
double r14069 = r14065 - r14066;
double r14070 = r14068 / r14069;
return r14070;
}
double f(double f, double n) {
double r14071 = f;
double r14072 = n;
double r14073 = r14071 + r14072;
double r14074 = -r14073;
double r14075 = r14071 - r14072;
double r14076 = r14074 / r14075;
double r14077 = expm1(r14076);
double r14078 = log1p(r14077);
return r14078;
}



Bits error versus f



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