\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 r587896 = x;
double r587897 = r587896 * r587896;
double r587898 = 3.0;
double r587899 = 2.0;
double r587900 = r587896 * r587899;
double r587901 = r587898 - r587900;
double r587902 = r587897 * r587901;
return r587902;
}
double f(double x) {
double r587903 = x;
double r587904 = 3.0;
double r587905 = r587903 * r587904;
double r587906 = r587905 * r587903;
double r587907 = 2.0;
double r587908 = 3.0;
double r587909 = pow(r587903, r587908);
double r587910 = r587907 * r587909;
double r587911 = -r587910;
double r587912 = r587906 + r587911;
return r587912;
}




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 2019303 +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))))