\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\frac{1}{\frac{y}{1 - x}} \cdot \left(1 - \frac{x}{3}\right)double f(double x, double y) {
double r414654 = 1.0;
double r414655 = x;
double r414656 = r414654 - r414655;
double r414657 = 3.0;
double r414658 = r414657 - r414655;
double r414659 = r414656 * r414658;
double r414660 = y;
double r414661 = r414660 * r414657;
double r414662 = r414659 / r414661;
return r414662;
}
double f(double x, double y) {
double r414663 = 1.0;
double r414664 = y;
double r414665 = 1.0;
double r414666 = x;
double r414667 = r414665 - r414666;
double r414668 = r414664 / r414667;
double r414669 = r414663 / r414668;
double r414670 = 3.0;
double r414671 = r414666 / r414670;
double r414672 = r414663 - r414671;
double r414673 = r414669 * r414672;
return r414673;
}




Bits error versus x




Bits error versus y
Results
| Original | 5.7 |
|---|---|
| Target | 0.1 |
| Herbie | 0.2 |
Initial program 5.7
rmApplied times-frac0.1
rmApplied div-sub0.1
Simplified0.1
rmApplied clear-num0.2
Final simplification0.2
herbie shell --seed 2019303
(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)))