\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 r26437633 = 1.0;
double r26437634 = x;
double r26437635 = r26437633 - r26437634;
double r26437636 = 3.0;
double r26437637 = r26437636 - r26437634;
double r26437638 = r26437635 * r26437637;
double r26437639 = y;
double r26437640 = r26437639 * r26437636;
double r26437641 = r26437638 / r26437640;
return r26437641;
}
double f(double x, double y) {
double r26437642 = 3.0;
double r26437643 = x;
double r26437644 = r26437642 - r26437643;
double r26437645 = r26437644 / r26437642;
double r26437646 = 1.0;
double r26437647 = r26437646 - r26437643;
double r26437648 = y;
double r26437649 = r26437647 / r26437648;
double r26437650 = r26437645 * r26437649;
return r26437650;
}




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 +o rules:numerics
(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)))