Exp of sum of logs

Specification

?
\[\begin{array}{l} \\ e^{\log a + \log b} \end{array} \]
(FPCore (a b) :precision binary64 (exp (+ (log a) (log b))))
double code(double a, double b) {
	return exp((log(a) + log(b)));
}
real(8) function code(a, b)
    real(8), intent (in) :: a
    real(8), intent (in) :: b
    code = exp((log(a) + log(b)))
end function
public static double code(double a, double b) {
	return Math.exp((Math.log(a) + Math.log(b)));
}
def code(a, b):
	return math.exp((math.log(a) + math.log(b)))
function code(a, b)
	return exp(Float64(log(a) + log(b)))
end
function tmp = code(a, b)
	tmp = exp((log(a) + log(b)));
end
code[a_, b_] := N[Exp[N[(N[Log[a], $MachinePrecision] + N[Log[b], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
\begin{array}{l}

\\
e^{\log a + \log b}
\end{array}

Reproduce

?
herbie shell --seed 2024238 
(FPCore (a b)
  :name "Exp of sum of logs"
  :precision binary64

  :alt
  (! :herbie-platform default (* a b))

  (exp (+ (log a) (log b))))

Please file a bug report with this information.

Backtrace

flexp2: contract violation expected: flonum? given: 0.043952488503085974+0.0i in: the 1st argument of (-> flonum? any) contract from: <pkgs>/math-lib/math/private/flonum/flonum-exp.rkt blaming: <pkgs>/herbie/core/logspace.rkt (assuming the contract is correct) at: <pkgs>/math-lib/math/private/flonum/flonum-exp.rkt:99:11LC
raise-blame-error/usr/local/racket/collects/racket/contract/private/blame.rkt3460
(unnamed)/usr/local/racket/collects/racket/contract/private/arrow-higher-order.rkt37933
log+/home/nightlies/herbie/bhargav-log-space/src/core/logspace.rkt520
compiled-prog/home/nightlies/herbie/bhargav-log-space/src/core/compiler.rkt262
predict-errors/home/nightlies/herbie/bhargav-log-space/src/core/explain.rkt880
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