Average Error: 0.0 → 0.1
Time: 22.6s
Precision: 64
\[\frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\]
\[\frac{NdChar}{1 + \log \left(e^{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}\right)} + \frac{NaChar}{e^{\frac{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1}\]
\frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}
\frac{NdChar}{1 + \log \left(e^{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}\right)} + \frac{NaChar}{e^{\frac{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r5972953 = NdChar;
        double r5972954 = 1.0;
        double r5972955 = Ec;
        double r5972956 = Vef;
        double r5972957 = r5972955 - r5972956;
        double r5972958 = EDonor;
        double r5972959 = r5972957 - r5972958;
        double r5972960 = mu;
        double r5972961 = r5972959 - r5972960;
        double r5972962 = -r5972961;
        double r5972963 = KbT;
        double r5972964 = r5972962 / r5972963;
        double r5972965 = exp(r5972964);
        double r5972966 = r5972954 + r5972965;
        double r5972967 = r5972953 / r5972966;
        double r5972968 = NaChar;
        double r5972969 = Ev;
        double r5972970 = r5972969 + r5972956;
        double r5972971 = EAccept;
        double r5972972 = r5972970 + r5972971;
        double r5972973 = -r5972960;
        double r5972974 = r5972972 + r5972973;
        double r5972975 = r5972974 / r5972963;
        double r5972976 = exp(r5972975);
        double r5972977 = r5972954 + r5972976;
        double r5972978 = r5972968 / r5972977;
        double r5972979 = r5972967 + r5972978;
        return r5972979;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r5972980 = NdChar;
        double r5972981 = 1.0;
        double r5972982 = mu;
        double r5972983 = Ec;
        double r5972984 = Vef;
        double r5972985 = r5972983 - r5972984;
        double r5972986 = EDonor;
        double r5972987 = r5972985 - r5972986;
        double r5972988 = r5972982 - r5972987;
        double r5972989 = KbT;
        double r5972990 = r5972988 / r5972989;
        double r5972991 = exp(r5972990);
        double r5972992 = exp(r5972991);
        double r5972993 = log(r5972992);
        double r5972994 = r5972981 + r5972993;
        double r5972995 = r5972980 / r5972994;
        double r5972996 = NaChar;
        double r5972997 = Ev;
        double r5972998 = r5972984 + r5972997;
        double r5972999 = r5972998 - r5972982;
        double r5973000 = EAccept;
        double r5973001 = r5972999 + r5973000;
        double r5973002 = r5973001 / r5972989;
        double r5973003 = exp(r5973002);
        double r5973004 = r5973003 + r5972981;
        double r5973005 = r5972996 / r5973004;
        double r5973006 = r5972995 + r5973005;
        return r5973006;
}

Error

Bits error versus NdChar

Bits error versus Ec

Bits error versus Vef

Bits error versus EDonor

Bits error versus mu

Bits error versus KbT

Bits error versus NaChar

Bits error versus Ev

Bits error versus EAccept

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\frac{NaChar}{1 + e^{\frac{EAccept + \left(\left(Vef + Ev\right) - mu\right)}{KbT}}} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}}\]
  3. Using strategy rm
  4. Applied add-log-exp0.1

    \[\leadsto \frac{NaChar}{1 + e^{\frac{EAccept + \left(\left(Vef + Ev\right) - mu\right)}{KbT}}} + \frac{NdChar}{\color{blue}{\log \left(e^{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}\right)} + 1}\]
  5. Final simplification0.1

    \[\leadsto \frac{NdChar}{1 + \log \left(e^{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}\right)} + \frac{NaChar}{e^{\frac{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1}\]

Reproduce

herbie shell --seed 2019174 
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  (+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))