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 r152674 = 1.0;
double r152675 = s;
double r152676 = -r152675;
double r152677 = exp(r152676);
double r152678 = r152674 + r152677;
double r152679 = r152674 / r152678;
double r152680 = c_p;
double r152681 = pow(r152679, r152680);
double r152682 = r152674 - r152679;
double r152683 = c_n;
double r152684 = pow(r152682, r152683);
double r152685 = r152681 * r152684;
double r152686 = t;
double r152687 = -r152686;
double r152688 = exp(r152687);
double r152689 = r152674 + r152688;
double r152690 = r152674 / r152689;
double r152691 = pow(r152690, r152680);
double r152692 = r152674 - r152690;
double r152693 = pow(r152692, r152683);
double r152694 = r152691 * r152693;
double r152695 = r152685 / r152694;
return r152695;
}
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))))