Average Error: 0.3 → 0.3
Time: 16.2s
Precision: binary64
\[e^{-w} \cdot {\ell}^{\left(e^{w}\right)} \]
\[{\ell}^{\left(e^{w}\right)} \cdot e^{-w} \]
(FPCore (w l) :precision binary64 (* (exp (- w)) (pow l (exp w))))
(FPCore (w l) :precision binary64 (* (pow l (exp w)) (exp (- w))))
double code(double w, double l) {
	return exp(-w) * pow(l, exp(w));
}
double code(double w, double l) {
	return pow(l, exp(w)) * exp(-w);
}
real(8) function code(w, l)
    real(8), intent (in) :: w
    real(8), intent (in) :: l
    code = exp(-w) * (l ** exp(w))
end function
real(8) function code(w, l)
    real(8), intent (in) :: w
    real(8), intent (in) :: l
    code = (l ** exp(w)) * exp(-w)
end function
public static double code(double w, double l) {
	return Math.exp(-w) * Math.pow(l, Math.exp(w));
}
public static double code(double w, double l) {
	return Math.pow(l, Math.exp(w)) * Math.exp(-w);
}
def code(w, l):
	return math.exp(-w) * math.pow(l, math.exp(w))
def code(w, l):
	return math.pow(l, math.exp(w)) * math.exp(-w)
function code(w, l)
	return Float64(exp(Float64(-w)) * (l ^ exp(w)))
end
function code(w, l)
	return Float64((l ^ exp(w)) * exp(Float64(-w)))
end
function tmp = code(w, l)
	tmp = exp(-w) * (l ^ exp(w));
end
function tmp = code(w, l)
	tmp = (l ^ exp(w)) * exp(-w);
end
code[w_, l_] := N[(N[Exp[(-w)], $MachinePrecision] * N[Power[l, N[Exp[w], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
code[w_, l_] := N[(N[Power[l, N[Exp[w], $MachinePrecision]], $MachinePrecision] * N[Exp[(-w)], $MachinePrecision]), $MachinePrecision]
e^{-w} \cdot {\ell}^{\left(e^{w}\right)}
{\ell}^{\left(e^{w}\right)} \cdot e^{-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 0.3

    \[e^{-w} \cdot {\ell}^{\left(e^{w}\right)} \]
  2. Applied egg-rr0.6

    \[\leadsto e^{-w} \cdot \color{blue}{\left(\sqrt{{\ell}^{\left(e^{w}\right)}} \cdot \sqrt{{\ell}^{\left(e^{w}\right)}}\right)} \]
  3. Applied egg-rr0.3

    \[\leadsto e^{-w} \cdot \color{blue}{{\left({\ell}^{\left(\sqrt{e^{w}}\right)}\right)}^{\left(\sqrt{e^{w}}\right)}} \]
  4. Applied egg-rr0.3

    \[\leadsto e^{-w} \cdot \color{blue}{\left({\ell}^{\left(e^{w}\right)} \cdot 1\right)} \]
  5. Taylor expanded in w around -inf 0.3

    \[\leadsto \color{blue}{{\ell}^{\left(e^{w}\right)} \cdot e^{-1 \cdot w}} \]
  6. Final simplification0.3

    \[\leadsto {\ell}^{\left(e^{w}\right)} \cdot e^{-w} \]

Reproduce

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