e^{-w} \cdot {\ell}^{\left(e^{w}\right)}\frac{{\left({\left({\left({\ell}^{\left(\left|\sqrt[3]{e^{w}}\right|\right)}\right)}^{\left(\sqrt{\sqrt[3]{\sqrt{e^{w}}}}\right)}\right)}^{\left(\sqrt{\sqrt[3]{\sqrt{e^{w}}}}\right)}\right)}^{\left(\sqrt{e^{w}}\right)}}{e^{w}}(FPCore (w l) :precision binary64 (* (exp (- w)) (pow l (exp w))))
(FPCore (w l)
:precision binary64
(/
(pow
(pow
(pow (pow l (fabs (cbrt (exp w)))) (sqrt (cbrt (sqrt (exp w)))))
(sqrt (cbrt (sqrt (exp w)))))
(sqrt (exp w)))
(exp w)))double code(double w, double l) {
return ((double) (((double) exp(((double) -(w)))) * ((double) pow(l, ((double) exp(w))))));
}
double code(double w, double l) {
return (((double) pow(((double) pow(((double) pow(((double) pow(l, ((double) fabs(((double) cbrt(((double) exp(w)))))))), ((double) sqrt(((double) cbrt(((double) sqrt(((double) exp(w)))))))))), ((double) sqrt(((double) cbrt(((double) sqrt(((double) exp(w)))))))))), ((double) sqrt(((double) exp(w)))))) / ((double) exp(w)));
}



Bits error versus w



Bits error versus l
Results
Initial program 0.3
Simplified0.3
rmApplied add-sqr-sqrt_binary640.3
Applied pow-unpow_binary640.3
rmApplied add-cube-cbrt_binary640.4
Applied sqrt-prod_binary640.4
Applied pow-unpow_binary640.4
Simplified0.4
rmApplied add-sqr-sqrt_binary640.4
Applied cbrt-prod_binary640.3
Applied sqrt-prod_binary640.4
Applied pow-unpow_binary640.4
Final simplification0.4
herbie shell --seed 2020210
(FPCore (w l)
:name "exp-w crasher"
:precision binary64
(* (exp (- w)) (pow l (exp w))))