\left(x \cdot x\right) \cdot \left(3 - x \cdot 2\right)
\left(x \cdot x\right) \cdot 3 + \left(-2 \cdot {x}^{3}\right)double f(double x) {
double r770847 = x;
double r770848 = r770847 * r770847;
double r770849 = 3.0;
double r770850 = 2.0;
double r770851 = r770847 * r770850;
double r770852 = r770849 - r770851;
double r770853 = r770848 * r770852;
return r770853;
}
double f(double x) {
double r770854 = x;
double r770855 = r770854 * r770854;
double r770856 = 3.0;
double r770857 = r770855 * r770856;
double r770858 = 2.0;
double r770859 = 3.0;
double r770860 = pow(r770854, r770859);
double r770861 = r770858 * r770860;
double r770862 = -r770861;
double r770863 = r770857 + r770862;
return r770863;
}




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