Timeout in 10.0m

Use the --timeout flag to change the timeout.

\[0 \lt c_p \land 0 \lt c_n\]
\[\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}}\]
\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 r9561188 = 1.0;
        double r9561189 = s;
        double r9561190 = -r9561189;
        double r9561191 = exp(r9561190);
        double r9561192 = r9561188 + r9561191;
        double r9561193 = r9561188 / r9561192;
        double r9561194 = c_p;
        double r9561195 = pow(r9561193, r9561194);
        double r9561196 = r9561188 - r9561193;
        double r9561197 = c_n;
        double r9561198 = pow(r9561196, r9561197);
        double r9561199 = r9561195 * r9561198;
        double r9561200 = t;
        double r9561201 = -r9561200;
        double r9561202 = exp(r9561201);
        double r9561203 = r9561188 + r9561202;
        double r9561204 = r9561188 / r9561203;
        double r9561205 = pow(r9561204, r9561194);
        double r9561206 = r9561188 - r9561204;
        double r9561207 = pow(r9561206, r9561197);
        double r9561208 = r9561205 * r9561207;
        double r9561209 = r9561199 / r9561208;
        return r9561209;
}

Reproduce

herbie shell --seed 2019158 +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))))