Asymptote B

Specification

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

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

Reproduce

?
herbie shell --seed 2024012 
(FPCore (x)
  :name "Asymptote B"
  :precision binary64
  (+ (/ 1.0 (- x 1.0)) (/ x (+ x 1.0))))

Please file a bug report with this information.

Backtrace

car: contract violation expected: pair? given: '#(#s(si 4 64) (#s(si 5 58)))LC
err-lsts->split-indices/home/nightlies/herbie/zane-regimes-2/src/core/regimes.rkt1760
option-on-expr/home/nightlies/herbie/zane-regimes-2/src/core/regimes.rkt1060
infer-splitpoints/home/nightlies/herbie/zane-regimes-2/src/core/regimes.rkt390
loop/home/nightlies/herbie/zane-regimes-2/src/core/regimes.rkt272
loop/home/nightlies/herbie/zane-regimes-2/src/core/regimes.rkt272
extract!/home/nightlies/herbie/zane-regimes-2/src/mainloop.rkt3520
run-improve!/home/nightlies/herbie/zane-regimes-2/src/mainloop.rkt3260
get-alternatives/report/home/nightlies/herbie/zane-regimes-2/src/sandbox.rkt1500
(unnamed)/home/nightlies/herbie/zane-regimes-2/src/sandbox.rkt2466
(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