x \cdot e^{y \cdot y}\left(\sqrt[3]{{\left(e^{y}\right)}^{\left(y + y\right)}} \cdot x\right) \cdot \sqrt[3]{{e}^{\left(y \cdot y\right)}}(FPCore (x y) :precision binary64 (* x (exp (* y y))))
(FPCore (x y) :precision binary64 (* (* (cbrt (pow (exp y) (+ y y))) x) (cbrt (pow E (* y y)))))
double code(double x, double y) {
return ((double) (x * ((double) exp(((double) (y * y))))));
}
double code(double x, double y) {
return ((double) (((double) (((double) cbrt(((double) pow(((double) exp(y)), ((double) (y + y)))))) * x)) * ((double) cbrt(((double) pow(((double) M_E), ((double) (y * y))))))));
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.1 |
Initial program 0.0
rmApplied add-log-exp_binary640.0
Applied exp-to-pow_binary640.0
rmApplied add-cbrt-cube_binary640.1
Simplified0.1
rmApplied unpow3_binary640.1
Applied cbrt-prod_binary640.1
Applied associate-*r*_binary640.1
Simplified0.1
rmApplied *-un-lft-identity_binary640.1
Applied exp-prod_binary640.1
Applied pow-pow_binary640.1
Final simplification0.1
herbie shell --seed 2020205
(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))))