x \cdot e^{y \cdot y}\left(\left(x \cdot {\left({\left(e^{y \cdot y}\right)}^{\frac{2}{3}}\right)}^{\frac{2}{3}}\right) \cdot {\left(\sqrt[3]{e^{y \cdot y}}\right)}^{\frac{2}{3}}\right) \cdot \sqrt[3]{e^{y \cdot y}}double f(double x, double y) {
double r728784 = x;
double r728785 = y;
double r728786 = r728785 * r728785;
double r728787 = exp(r728786);
double r728788 = r728784 * r728787;
return r728788;
}
double f(double x, double y) {
double r728789 = x;
double r728790 = y;
double r728791 = r728790 * r728790;
double r728792 = exp(r728791);
double r728793 = 0.6666666666666666;
double r728794 = pow(r728792, r728793);
double r728795 = pow(r728794, r728793);
double r728796 = r728789 * r728795;
double r728797 = cbrt(r728792);
double r728798 = pow(r728797, r728793);
double r728799 = r728796 * r728798;
double r728800 = r728799 * r728797;
return r728800;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied add-cube-cbrt0.1
Applied associate-*r*0.1
rmApplied pow1/30.0
Applied pow1/30.0
Applied pow-prod-up0.0
Simplified0.0
rmApplied add-cube-cbrt0.1
Applied unpow-prod-down0.1
Applied associate-*r*0.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2020033 +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))))