\left(\left(x \cdot 3\right) \cdot x\right) \cdot y
\left(\left(y \cdot 3\right) \cdot x\right) \cdot x
double f(double x, double y) {
double r618753 = x;
double r618754 = 3.0;
double r618755 = r618753 * r618754;
double r618756 = r618755 * r618753;
double r618757 = y;
double r618758 = r618756 * r618757;
return r618758;
}
double f(double x, double y) {
double r618759 = y;
double r618760 = 3.0;
double r618761 = r618759 * r618760;
double r618762 = x;
double r618763 = r618761 * r618762;
double r618764 = r618763 * r618762;
return r618764;
}




Bits error versus x




Bits error versus y
Results
| Original | 10.3 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 10.3
rmApplied associate-*l*0.2
rmApplied associate-*l*0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019194 +o rules:numerics
(FPCore (x y)
:name "Diagrams.Segment:$catParam from diagrams-lib-1.3.0.3, A"
:herbie-target
(* (* x 3.0) (* x y))
(* (* (* x 3.0) x) y))