\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 r498923 = x;
double r498924 = 2.0;
double r498925 = r498923 * r498924;
double r498926 = y;
double r498927 = r498925 * r498926;
double r498928 = r498923 - r498926;
double r498929 = r498927 / r498928;
return r498929;
}
double f(double x, double y) {
double r498930 = x;
double r498931 = 2.0;
double r498932 = r498930 * r498931;
double r498933 = y;
double r498934 = cbrt(r498933);
double r498935 = r498934 * r498934;
double r498936 = r498930 - r498933;
double r498937 = cbrt(r498936);
double r498938 = r498937 * r498937;
double r498939 = r498935 / r498938;
double r498940 = r498932 * r498939;
double r498941 = r498934 / r498937;
double r498942 = r498940 * r498941;
return r498942;
}




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)))