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 r6012296 = 1.0;
double r6012297 = s;
double r6012298 = -r6012297;
double r6012299 = exp(r6012298);
double r6012300 = r6012296 + r6012299;
double r6012301 = r6012296 / r6012300;
double r6012302 = c_p;
double r6012303 = pow(r6012301, r6012302);
double r6012304 = r6012296 - r6012301;
double r6012305 = c_n;
double r6012306 = pow(r6012304, r6012305);
double r6012307 = r6012303 * r6012306;
double r6012308 = t;
double r6012309 = -r6012308;
double r6012310 = exp(r6012309);
double r6012311 = r6012296 + r6012310;
double r6012312 = r6012296 / r6012311;
double r6012313 = pow(r6012312, r6012302);
double r6012314 = r6012296 - r6012312;
double r6012315 = pow(r6012314, r6012305);
double r6012316 = r6012313 * r6012315;
double r6012317 = r6012307 / r6012316;
return r6012317;
}
herbie shell --seed 2019172 +o rules:numerics
(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))))