\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\left(\frac{1}{y} - \frac{x}{y}\right) \cdot \frac{3 - x}{3}double f(double x, double y) {
double r660590 = 1.0;
double r660591 = x;
double r660592 = r660590 - r660591;
double r660593 = 3.0;
double r660594 = r660593 - r660591;
double r660595 = r660592 * r660594;
double r660596 = y;
double r660597 = r660596 * r660593;
double r660598 = r660595 / r660597;
return r660598;
}
double f(double x, double y) {
double r660599 = 1.0;
double r660600 = y;
double r660601 = r660599 / r660600;
double r660602 = x;
double r660603 = r660602 / r660600;
double r660604 = r660601 - r660603;
double r660605 = 3.0;
double r660606 = r660605 - r660602;
double r660607 = r660606 / r660605;
double r660608 = r660604 * r660607;
return r660608;
}




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-sub0.1
Final simplification0.1
herbie shell --seed 2020049
(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)))