\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 r727959 = 1.0;
double r727960 = x;
double r727961 = r727959 - r727960;
double r727962 = 3.0;
double r727963 = r727962 - r727960;
double r727964 = r727961 * r727963;
double r727965 = y;
double r727966 = r727965 * r727962;
double r727967 = r727964 / r727966;
return r727967;
}
double f(double x, double y) {
double r727968 = 1.0;
double r727969 = x;
double r727970 = r727968 - r727969;
double r727971 = 3.0;
double r727972 = r727971 - r727969;
double r727973 = r727972 / r727971;
double r727974 = y;
double r727975 = r727973 / r727974;
double r727976 = r727970 * r727975;
return r727976;
}




Bits error versus x




Bits error versus y
Results
| Original | 6.0 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 6.0
rmApplied times-frac0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2019353 +o rules:numerics
(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)))