\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 r705198 = 1.0;
double r705199 = x;
double r705200 = r705198 - r705199;
double r705201 = 3.0;
double r705202 = r705201 - r705199;
double r705203 = r705200 * r705202;
double r705204 = y;
double r705205 = r705204 * r705201;
double r705206 = r705203 / r705205;
return r705206;
}
double f(double x, double y) {
double r705207 = 1.0;
double r705208 = x;
double r705209 = r705207 - r705208;
double r705210 = 3.0;
double r705211 = r705210 - r705208;
double r705212 = r705211 / r705210;
double r705213 = y;
double r705214 = r705212 / r705213;
double r705215 = r705209 * r705214;
return r705215;
}




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