\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\left(\left(1 - x\right) \cdot \frac{1}{y}\right) \cdot \frac{3 - x}{3}double f(double x, double y) {
double r711285 = 1.0;
double r711286 = x;
double r711287 = r711285 - r711286;
double r711288 = 3.0;
double r711289 = r711288 - r711286;
double r711290 = r711287 * r711289;
double r711291 = y;
double r711292 = r711291 * r711288;
double r711293 = r711290 / r711292;
return r711293;
}
double f(double x, double y) {
double r711294 = 1.0;
double r711295 = x;
double r711296 = r711294 - r711295;
double r711297 = 1.0;
double r711298 = y;
double r711299 = r711297 / r711298;
double r711300 = r711296 * r711299;
double r711301 = 3.0;
double r711302 = r711301 - r711295;
double r711303 = r711302 / r711301;
double r711304 = r711300 * r711303;
return r711304;
}




Bits error versus x




Bits error versus y
Results
| Original | 5.6 |
|---|---|
| Target | 0.1 |
| Herbie | 0.2 |
Initial program 5.6
rmApplied times-frac0.1
rmApplied div-inv0.2
Final simplification0.2
herbie shell --seed 2020062
(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)))