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 r9059990 = 1.0;
double r9059991 = s;
double r9059992 = -r9059991;
double r9059993 = exp(r9059992);
double r9059994 = r9059990 + r9059993;
double r9059995 = r9059990 / r9059994;
double r9059996 = c_p;
double r9059997 = pow(r9059995, r9059996);
double r9059998 = r9059990 - r9059995;
double r9059999 = c_n;
double r9060000 = pow(r9059998, r9059999);
double r9060001 = r9059997 * r9060000;
double r9060002 = t;
double r9060003 = -r9060002;
double r9060004 = exp(r9060003);
double r9060005 = r9059990 + r9060004;
double r9060006 = r9059990 / r9060005;
double r9060007 = pow(r9060006, r9059996);
double r9060008 = r9059990 - r9060006;
double r9060009 = pow(r9060008, r9059999);
double r9060010 = r9060007 * r9060009;
double r9060011 = r9060001 / r9060010;
return r9060011;
}
herbie shell --seed 2019163 +o rules:numerics
(FPCore (c_p c_n t s)
:name "Harley's example"
:pre (and (< 0 c_p) (< 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))))