\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\frac{-\left(1 - x\right)}{\frac{3}{3 - x} \cdot \left(-y\right)}double code(double x, double y) {
return (((1.0 - x) * (3.0 - x)) / (y * 3.0));
}
double code(double x, double y) {
return (-(1.0 - x) / ((3.0 / (3.0 - x)) * -y));
}




Bits error versus x




Bits error versus y
Results
| Original | 5.5 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 5.5
rmApplied *-commutative5.5
Applied *-commutative5.5
Applied times-frac0.1
rmApplied frac-2neg0.1
Applied clear-num0.2
Applied frac-times0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020066 +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)))