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 r7966252 = 1.0;
double r7966253 = s;
double r7966254 = -r7966253;
double r7966255 = exp(r7966254);
double r7966256 = r7966252 + r7966255;
double r7966257 = r7966252 / r7966256;
double r7966258 = c_p;
double r7966259 = pow(r7966257, r7966258);
double r7966260 = r7966252 - r7966257;
double r7966261 = c_n;
double r7966262 = pow(r7966260, r7966261);
double r7966263 = r7966259 * r7966262;
double r7966264 = t;
double r7966265 = -r7966264;
double r7966266 = exp(r7966265);
double r7966267 = r7966252 + r7966266;
double r7966268 = r7966252 / r7966267;
double r7966269 = pow(r7966268, r7966258);
double r7966270 = r7966252 - r7966268;
double r7966271 = pow(r7966270, r7966261);
double r7966272 = r7966269 * r7966271;
double r7966273 = r7966263 / r7966272;
return r7966273;
}
herbie shell --seed 2019172
(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))))