\frac{x}{y + x}\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{x}{y + x}\right)\right)double code(double x, double y) {
return (x / (y + x));
}
double code(double x, double y) {
return expm1(log1p((x / (y + x))));
}



Bits error versus x



Bits error versus y
Results
Initial program 0.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2020102 +o rules:numerics
(FPCore (x y)
:name "AI.Clustering.Hierarchical.Internal:average from clustering-0.2.1, B"
:precision binary64
(/ x (+ y x)))