\frac{-\left(f + n\right)}{f - n}\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{-\left(f + n\right)}{f - n}\right)\right)double code(double f, double n) {
return ((double) (((double) -(((double) (f + n)))) / ((double) (f - n))));
}
double code(double f, double n) {
return ((double) log1p(((double) expm1(((double) (((double) -(((double) (f + n)))) / ((double) (f - n))))))));
}



Bits error versus f



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