?

\[\frac{1}{x + 1} - \frac{1}{x} \]
(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]
\frac{1}{x + 1} - \frac{1}{x}

Reproduce?

Please include this information when filing a bug report:

herbie shell --seed 2023096 
(FPCore (x)
  :name "2frac (problem 3.3.1)"
  :precision binary64
  (- (/ 1.0 (+ x 1.0)) (/ 1.0 x)))

Backtrace

match-define: no matching clause for '((x +.f64 (/.f64 1 (+.f64 1 x)) (/.f64 -1 x)))LC
program-body/home/nightlies/herbie/remove-change/src/programs.rkt210
(unnamed)/usr/share/racket/collects/racket/contract/private/arrow-higher-order.rkt37933
gen-rewrites!/home/nightlies/herbie/remove-change/src/patch.rkt1450
patch-table-run/home/nightlies/herbie/remove-change/src/patch.rkt2960
(unnamed)/usr/share/racket/collects/racket/contract/private/arrow-val-first.rkt48618
run-iter!/home/nightlies/herbie/remove-change/src/mainloop.rkt2670
mutate!/home/nightlies/herbie/remove-change/src/mainloop.rkt3770
run-improve!/home/nightlies/herbie/remove-change/src/mainloop.rkt3250
run-herbie/home/nightlies/herbie/remove-change/src/sandbox.rkt570
(unnamed)/home/nightlies/herbie/remove-change/src/sandbox.rkt1336
(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