\[x0 = 1.855 \land x1 = 0.000209 \lor x0 = 2.985 \land x1 = 0.0186\]
\[\frac{x0}{1 - x1} - x0\]
\frac{x0}{1 - x1} - x0
(FPCore (x0 x1) :precision binary64 (- (/ x0 (- 1.0 x1)) x0))
double code(double x0, double x1) {
	return (x0 / (1.0 - x1)) - x0;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2021067 
(FPCore (x0 x1)
  :name "(- (/ x0 (- 1 x1)) x0)"
  :precision binary64
  :pre (or (and (== x0 1.855) (== x1 0.000209)) (and (== x0 2.985) (== x1 0.0186)))

  :herbie-target
  (/ (* x0 x1) (- 1.0 x1))

  (- (/ x0 (- 1.0 x1)) x0))

Backtrace

simplify-batch: contract violation expected keyword argument #:precompute in: (-> (listof (or/c (listof any/c) symbol? value? real?)) #:precompute boolean? #:rules (listof rule?) (listof (listof (or/c (listof any/c) symbol? value? real?)))) contract from: (function simplify-batch) blaming: <pkgs>/herbie/core/simplify.rkt (assuming the contract is correct) at: <pkgs>/herbie/core/simplify.rkt:68.18LC
raise-blame-error/opt/racket-7.9/collects/racket/contract/private/blame.rkt3470
for-loop/opt/racket-7.9/collects/racket/contract/private/arrow-higher-order.rkt50813
kwd-checker/opt/racket-7.9/collects/racket/contract/private/arrow-higher-order.rkt49611
connected-components/data/pavpan/nightlies/herbie/egg-interface-fixes/src/symmetry.rkt170
run-improve/data/pavpan/nightlies/herbie/egg-interface-fixes/src/mainloop.rkt3870
(unnamed)/data/pavpan/nightlies/herbie/egg-interface-fixes/src/sandbox.rkt546
run/opt/racket-7.9/share/pkgs/profile-lib/main.rkt392
profile-thunk/opt/racket-7.9/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.9/collects/racket/engine.rkt4224