\frac{-\left(f + n\right)}{f - n}\log \left(1 + \mathsf{expm1}\left(-\frac{f + n}{f - n}\right)\right)double f(double f, double n) {
double r798094 = f;
double r798095 = n;
double r798096 = r798094 + r798095;
double r798097 = -r798096;
double r798098 = r798094 - r798095;
double r798099 = r798097 / r798098;
return r798099;
}
double f(double f, double n) {
double r798100 = 1.0;
double r798101 = f;
double r798102 = n;
double r798103 = r798101 + r798102;
double r798104 = r798101 - r798102;
double r798105 = r798103 / r798104;
double r798106 = -r798105;
double r798107 = expm1(r798106);
double r798108 = r798100 + r798107;
double r798109 = log(r798108);
return r798109;
}



Bits error versus f



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