\frac{\left(x \cdot 2\right) \cdot y}{x - y}\frac{x \cdot 2}{\frac{x - y}{y}}double f(double x, double y) {
double r554983 = x;
double r554984 = 2.0;
double r554985 = r554983 * r554984;
double r554986 = y;
double r554987 = r554985 * r554986;
double r554988 = r554983 - r554986;
double r554989 = r554987 / r554988;
return r554989;
}
double f(double x, double y) {
double r554990 = x;
double r554991 = 2.0;
double r554992 = r554990 * r554991;
double r554993 = y;
double r554994 = r554990 - r554993;
double r554995 = r554994 / r554993;
double r554996 = r554992 / r554995;
return r554996;
}




Bits error versus x




Bits error versus y
Results
| Original | 15.1 |
|---|---|
| Target | 0.3 |
| Herbie | 7.8 |
if y < -5.573191811409158e+49 or 1797816337.0316365 < y Initial program 17.9
rmApplied associate-/l*0.1
rmApplied clear-num0.2
if -5.573191811409158e+49 < y < 1797816337.0316365Initial program 12.7
rmApplied associate-/l*14.3
rmApplied div-inv14.4
Applied times-frac0.3
Simplified0.1
Final simplification7.8
herbie shell --seed 1978988140
(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)))