Average Error: 0.3 → 0.3
Time: 12.4s
Precision: binary64
\[e^{-w} \cdot {\ell}^{\left(e^{w}\right)}\]
\[\frac{{\left({\ell}^{\left(\sqrt{e^{w}}\right)}\right)}^{\left(\sqrt{e^{w}}\right)}}{e^{w}}\]
e^{-w} \cdot {\ell}^{\left(e^{w}\right)}
\frac{{\left({\ell}^{\left(\sqrt{e^{w}}\right)}\right)}^{\left(\sqrt{e^{w}}\right)}}{e^{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(l, ((double) sqrt(((double) exp(w)))))), ((double) sqrt(((double) exp(w)))))) / ((double) exp(w)));
}

Error

Bits error versus w

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program Error: 0.3 bits

    \[e^{-w} \cdot {\ell}^{\left(e^{w}\right)}\]
  2. SimplifiedError: 0.3 bits

    \[\leadsto \color{blue}{\frac{{\ell}^{\left(e^{w}\right)}}{e^{w}}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrtError: 0.3 bits

    \[\leadsto \frac{{\ell}^{\color{blue}{\left(\sqrt{e^{w}} \cdot \sqrt{e^{w}}\right)}}}{e^{w}}\]
  5. Applied pow-unpowError: 0.3 bits

    \[\leadsto \frac{\color{blue}{{\left({\ell}^{\left(\sqrt{e^{w}}\right)}\right)}^{\left(\sqrt{e^{w}}\right)}}}{e^{w}}\]
  6. Final simplificationError: 0.3 bits

    \[\leadsto \frac{{\left({\ell}^{\left(\sqrt{e^{w}}\right)}\right)}^{\left(\sqrt{e^{w}}\right)}}{e^{w}}\]

Reproduce

herbie shell --seed 2020200 
(FPCore (w l)
  :name "exp-w crasher"
  :precision binary64
  (* (exp (- w)) (pow l (exp w))))