\frac{\left(x \cdot 2\right) \cdot y}{x - y}\left(\left(x \cdot 2\right) \cdot \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{x - y} \cdot \sqrt[3]{x - y}}\right) \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{x - y}}double f(double x, double y) {
double r639526 = x;
double r639527 = 2.0;
double r639528 = r639526 * r639527;
double r639529 = y;
double r639530 = r639528 * r639529;
double r639531 = r639526 - r639529;
double r639532 = r639530 / r639531;
return r639532;
}
double f(double x, double y) {
double r639533 = x;
double r639534 = 2.0;
double r639535 = r639533 * r639534;
double r639536 = y;
double r639537 = cbrt(r639536);
double r639538 = r639537 * r639537;
double r639539 = r639533 - r639536;
double r639540 = cbrt(r639539);
double r639541 = r639540 * r639540;
double r639542 = r639538 / r639541;
double r639543 = r639535 * r639542;
double r639544 = r639537 / r639540;
double r639545 = r639543 * r639544;
return r639545;
}




Bits error versus x




Bits error versus y
Results
| Original | 15.2 |
|---|---|
| Target | 0.3 |
| Herbie | 2.4 |
Initial program 15.2
rmApplied *-un-lft-identity15.2
Applied times-frac6.8
Simplified6.8
rmApplied add-cube-cbrt8.0
Applied add-cube-cbrt7.4
Applied times-frac7.4
Applied associate-*r*2.4
Final simplification2.4
herbie shell --seed 2020020 +o rules:numerics
(FPCore (x y)
:name "Linear.Projection:perspective from linear-1.19.1.3, B"
:precision binary64
:herbie-target
(if (< x -1.7210442634149447e+81) (* (/ (* 2 x) (- x y)) y) (if (< x 83645045635564432) (/ (* x 2) (/ (- x y) y)) (* (/ (* 2 x) (- x y)) y)))
(/ (* (* x 2) y) (- x y)))