\frac{\left(x \cdot 2\right) \cdot y}{x - y}\frac{x \cdot 2}{x - y} \cdot ydouble f(double x, double y) {
double r411530 = x;
double r411531 = 2.0;
double r411532 = r411530 * r411531;
double r411533 = y;
double r411534 = r411532 * r411533;
double r411535 = r411530 - r411533;
double r411536 = r411534 / r411535;
return r411536;
}
double f(double x, double y) {
double r411537 = x;
double r411538 = 2.0;
double r411539 = r411537 * r411538;
double r411540 = y;
double r411541 = r411537 - r411540;
double r411542 = r411539 / r411541;
double r411543 = r411542 * r411540;
return r411543;
}




Bits error versus x




Bits error versus y
Results
| Original | 15.4 |
|---|---|
| Target | 0.3 |
| Herbie | 7.1 |
if y < -147574915232717.3Initial program 17.1
rmApplied associate-/l*0.1
rmApplied clear-num0.3
if -147574915232717.3 < y < 8.418806030437594e+120Initial program 12.9
rmApplied associate-/l*12.4
rmApplied associate-/r/0.8
if 8.418806030437594e+120 < y Initial program 22.3
rmApplied associate-/l*0.0
rmApplied add-cbrt-cube64.0
Applied add-cbrt-cube64.0
Applied cbrt-undiv64.0
Simplified1.9
Final simplification7.1
herbie shell --seed 2019297
(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)))