# Timeout in 2.5m

Use the --timeout flag to change the timeout.

$0.0 \lt cp \land 0.0 \lt cn$
$\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{cp} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{cn}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{cp} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{cn}}$
\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{cp} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{cn}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{cp} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{cn}}
double f(double cp, double cn, double t, double s) {
double r10915981 = 1.0;
double r10915982 = s;
double r10915983 = -r10915982;
double r10915984 = exp(r10915983);
double r10915985 = r10915981 + r10915984;
double r10915986 = r10915981 / r10915985;
double r10915987 = cp;
double r10915988 = pow(r10915986, r10915987);
double r10915989 = r10915981 - r10915986;
double r10915990 = cn;
double r10915991 = pow(r10915989, r10915990);
double r10915992 = r10915988 * r10915991;
double r10915993 = t;
double r10915994 = -r10915993;
double r10915995 = exp(r10915994);
double r10915996 = r10915981 + r10915995;
double r10915997 = r10915981 / r10915996;
double r10915998 = pow(r10915997, r10915987);
double r10915999 = r10915981 - r10915997;
double r10916000 = pow(r10915999, r10915990);
double r10916001 = r10915998 * r10916000;
double r10916002 = r10915992 / r10916001;
return r10916002;
}



# Reproduce

herbie shell --seed 1
(FPCore (cp cn t s)
:name "Probabilities in a clustering algorithm"
:pre (and (< 0.0 cp) (< 0.0 cn))
(/ (* (pow (/ 1.0 (+ 1.0 (exp (- s)))) cp) (pow (- 1.0 (/ 1.0 (+ 1.0 (exp (- s))))) cn)) (* (pow (/ 1.0 (+ 1.0 (exp (- t)))) cp) (pow (- 1.0 (/ 1.0 (+ 1.0 (exp (- t))))) cn))))