x \cdot e^{y \cdot y}\left(x \cdot \left(\sqrt{e^{y \cdot y}} \cdot \left|\left(\sqrt[3]{\sqrt[3]{e^{y \cdot y}}} \cdot \sqrt[3]{\sqrt[3]{e^{y \cdot y}}}\right) \cdot \sqrt[3]{\sqrt[3]{e^{y \cdot y}}}\right|\right)\right) \cdot \sqrt{\sqrt[3]{e^{y \cdot y}}}double f(double x, double y) {
double r908642 = x;
double r908643 = y;
double r908644 = r908643 * r908643;
double r908645 = exp(r908644);
double r908646 = r908642 * r908645;
return r908646;
}
double f(double x, double y) {
double r908647 = x;
double r908648 = y;
double r908649 = r908648 * r908648;
double r908650 = exp(r908649);
double r908651 = sqrt(r908650);
double r908652 = cbrt(r908650);
double r908653 = cbrt(r908652);
double r908654 = r908653 * r908653;
double r908655 = r908654 * r908653;
double r908656 = fabs(r908655);
double r908657 = r908651 * r908656;
double r908658 = r908647 * r908657;
double r908659 = sqrt(r908652);
double r908660 = r908658 * r908659;
return r908660;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.1 |
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*r*0.0
rmApplied add-cube-cbrt0.0
Applied sqrt-prod0.0
Applied associate-*r*0.0
Simplified0.0
rmApplied add-cube-cbrt0.1
Final simplification0.1
herbie shell --seed 2019353 +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))))