2frac (problem 3.3.1)

Specification

?
\[\begin{array}{l} \\ \frac{1}{x + 1} - \frac{1}{x} \end{array} \]
(FPCore (x) :precision binary64 (- (/ 1.0 (+ x 1.0)) (/ 1.0 x)))
double code(double x) {
	return (1.0 / (x + 1.0)) - (1.0 / x);
}
real(8) function code(x)
    real(8), intent (in) :: x
    code = (1.0d0 / (x + 1.0d0)) - (1.0d0 / x)
end function
public static double code(double x) {
	return (1.0 / (x + 1.0)) - (1.0 / x);
}
def code(x):
	return (1.0 / (x + 1.0)) - (1.0 / x)
function code(x)
	return Float64(Float64(1.0 / Float64(x + 1.0)) - Float64(1.0 / x))
end
function tmp = code(x)
	tmp = (1.0 / (x + 1.0)) - (1.0 / x);
end
code[x_] := N[(N[(1.0 / N[(x + 1.0), $MachinePrecision]), $MachinePrecision] - N[(1.0 / x), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{1}{x + 1} - \frac{1}{x}
\end{array}

Reproduce

?
herbie shell --seed 2024298 
(FPCore (x)
  :name "2frac (problem 3.3.1)"
  :precision binary64

  :alt
  (! :herbie-platform default (/ 1 (* x (- -1 x))))

  (- (/ 1.0 (+ x 1.0)) (/ 1.0 x)))

Please file a bug report with this information.

Backtrace

hash-set!: contract violation expected: (and/c hash? (not/c immutable?)) given: #<procedure:id->egglog> argument position: 1st other arguments...: '!= 'NeqLC
platform-spec-nodes/home/nightlies/herbie/varun10p-egglog/src/core/egglog-herbie.rkt1110
prelude/home/nightlies/herbie/varun10p-egglog/src/core/egglog-herbie.rkt750
run-improve!/home/nightlies/herbie/varun10p-egglog/src/core/mainloop.rkt460
get-alternatives/report/home/nightlies/herbie/varun10p-egglog/src/api/sandbox.rkt1860
(unnamed)/home/nightlies/herbie/varun10p-egglog/src/api/sandbox.rkt2826
(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