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 r53274353 = 1.0;
double r53274354 = s;
double r53274355 = -r53274354;
double r53274356 = exp(r53274355);
double r53274357 = r53274353 + r53274356;
double r53274358 = r53274353 / r53274357;
double r53274359 = c_p;
double r53274360 = pow(r53274358, r53274359);
double r53274361 = r53274353 - r53274358;
double r53274362 = c_n;
double r53274363 = pow(r53274361, r53274362);
double r53274364 = r53274360 * r53274363;
double r53274365 = t;
double r53274366 = -r53274365;
double r53274367 = exp(r53274366);
double r53274368 = r53274353 + r53274367;
double r53274369 = r53274353 / r53274368;
double r53274370 = pow(r53274369, r53274359);
double r53274371 = r53274353 - r53274369;
double r53274372 = pow(r53274371, r53274362);
double r53274373 = r53274370 * r53274372;
double r53274374 = r53274364 / r53274373;
return r53274374;
}
herbie shell --seed 2019107 +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))))