\left(3 \cdot \left(2 - x \cdot 3\right)\right) \cdot x
\left(-\left(3 \cdot 3\right) \cdot \left(x \cdot x\right)\right) + \left(x \cdot 2\right) \cdot 3
double f(double x) {
double r573156 = 3.0;
double r573157 = 2.0;
double r573158 = x;
double r573159 = r573158 * r573156;
double r573160 = r573157 - r573159;
double r573161 = r573156 * r573160;
double r573162 = r573161 * r573158;
return r573162;
}
double f(double x) {
double r573163 = 3.0;
double r573164 = r573163 * r573163;
double r573165 = x;
double r573166 = r573165 * r573165;
double r573167 = r573164 * r573166;
double r573168 = -r573167;
double r573169 = 2.0;
double r573170 = r573165 * r573169;
double r573171 = r573170 * r573163;
double r573172 = r573168 + r573171;
return r573172;
}




Bits error versus x
Results
| Original | 0.3 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.3
rmApplied associate-*l*0.3
Simplified0.3
rmApplied sub-neg0.3
Applied distribute-rgt-in0.3
Applied distribute-lft-in0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2019195
(FPCore (x)
:name "Diagrams.Tangent:$catParam from diagrams-lib-1.3.0.3, E"
:herbie-target
(- (* 6.0 x) (* 9.0 (* x x)))
(* (* 3.0 (- 2.0 (* x 3.0))) x))