e^{\left(x \cdot y\right) \cdot y}\frac{{\left(e^{\mathsf{log1p}\left(e^{\left(x \cdot y\right) \cdot y}\right)}\right)}^{3} - 1}{\mathsf{fma}\left(e^{\mathsf{log1p}\left(e^{\left(x \cdot y\right) \cdot y}\right)}, e^{\mathsf{log1p}\left(e^{\left(x \cdot y\right) \cdot y}\right)} + 1, 1\right)}double code(double x, double y) {
return ((double) exp(((double) (((double) (x * y)) * y))));
}
double code(double x, double y) {
return ((double) (((double) (((double) pow(((double) exp(((double) log1p(((double) exp(((double) (((double) (x * y)) * y)))))))), 3.0)) - 1.0)) / ((double) fma(((double) exp(((double) log1p(((double) exp(((double) (((double) (x * y)) * y)))))))), ((double) (((double) exp(((double) log1p(((double) exp(((double) (((double) (x * y)) * y)))))))) + 1.0)), 1.0))));
}



Bits error versus x



Bits error versus y
Results
Initial program 0.0
rmApplied expm1-log1p-u0.0
rmApplied expm1-udef0.1
rmApplied flip3--0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020121 +o rules:numerics
(FPCore (x y)
:name "Data.Random.Distribution.Normal:normalF from random-fu-0.2.6.2"
:precision binary64
(exp (* (* x y) y)))