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 r10773453 = 1.0;
double r10773454 = s;
double r10773455 = -r10773454;
double r10773456 = exp(r10773455);
double r10773457 = r10773453 + r10773456;
double r10773458 = r10773453 / r10773457;
double r10773459 = c_p;
double r10773460 = pow(r10773458, r10773459);
double r10773461 = r10773453 - r10773458;
double r10773462 = c_n;
double r10773463 = pow(r10773461, r10773462);
double r10773464 = r10773460 * r10773463;
double r10773465 = t;
double r10773466 = -r10773465;
double r10773467 = exp(r10773466);
double r10773468 = r10773453 + r10773467;
double r10773469 = r10773453 / r10773468;
double r10773470 = pow(r10773469, r10773459);
double r10773471 = r10773453 - r10773469;
double r10773472 = pow(r10773471, r10773462);
double r10773473 = r10773470 * r10773472;
double r10773474 = r10773464 / r10773473;
return r10773474;
}
herbie shell --seed 2019163
(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))))