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

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 *-un-lft-identity_binary640.3

    \[\leadsto e^{-w} \cdot {\color{blue}{\left(1 \cdot \ell\right)}}^{\left(e^{w}\right)} \]
  3. Applied unpow-prod-down_binary640.3

    \[\leadsto e^{-w} \cdot \color{blue}{\left({1}^{\left(e^{w}\right)} \cdot {\ell}^{\left(e^{w}\right)}\right)} \]
  4. Applied associate-*r*_binary640.3

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

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

Reproduce

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