\[\frac{a1 \cdot a2}{b1 \cdot b2}\]
\frac{a1 \cdot a2}{b1 \cdot b2}
double f(double a1, double a2, double b1, double b2) {
        double r9526 = a1;
        double r9527 = a2;
        double r9528 = r9526 * r9527;
        double r9529 = b1;
        double r9530 = b2;
        double r9531 = r9529 * r9530;
        double r9532 = r9528 / r9531;
        return r9532;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019310 +o rules:numerics
(FPCore (a1 a2 b1 b2)
  :name "Quotient of products"
  :precision binary64

  :herbie-target
  (* (/ a1 b1) (/ a2 b2))

  (/ (* a1 a2) (* b1 b2)))

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
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
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