exp2 (problem 3.3.7)

Specification

?
\[\left|x\right| \leq 710\]
\[\begin{array}{l} \\ \left(e^{x} - 2\right) + e^{-x} \end{array} \]
(FPCore (x) :precision binary64 (+ (- (exp x) 2.0) (exp (- x))))
double code(double x) {
	return (exp(x) - 2.0) + exp(-x);
}
real(8) function code(x)
    real(8), intent (in) :: x
    code = (exp(x) - 2.0d0) + exp(-x)
end function
public static double code(double x) {
	return (Math.exp(x) - 2.0) + Math.exp(-x);
}
def code(x):
	return (math.exp(x) - 2.0) + math.exp(-x)
function code(x)
	return Float64(Float64(exp(x) - 2.0) + exp(Float64(-x)))
end
function tmp = code(x)
	tmp = (exp(x) - 2.0) + exp(-x);
end
code[x_] := N[(N[(N[Exp[x], $MachinePrecision] - 2.0), $MachinePrecision] + N[Exp[(-x)], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\left(e^{x} - 2\right) + e^{-x}
\end{array}

Reproduce

?
herbie shell --seed 2024238 
(FPCore (x)
  :name "exp2 (problem 3.3.7)"
  :precision binary64
  :pre (<= (fabs x) 710.0)

  :alt
  (! :herbie-platform default (* 4 (* (sinh (/ x 2)) (sinh (/ x 2)))))

  (+ (- (exp x) 2.0) (exp (- x))))

Please file a bug report with this information.

Backtrace

error: contract violation expected: string? given: 'neg.f64LC
f345.../match/compiler.rkt55940
loop.../private/map.rkt4019
loop.../private/map.rkt4019
compile-expr/home/nightlies/herbie/bhargav-log-space/src/core/explain.rkt700
explain/home/nightlies/herbie/bhargav-log-space/src/core/explain.rkt6140
explain!/home/nightlies/herbie/bhargav-log-space/src/core/mainloop.rkt3210
run-improve!/home/nightlies/herbie/bhargav-log-space/src/core/mainloop.rkt430
get-alternatives/report/home/nightlies/herbie/bhargav-log-space/src/api/sandbox.rkt1840
(unnamed)/home/nightlies/herbie/bhargav-log-space/src/api/sandbox.rkt2806
(unnamed)/usr/local/racket/share/pkgs/profile-lib/main.rkt4010
profile-thunk/usr/local/racket/share/pkgs/profile-lib/main.rkt90
(unnamed)/usr/local/racket/collects/racket/engine.rkt4224