\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 r457658 = x;
double r457659 = 2.0;
double r457660 = r457658 * r457659;
double r457661 = y;
double r457662 = r457660 * r457661;
double r457663 = r457658 - r457661;
double r457664 = r457662 / r457663;
return r457664;
}
double f(double x, double y) {
double r457665 = x;
double r457666 = 2.0;
double r457667 = r457665 * r457666;
double r457668 = y;
double r457669 = cbrt(r457668);
double r457670 = r457669 * r457669;
double r457671 = r457665 - r457668;
double r457672 = cbrt(r457671);
double r457673 = r457672 * r457672;
double r457674 = r457670 / r457673;
double r457675 = r457667 * r457674;
double r457676 = r457669 / r457672;
double r457677 = r457675 * r457676;
return r457677;
}




Bits error versus x




Bits error versus y
Results
| Original | 15.1 |
|---|---|
| Target | 0.4 |
| Herbie | 2.4 |
Initial program 15.1
rmApplied *-un-lft-identity15.1
Applied times-frac7.2
Simplified7.2
rmApplied add-cube-cbrt8.4
Applied add-cube-cbrt7.8
Applied times-frac7.8
Applied associate-*r*2.4
Final simplification2.4
herbie shell --seed 2019353 +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)))