3.0 \cdot \left(\left(\left(x \cdot 3.0\right) \cdot x - x \cdot 4.0\right) + 1.0\right)
9.0 \cdot \left(x \cdot x\right) + \left(3.0 - 12.0 \cdot x\right)
double f(double x) {
double r38459274 = 3.0;
double r38459275 = x;
double r38459276 = r38459275 * r38459274;
double r38459277 = r38459276 * r38459275;
double r38459278 = 4.0;
double r38459279 = r38459275 * r38459278;
double r38459280 = r38459277 - r38459279;
double r38459281 = 1.0;
double r38459282 = r38459280 + r38459281;
double r38459283 = r38459274 * r38459282;
return r38459283;
}
double f(double x) {
double r38459284 = 9.0;
double r38459285 = x;
double r38459286 = r38459285 * r38459285;
double r38459287 = r38459284 * r38459286;
double r38459288 = 3.0;
double r38459289 = 12.0;
double r38459290 = r38459289 * r38459285;
double r38459291 = r38459288 - r38459290;
double r38459292 = r38459287 + r38459291;
return r38459292;
}




Bits error versus x
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Simplified0.1
Taylor expanded around 0 0.1
Simplified0.1
Taylor expanded around 0 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019164
(FPCore (x)
:name "Diagrams.Tangent:$catParam from diagrams-lib-1.3.0.3, D"
:herbie-target
(+ 3.0 (- (* (* 9.0 x) x) (* 12.0 x)))
(* 3.0 (+ (- (* (* x 3.0) x) (* x 4.0)) 1.0)))