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 r8491862 = 1.0;
double r8491863 = s;
double r8491864 = -r8491863;
double r8491865 = exp(r8491864);
double r8491866 = r8491862 + r8491865;
double r8491867 = r8491862 / r8491866;
double r8491868 = c_p;
double r8491869 = pow(r8491867, r8491868);
double r8491870 = r8491862 - r8491867;
double r8491871 = c_n;
double r8491872 = pow(r8491870, r8491871);
double r8491873 = r8491869 * r8491872;
double r8491874 = t;
double r8491875 = -r8491874;
double r8491876 = exp(r8491875);
double r8491877 = r8491862 + r8491876;
double r8491878 = r8491862 / r8491877;
double r8491879 = pow(r8491878, r8491868);
double r8491880 = r8491862 - r8491878;
double r8491881 = pow(r8491880, r8491871);
double r8491882 = r8491879 * r8491881;
double r8491883 = r8491873 / r8491882;
return r8491883;
}
herbie shell --seed 2019138
(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))))