\left(x \cdot x\right) \cdot \left(3 - x \cdot 2\right)
x \cdot \left(x \cdot 3\right) + \left(-2 \cdot {x}^{3}\right)double f(double x) {
double r781264 = x;
double r781265 = r781264 * r781264;
double r781266 = 3.0;
double r781267 = 2.0;
double r781268 = r781264 * r781267;
double r781269 = r781266 - r781268;
double r781270 = r781265 * r781269;
return r781270;
}
double f(double x) {
double r781271 = x;
double r781272 = 3.0;
double r781273 = r781271 * r781272;
double r781274 = r781271 * r781273;
double r781275 = 2.0;
double r781276 = 3.0;
double r781277 = pow(r781271, r781276);
double r781278 = r781275 * r781277;
double r781279 = -r781278;
double r781280 = r781274 + r781279;
return r781280;
}




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
rmApplied associate-*l*0.1
Final simplification0.1
herbie shell --seed 2020021 +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))))