\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 r689177 = 1.0;
double r689178 = x;
double r689179 = r689177 - r689178;
double r689180 = 3.0;
double r689181 = r689180 - r689178;
double r689182 = r689179 * r689181;
double r689183 = y;
double r689184 = r689183 * r689180;
double r689185 = r689182 / r689184;
return r689185;
}
double f(double x, double y) {
double r689186 = 1.0;
double r689187 = x;
double r689188 = r689186 - r689187;
double r689189 = y;
double r689190 = r689188 / r689189;
double r689191 = 3.0;
double r689192 = r689191 - r689187;
double r689193 = r689192 / r689191;
double r689194 = r689190 * r689193;
return r689194;
}




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
Final simplification0.1
herbie shell --seed 2020020 +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)))