\frac{x \cdot y}{y + 1}\frac{x \cdot y}{y + 1}double f(double x, double y) {
double r457378 = x;
double r457379 = y;
double r457380 = r457378 * r457379;
double r457381 = 1.0;
double r457382 = r457379 + r457381;
double r457383 = r457380 / r457382;
return r457383;
}
double f(double x, double y) {
double r457384 = x;
double r457385 = y;
double r457386 = r457384 * r457385;
double r457387 = 1.0;
double r457388 = r457385 + r457387;
double r457389 = r457386 / r457388;
return r457389;
}




Bits error versus x




Bits error versus y
Results
| Original | 7.9 |
|---|---|
| Target | 0.0 |
| Herbie | 7.9 |
Initial program 7.9
rmApplied *-un-lft-identity7.9
Applied times-frac0.0
Simplified0.0
rmApplied clear-num0.1
rmApplied div-inv0.2
Applied associate-/r*0.1
Final simplification7.9
herbie shell --seed 2019291
(FPCore (x y)
:name "Diagrams.Trail:splitAtParam from diagrams-lib-1.3.0.3, B"
:precision binary64
:herbie-target
(if (< y -3693.84827882972468) (- (/ x (* y y)) (- (/ x y) x)) (if (< y 6799310503.41891003) (/ (* x y) (+ y 1)) (- (/ x (* y y)) (- (/ x y) x))))
(/ (* x y) (+ y 1)))