\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\left(1 - x\right) \cdot \frac{\frac{3 - x}{3}}{y}double f(double x, double y) {
double r564566 = 1.0;
double r564567 = x;
double r564568 = r564566 - r564567;
double r564569 = 3.0;
double r564570 = r564569 - r564567;
double r564571 = r564568 * r564570;
double r564572 = y;
double r564573 = r564572 * r564569;
double r564574 = r564571 / r564573;
return r564574;
}
double f(double x, double y) {
double r564575 = 1.0;
double r564576 = x;
double r564577 = r564575 - r564576;
double r564578 = 3.0;
double r564579 = r564578 - r564576;
double r564580 = r564579 / r564578;
double r564581 = y;
double r564582 = r564580 / r564581;
double r564583 = r564577 * r564582;
return r564583;
}




Bits error versus x




Bits error versus y
Results
| Original | 5.7 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 5.7
rmApplied times-frac0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2019326
(FPCore (x y)
:name "Diagrams.TwoD.Arc:bezierFromSweepQ1 from diagrams-lib-1.3.0.3"
:precision binary64
:herbie-target
(* (/ (- 1 x) y) (/ (- 3 x) 3))
(/ (* (- 1 x) (- 3 x)) (* y 3)))