\frac{\left(1.0 - x\right) \cdot \left(3.0 - x\right)}{y \cdot 3.0}\frac{3.0 - x}{3.0} \cdot \frac{1.0 - x}{y}double f(double x, double y) {
double r37913545 = 1.0;
double r37913546 = x;
double r37913547 = r37913545 - r37913546;
double r37913548 = 3.0;
double r37913549 = r37913548 - r37913546;
double r37913550 = r37913547 * r37913549;
double r37913551 = y;
double r37913552 = r37913551 * r37913548;
double r37913553 = r37913550 / r37913552;
return r37913553;
}
double f(double x, double y) {
double r37913554 = 3.0;
double r37913555 = x;
double r37913556 = r37913554 - r37913555;
double r37913557 = r37913556 / r37913554;
double r37913558 = 1.0;
double r37913559 = r37913558 - r37913555;
double r37913560 = y;
double r37913561 = r37913559 / r37913560;
double r37913562 = r37913557 * r37913561;
return r37913562;
}




Bits error versus x




Bits error versus y
Results
| Original | 5.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 5.1
rmApplied times-frac0.1
Final simplification0.1
herbie shell --seed 2019158
(FPCore (x y)
:name "Diagrams.TwoD.Arc:bezierFromSweepQ1 from diagrams-lib-1.3.0.3"
:herbie-target
(* (/ (- 1.0 x) y) (/ (- 3.0 x) 3.0))
(/ (* (- 1.0 x) (- 3.0 x)) (* y 3.0)))