\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 r1105431 = x;
double r1105432 = y;
double r1105433 = r1105431 - r1105432;
double r1105434 = r1105431 + r1105432;
double r1105435 = r1105433 / r1105434;
return r1105435;
}
double f(double x, double y) {
double r1105436 = x;
double r1105437 = y;
double r1105438 = r1105436 + r1105437;
double r1105439 = r1105436 / r1105438;
double r1105440 = r1105437 / r1105438;
double r1105441 = exp(r1105440);
double r1105442 = log(r1105441);
double r1105443 = r1105439 - r1105442;
double r1105444 = expm1(r1105443);
double r1105445 = log1p(r1105444);
return r1105445;
}




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