\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\frac{1 - x}{y} \cdot \left(1 - \frac{x}{3}\right)double f(double x, double y) {
double r706217 = 1.0;
double r706218 = x;
double r706219 = r706217 - r706218;
double r706220 = 3.0;
double r706221 = r706220 - r706218;
double r706222 = r706219 * r706221;
double r706223 = y;
double r706224 = r706223 * r706220;
double r706225 = r706222 / r706224;
return r706225;
}
double f(double x, double y) {
double r706226 = 1.0;
double r706227 = x;
double r706228 = r706226 - r706227;
double r706229 = y;
double r706230 = r706228 / r706229;
double r706231 = 1.0;
double r706232 = 3.0;
double r706233 = r706227 / r706232;
double r706234 = r706231 - r706233;
double r706235 = r706230 * r706234;
return r706235;
}




Bits error versus x




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