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 r9789015 = 1.0;
double r9789016 = s;
double r9789017 = -r9789016;
double r9789018 = exp(r9789017);
double r9789019 = r9789015 + r9789018;
double r9789020 = r9789015 / r9789019;
double r9789021 = c_p;
double r9789022 = pow(r9789020, r9789021);
double r9789023 = r9789015 - r9789020;
double r9789024 = c_n;
double r9789025 = pow(r9789023, r9789024);
double r9789026 = r9789022 * r9789025;
double r9789027 = t;
double r9789028 = -r9789027;
double r9789029 = exp(r9789028);
double r9789030 = r9789015 + r9789029;
double r9789031 = r9789015 / r9789030;
double r9789032 = pow(r9789031, r9789021);
double r9789033 = r9789015 - r9789031;
double r9789034 = pow(r9789033, r9789024);
double r9789035 = r9789032 * r9789034;
double r9789036 = r9789026 / r9789035;
return r9789036;
}
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))))