\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 r899239 = f;
double r899240 = n;
double r899241 = r899239 + r899240;
double r899242 = -r899241;
double r899243 = r899239 - r899240;
double r899244 = r899242 / r899243;
return r899244;
}
double f(double f, double n) {
double r899245 = 1.0;
double r899246 = f;
double r899247 = n;
double r899248 = r899246 + r899247;
double r899249 = r899246 - r899247;
double r899250 = r899248 / r899249;
double r899251 = -r899250;
double r899252 = expm1(r899251);
double r899253 = r899245 + r899252;
double r899254 = log(r899253);
return r899254;
}



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)))