exp-w (used to crash)

Specification

?
\[\begin{array}{l} \\ e^{-w} \cdot {\ell}^{\left(e^{w}\right)} \end{array} \]
(FPCore (w l) :precision binary64 (* (exp (- w)) (pow l (exp w))))
double code(double w, double l) {
	return 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
public static double code(double w, double l) {
	return Math.exp(-w) * Math.pow(l, Math.exp(w));
}
def code(w, l):
	return math.exp(-w) * math.pow(l, math.exp(w))
function code(w, l)
	return Float64(exp(Float64(-w)) * (l ^ exp(w)))
end
function tmp = code(w, l)
	tmp = exp(-w) * (l ^ exp(w));
end
code[w_, l_] := N[(N[Exp[(-w)], $MachinePrecision] * N[Power[l, N[Exp[w], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
e^{-w} \cdot {\ell}^{\left(e^{w}\right)}
\end{array}

Reproduce

?
herbie shell --seed 2023271 
(FPCore (w l)
  :name "exp-w (used to crash)"
  :precision binary64
  (* (exp (- w)) (pow l (exp w))))

Please file a bug report with this information.

Backtrace

length: contract violation expected: list? given: 8000LC
(unnamed)/home/nightlies/herbie/arb-support/egg-herbie/main.rkt1112
egraph-run/home/nightlies/herbie/main/src/core/egg-herbie.rkt5020
egraph-run-rules/home/nightlies/herbie/main/src/core/egg-herbie.rkt5590
run-egg/home/nightlies/herbie/main/src/core/egg-herbie.rkt2880
simplify-batch/home/nightlies/herbie/main/src/core/simplify.rkt150
(unnamed)/usr/share/racket/collects/racket/contract/private/arrow-higher-order.rkt37933
find-preprocessing/home/nightlies/herbie/main/src/preprocess.rkt110
run-improve!/home/nightlies/herbie/main/src/mainloop.rkt3250
get-alternatives/report/home/nightlies/herbie/main/src/sandbox.rkt1490
(unnamed)/home/nightlies/herbie/main/src/sandbox.rkt2456
(unnamed)/usr/share/racket/pkgs/profile-lib/main.rkt4010
profile-thunk/usr/share/racket/pkgs/profile-lib/main.rkt90
(unnamed)/usr/share/racket/collects/racket/engine.rkt4224