\left(x \cdot x\right) \cdot \left(3 - x \cdot 2\right)
\left(x \cdot 3\right) \cdot x + \left(-2 \cdot {x}^{3}\right)double f(double x) {
double r515757 = x;
double r515758 = r515757 * r515757;
double r515759 = 3.0;
double r515760 = 2.0;
double r515761 = r515757 * r515760;
double r515762 = r515759 - r515761;
double r515763 = r515758 * r515762;
return r515763;
}
double f(double x) {
double r515764 = x;
double r515765 = 3.0;
double r515766 = r515764 * r515765;
double r515767 = r515766 * r515764;
double r515768 = 2.0;
double r515769 = 3.0;
double r515770 = pow(r515764, r515769);
double r515771 = r515768 * r515770;
double r515772 = -r515771;
double r515773 = r515767 + r515772;
return r515773;
}




Bits error versus x
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.1 |
Initial program 0.2
rmApplied sub-neg0.2
Applied distribute-lft-in0.2
Simplified0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2019322 +o rules:numerics
(FPCore (x)
:name "Data.Spline.Key:interpolateKeys from smoothie-0.4.0.2"
:precision binary64
:herbie-target
(* x (* x (- 3 (* x 2))))
(* (* x x) (- 3 (* x 2))))