x \cdot e^{y \cdot y}
0.16666666666666666 \cdot \left({y}^{6} \cdot x\right) + \left(x \cdot {y}^{2} + \left(x + 0.5 \cdot \left(x \cdot {y}^{4}\right)\right)\right)
(FPCore (x y) :precision binary64 (* x (exp (* y y))))
(FPCore (x y) :precision binary64 (+ (* 0.16666666666666666 (* (pow y 6.0) x)) (+ (* x (pow y 2.0)) (+ x (* 0.5 (* x (pow y 4.0)))))))
double code(double x, double y) {
return x * exp(y * y);
}
double code(double x, double y) {
return (0.16666666666666666 * (pow(y, 6.0) * x)) + ((x * pow(y, 2.0)) + (x + (0.5 * (x * pow(y, 4.0)))));
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.3 |
Initial program 0.0
rmApplied *-un-lft-identity_binary640.0
Applied associate-*l*_binary640.0
Simplified0.0
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2021204
(FPCore (x y)
:name "Data.Number.Erf:$dmerfcx from erf-2.0.0.0"
:precision binary64
:herbie-target
(* x (pow (exp y) y))
(* x (exp (* y y))))