x \cdot e^{y \cdot y}x \cdot {\left(e^{y}\right)}^{y}double code(double x, double y) {
return (x * exp((y * y)));
}
double code(double x, double y) {
return (x * pow(exp(y), y));
}




Bits error versus x




Bits error versus y
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
rmApplied add-log-exp0.1
Applied exp-to-pow0.1
Final simplification0.1
herbie shell --seed 2020102 +o rules:numerics
(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))))