Average Error: 0.3 → 0.3
Time: 13.1s
Precision: binary64
Cost: 19456
\[e^{-w} \cdot {\ell}^{\left(e^{w}\right)} \]
\[\frac{{\ell}^{\left(e^{w}\right)}}{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(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)}
\frac{{\ell}^{\left(e^{w}\right)}}{e^{w}}

Error

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. Simplified0.3

    \[\leadsto \color{blue}{\frac{{\ell}^{\left(e^{w}\right)}}{e^{w}}} \]
    Proof
    (/.f64 (pow.f64 l (exp.f64 w)) (exp.f64 w)): 0 points increase in error, 0 points decrease in error
    (/.f64 (Rewrite<= *-lft-identity_binary64 (*.f64 1 (pow.f64 l (exp.f64 w)))) (exp.f64 w)): 0 points increase in error, 0 points decrease in error
    (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 1 (exp.f64 w)) (pow.f64 l (exp.f64 w)))): 2 points increase in error, 1 points decrease in error
    (*.f64 (Rewrite<= exp-neg_binary64 (exp.f64 (neg.f64 w))) (pow.f64 l (exp.f64 w))): 0 points increase in error, 0 points decrease in error
  3. Final simplification0.3

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

Alternatives

Alternative 1
Error0.8
Cost13696
\[\begin{array}{l} t_0 := 1 + w \cdot 0.5\\ \frac{\frac{{\ell}^{\left(e^{w}\right)}}{t_0}}{t_0} \end{array} \]
Alternative 2
Error1.3
Cost13376
\[\frac{\ell \cdot \left(1 + w \cdot \log \ell\right)}{e^{w}} \]
Alternative 3
Error1.3
Cost13376
\[\frac{\ell + \ell \cdot \left(w \cdot \log \ell\right)}{e^{w}} \]
Alternative 4
Error1.3
Cost13312
\[\frac{{\ell}^{\left(e^{w}\right)}}{1 + w \cdot 0.5} \]
Alternative 5
Error1.7
Cost6660
\[\begin{array}{l} \mathbf{if}\;w \leq 420:\\ \;\;\;\;\ell\\ \mathbf{else}:\\ \;\;\;\;e^{-w}\\ \end{array} \]
Alternative 6
Error1.7
Cost6592
\[\frac{\ell}{e^{w}} \]
Alternative 7
Error12.5
Cost1220
\[\begin{array}{l} \mathbf{if}\;w \leq 1.1 \cdot 10^{-7}:\\ \;\;\;\;\ell\\ \mathbf{else}:\\ \;\;\;\;\frac{\ell \cdot \ell - \left(\ell \cdot w\right) \cdot \left(\ell \cdot w\right)}{\ell + \ell \cdot w}\\ \end{array} \]
Alternative 8
Error13.5
Cost64
\[\ell \]

Error

Reproduce

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