\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\frac{1 - x}{y \cdot \frac{3}{3 - x}}double f(double x, double y) {
double r733536 = 1.0;
double r733537 = x;
double r733538 = r733536 - r733537;
double r733539 = 3.0;
double r733540 = r733539 - r733537;
double r733541 = r733538 * r733540;
double r733542 = y;
double r733543 = r733542 * r733539;
double r733544 = r733541 / r733543;
return r733544;
}
double f(double x, double y) {
double r733545 = 1.0;
double r733546 = x;
double r733547 = r733545 - r733546;
double r733548 = y;
double r733549 = 3.0;
double r733550 = r733549 - r733546;
double r733551 = r733549 / r733550;
double r733552 = r733548 * r733551;
double r733553 = r733547 / r733552;
return r733553;
}




Bits error versus x




Bits error versus y
Results
| Original | 5.6 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 5.6
rmApplied associate-/l*0.3
Simplified0.1
Final simplification0.1
herbie shell --seed 2020045 +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)))