x \cdot e^{y \cdot y}\left(x \cdot {\left(e^{y}\right)}^{\left(\frac{y}{2}\right)}\right) \cdot \left(\sqrt{{\left(\sqrt{e^{y}}\right)}^{\left(\frac{y}{2}\right)} \cdot {\left(\sqrt{e^{y}}\right)}^{\left(\frac{y}{2}\right)}} \cdot \sqrt{{\left(e^{y}\right)}^{\left(\frac{y}{2}\right)}}\right)double f(double x, double y) {
double r819861 = x;
double r819862 = y;
double r819863 = r819862 * r819862;
double r819864 = exp(r819863);
double r819865 = r819861 * r819864;
return r819865;
}
double f(double x, double y) {
double r819866 = x;
double r819867 = y;
double r819868 = exp(r819867);
double r819869 = 2.0;
double r819870 = r819867 / r819869;
double r819871 = pow(r819868, r819870);
double r819872 = r819866 * r819871;
double r819873 = sqrt(r819868);
double r819874 = pow(r819873, r819870);
double r819875 = r819874 * r819874;
double r819876 = sqrt(r819875);
double r819877 = sqrt(r819871);
double r819878 = r819876 * r819877;
double r819879 = r819872 * r819878;
return r819879;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied add-log-exp0.0
Applied exp-to-pow0.0
rmApplied add-sqr-sqrt0.0
Applied unpow-prod-down0.0
Applied associate-*r*0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Simplified0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied unpow-prod-down0.0
Final simplification0.0
herbie shell --seed 2020035 +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))))