\frac{x}{y + x}\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{x}{y + x}\right)\right)double code(double x, double y) {
return ((double) (x / ((double) (y + x))));
}
double code(double x, double y) {
return ((double) expm1(((double) log1p(((double) (x / ((double) (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 2020120 +o rules:numerics
(FPCore (x y)
:name "AI.Clustering.Hierarchical.Internal:average from clustering-0.2.1, B"
:precision binary64
(/ x (+ y x)))