\frac{x - y}{x + y}\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{x}{x + y} - \log \left(e^{\frac{y}{x + y}}\right)\right)\right)double f(double x, double y) {
double r919339 = x;
double r919340 = y;
double r919341 = r919339 - r919340;
double r919342 = r919339 + r919340;
double r919343 = r919341 / r919342;
return r919343;
}
double f(double x, double y) {
double r919344 = x;
double r919345 = y;
double r919346 = r919344 + r919345;
double r919347 = r919344 / r919346;
double r919348 = r919345 / r919346;
double r919349 = exp(r919348);
double r919350 = log(r919349);
double r919351 = r919347 - r919350;
double r919352 = expm1(r919351);
double r919353 = log1p(r919352);
return r919353;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied div-sub0.0
rmApplied add-log-exp0.0
rmApplied log1p-expm1-u0.0
Final simplification0.0
herbie shell --seed 2020060 +o rules:numerics
(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)))