\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 r534639 = x;
double r534640 = r534639 * r534639;
double r534641 = 3.0;
double r534642 = 2.0;
double r534643 = r534639 * r534642;
double r534644 = r534641 - r534643;
double r534645 = r534640 * r534644;
return r534645;
}
double f(double x) {
double r534646 = x;
double r534647 = 3.0;
double r534648 = r534646 * r534647;
double r534649 = r534648 * r534646;
double r534650 = 2.0;
double r534651 = 3.0;
double r534652 = pow(r534646, r534651);
double r534653 = r534650 * r534652;
double r534654 = -r534653;
double r534655 = r534649 + r534654;
return r534655;
}




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