\left(x \cdot x\right) \cdot \left(3 - x \cdot 2\right)
\left(\left(3 - x \cdot 2\right) \cdot x\right) \cdot x
double f(double x) {
double r37200303 = x;
double r37200304 = r37200303 * r37200303;
double r37200305 = 3.0;
double r37200306 = 2.0;
double r37200307 = r37200303 * r37200306;
double r37200308 = r37200305 - r37200307;
double r37200309 = r37200304 * r37200308;
return r37200309;
}
double f(double x) {
double r37200310 = 3.0;
double r37200311 = x;
double r37200312 = 2.0;
double r37200313 = r37200311 * r37200312;
double r37200314 = r37200310 - r37200313;
double r37200315 = r37200314 * r37200311;
double r37200316 = r37200315 * r37200311;
return r37200316;
}




Bits error versus x
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
rmApplied *-commutative0.2
Taylor expanded around 0 0.1
Simplified0.2
Final simplification0.2
herbie shell --seed 2019170
(FPCore (x)
:name "Data.Spline.Key:interpolateKeys from smoothie-0.4.0.2"
:herbie-target
(* x (* x (- 3.0 (* x 2.0))))
(* (* x x) (- 3.0 (* x 2.0))))