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




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.1 |
Initial program 0.0
Applied div-sub_binary640.0
Applied expm1-log1p-u_binary640.1
Final simplification0.1
herbie shell --seed 2022067
(FPCore (x y)
:name "Data.Colour.RGB:hslsv from colour-2.3.3, D"
:precision binary64
:herbie-target
(- (/ x (+ x y)) (/ y (+ x y)))
(/ (- x y) (+ x y)))