\frac{\left(1 - x\right) \cdot \left(3 - x\right)}{y \cdot 3}\frac{\frac{1 - x}{y}}{\frac{3}{3 - x}}double f(double x, double y) {
double r18189099 = 1.0;
double r18189100 = x;
double r18189101 = r18189099 - r18189100;
double r18189102 = 3.0;
double r18189103 = r18189102 - r18189100;
double r18189104 = r18189101 * r18189103;
double r18189105 = y;
double r18189106 = r18189105 * r18189102;
double r18189107 = r18189104 / r18189106;
return r18189107;
}
double f(double x, double y) {
double r18189108 = 1.0;
double r18189109 = x;
double r18189110 = r18189108 - r18189109;
double r18189111 = y;
double r18189112 = r18189110 / r18189111;
double r18189113 = 3.0;
double r18189114 = r18189113 - r18189109;
double r18189115 = r18189113 / r18189114;
double r18189116 = r18189112 / r18189115;
return r18189116;
}




Bits error versus x




Bits error versus y
Results
| Original | 5.8 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 5.8
rmApplied associate-/l*0.3
rmApplied *-un-lft-identity0.3
Applied times-frac0.1
Applied associate-/r*0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019171
(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)))