\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\frac{1 - x}{y} \cdot \frac{3 - x}{3}double f(double x, double y) {
double r437845 = 1.0;
double r437846 = x;
double r437847 = r437845 - r437846;
double r437848 = 3.0;
double r437849 = r437848 - r437846;
double r437850 = r437847 * r437849;
double r437851 = y;
double r437852 = r437851 * r437848;
double r437853 = r437850 / r437852;
return r437853;
}
double f(double x, double y) {
double r437854 = 1.0;
double r437855 = x;
double r437856 = r437854 - r437855;
double r437857 = y;
double r437858 = r437856 / r437857;
double r437859 = 3.0;
double r437860 = r437859 - r437855;
double r437861 = r437860 / r437859;
double r437862 = r437858 * r437861;
return r437862;
}




Bits error versus x




Bits error versus y
Results
| Original | 5.5 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 5.5
rmApplied times-frac0.1
Final simplification0.1
herbie shell --seed 2019198 +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)))