\[\frac{x + y}{x - y}\]
\frac{x + y}{x - y}
double f(double x, double y) {
        double r26097 = x;
        double r26098 = y;
        double r26099 = r26097 + r26098;
        double r26100 = r26097 - r26098;
        double r26101 = r26099 / r26100;
        return r26101;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019310 +o rules:numerics
(FPCore (x y)
  :name "Linear.Projection:perspective from linear-1.19.1.3, A"
  :precision binary64

  :herbie-target
  (/ 1 (- (/ x (+ x y)) (/ y (+ x y))))

  (/ (+ x y) (- x y)))

Backtrace

match: no matching clause for 'binary64LC
match:error/opt/racket-7.2/collects/racket/match/runtime.rkt240
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt2463
make-multiplication-subnode/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt2440
make-multiplication-node/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt2340
map/opt/racket-7.2/collects/racket/private/map.rkt3513
f45/opt/racket-7.2/collects/racket/match/compiler.rkt50740
map/opt/racket-7.2/collects/racket/private/map.rkt3513
f45/opt/racket-7.2/collects/racket/match/compiler.rkt50740
simplify/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt160
hash-ref!/opt/racket-7.2/collects/racket/private/more-scheme.rkt3762
(unnamed)/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/taylor.rkt4515
hash-ref!/opt/racket-7.2/collects/racket/private/more-scheme.rkt3762
(unnamed)/opt/racket-7.2/collects/racket/contract/private/arrow-higher-order.rkt36033
(unnamed)/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/taylor.rkt6815
hash-ref!/opt/racket-7.2/collects/racket/private/more-scheme.rkt3762
loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/taylor.rkt874
approximate9/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/taylor.rkt120
(unnamed)/opt/racket-7.2/collects/racket/contract/private/arrow-higher-order.rkt36033
location-do/data/pavpan/nightlies/herbie/fix-interface-bugs/src/programs.rkt640
(unnamed)/opt/racket-7.2/collects/racket/contract/private/arrow-higher-order.rkt36033
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt1516
taylor-alt/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt1450
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt1667
gen-series!/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt1590
run-iter!/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt3260
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt3644
run-improve47/data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt3450
(unnamed)/opt/racket-7.2/collects/racket/private/more-scheme.rkt26128
run/opt/racket-7.2/share/pkgs/profile-lib/main.rkt392
profile-thunk16/opt/racket-7.2/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.2/collects/racket/private/more-scheme.rkt26128