\[0.0 \lt c_p \land 0.0 \lt c_n\]
\[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c_n}}\]
\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c_n}}
double f(double c_p, double c_n, double t, double s) {
        double r9963 = 1.0;
        double r9964 = s;
        double r9965 = -r9964;
        double r9966 = exp(r9965);
        double r9967 = r9963 + r9966;
        double r9968 = r9963 / r9967;
        double r9969 = c_p;
        double r9970 = pow(r9968, r9969);
        double r9971 = r9963 - r9968;
        double r9972 = c_n;
        double r9973 = pow(r9971, r9972);
        double r9974 = r9970 * r9973;
        double r9975 = t;
        double r9976 = -r9975;
        double r9977 = exp(r9976);
        double r9978 = r9963 + r9977;
        double r9979 = r9963 / r9978;
        double r9980 = pow(r9979, r9969);
        double r9981 = r9963 - r9979;
        double r9982 = pow(r9981, r9972);
        double r9983 = r9980 * r9982;
        double r9984 = r9974 / r9983;
        return r9984;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019310 +o rules:numerics
(FPCore (c_p c_n t s)
  :name "Harley's example"
  :precision binary64
  :pre (and (< 0.0 c_p) (< 0.0 c_n))

  :herbie-target
  (* (pow (/ (+ 1 (exp (- t))) (+ 1 (exp (- s)))) c_p) (pow (/ (+ 1 (exp t)) (+ 1 (exp s))) c_n))

  (/ (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))))

Backtrace

match: no matching clause for 'binary64LC
match:error/opt/racket-7.2/collects/racket/match/runtime.rkt240
make-multiplication-subsubsubnode/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt2660
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
simplify/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/reduce.rkt160
hash-ref!/opt/racket-7.2/collects/racket/private/more-scheme.rkt3762
for-loop/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/taylor.rkt30427
(unnamed)/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/taylor.rkt30123
hash-ref!/opt/racket-7.2/collects/racket/private/more-scheme.rkt3762
(unnamed)/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/taylor.rkt34433
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
(unnamed)/data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/taylor.rkt6815
hash-ref!/opt/racket-7.2/collects/racket/private/more-scheme.rkt3762
(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