\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 r776928 = 1.0;
double r776929 = x;
double r776930 = r776928 - r776929;
double r776931 = 3.0;
double r776932 = r776931 - r776929;
double r776933 = r776930 * r776932;
double r776934 = y;
double r776935 = r776934 * r776931;
double r776936 = r776933 / r776935;
return r776936;
}
double f(double x, double y) {
double r776937 = 1.0;
double r776938 = x;
double r776939 = r776937 - r776938;
double r776940 = 3.0;
double r776941 = r776940 - r776938;
double r776942 = r776941 / r776940;
double r776943 = y;
double r776944 = r776942 / r776943;
double r776945 = r776939 * r776944;
return r776945;
}




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