Use the --timeout flag to change the timeout.
\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 r178652 = 1.0;
double r178653 = s;
double r178654 = -r178653;
double r178655 = exp(r178654);
double r178656 = r178652 + r178655;
double r178657 = r178652 / r178656;
double r178658 = c_p;
double r178659 = pow(r178657, r178658);
double r178660 = r178652 - r178657;
double r178661 = c_n;
double r178662 = pow(r178660, r178661);
double r178663 = r178659 * r178662;
double r178664 = t;
double r178665 = -r178664;
double r178666 = exp(r178665);
double r178667 = r178652 + r178666;
double r178668 = r178652 / r178667;
double r178669 = pow(r178668, r178658);
double r178670 = r178652 - r178668;
double r178671 = pow(r178670, r178661);
double r178672 = r178669 * r178671;
double r178673 = r178663 / r178672;
return r178673;
}
herbie shell --seed 2019195
(FPCore (c_p c_n t s)
:name "Harley's example"
:pre (and (< 0.0 c_p) (< 0.0 c_n))
:herbie-target
(* (pow (/ (+ 1.0 (exp (- t))) (+ 1.0 (exp (- s)))) c_p) (pow (/ (+ 1.0 (exp t)) (+ 1.0 (exp s))) c_n))
(/ (* (pow (/ 1.0 (+ 1.0 (exp (- s)))) c_p) (pow (- 1.0 (/ 1.0 (+ 1.0 (exp (- s))))) c_n)) (* (pow (/ 1.0 (+ 1.0 (exp (- t)))) c_p) (pow (- 1.0 (/ 1.0 (+ 1.0 (exp (- t))))) c_n))))