Timeout in 10.0m

Use the --timeout flag to change the timeout.

\[0.0 \lt c_p \land 0.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 r152103 = 1.0;
        double r152104 = s;
        double r152105 = -r152104;
        double r152106 = exp(r152105);
        double r152107 = r152103 + r152106;
        double r152108 = r152103 / r152107;
        double r152109 = c_p;
        double r152110 = pow(r152108, r152109);
        double r152111 = r152103 - r152108;
        double r152112 = c_n;
        double r152113 = pow(r152111, r152112);
        double r152114 = r152110 * r152113;
        double r152115 = t;
        double r152116 = -r152115;
        double r152117 = exp(r152116);
        double r152118 = r152103 + r152117;
        double r152119 = r152103 / r152118;
        double r152120 = pow(r152119, r152109);
        double r152121 = r152103 - r152119;
        double r152122 = pow(r152121, r152112);
        double r152123 = r152120 * r152122;
        double r152124 = r152114 / r152123;
        return r152124;
}

Reproduce

herbie shell --seed 2019195 +o rules:numerics
(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))))