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



Bits error versus w



Bits error versus l
Results
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt_binary64_7720.2
Applied add-sqr-sqrt_binary64_7720.6
Applied unpow-prod-down_binary64_8270.6
Applied times-frac_binary64_7570.6
rmApplied add-sqr-sqrt_binary64_7720.7
Applied pow-unpow_binary64_8250.7
rmApplied add-sqr-sqrt_binary64_7720.7
Applied pow-unpow_binary64_8250.7
rmApplied pow-pow_binary64_8200.7
Final simplification0.7
herbie shell --seed 2020281
(FPCore (w l)
:name "exp-w crasher"
:precision binary64
(* (exp (- w)) (pow l (exp w))))