x \cdot e^{y \cdot y}x \cdot \mathsf{expm1}\left(\mathsf{log1p}\left({\left(e^{y}\right)}^{y}\right)\right)double f(double x, double y) {
double r970191 = x;
double r970192 = y;
double r970193 = r970192 * r970192;
double r970194 = exp(r970193);
double r970195 = r970191 * r970194;
return r970195;
}
double f(double x, double y) {
double r970196 = x;
double r970197 = y;
double r970198 = exp(r970197);
double r970199 = pow(r970198, r970197);
double r970200 = log1p(r970199);
double r970201 = expm1(r970200);
double r970202 = r970196 * r970201;
return r970202;
}




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 expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2019362 +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))))