\frac{\left(x \cdot 2\right) \cdot y}{x - y}\left(x \cdot 2\right) \cdot \frac{y}{x - y}double f(double x, double y) {
double r432013 = x;
double r432014 = 2.0;
double r432015 = r432013 * r432014;
double r432016 = y;
double r432017 = r432015 * r432016;
double r432018 = r432013 - r432016;
double r432019 = r432017 / r432018;
return r432019;
}
double f(double x, double y) {
double r432020 = x;
double r432021 = 2.0;
double r432022 = r432020 * r432021;
double r432023 = y;
double r432024 = r432020 - r432023;
double r432025 = r432023 / r432024;
double r432026 = r432022 * r432025;
return r432026;
}




Bits error versus x




Bits error versus y
Results
| Original | 15.2 |
|---|---|
| Target | 0.3 |
| Herbie | 7.0 |
if y < -8.605627297464034e+62 or 1.1280865726302276e-119 < y Initial program 15.2
rmApplied *-un-lft-identity15.2
Applied times-frac0.8
Simplified0.8
if -8.605627297464034e+62 < y < 1.1280865726302276e-119Initial program 15.2
rmApplied associate-/l*15.3
rmApplied clear-num15.4
rmApplied div-inv15.4
Applied times-frac0.5
Applied add-cube-cbrt0.5
Applied times-frac0.5
Simplified0.4
Simplified0.3
Final simplification7.0
herbie shell --seed 2019298
(FPCore (x y)
:name "Linear.Projection:perspective from linear-1.19.1.3, B"
:precision binary64
:herbie-target
(if (< x -1.7210442634149447e81) (* (/ (* 2 x) (- x y)) y) (if (< x 83645045635564432) (/ (* x 2) (/ (- x y) y)) (* (/ (* 2 x) (- x y)) y)))
(/ (* (* x 2) y) (- x y)))