Average Error: 0.0 → 0.0
Time: 9.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 + 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 + 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 + 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}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r199964 = NdChar;
        double r199965 = 1.0;
        double r199966 = Ec;
        double r199967 = Vef;
        double r199968 = r199966 - r199967;
        double r199969 = EDonor;
        double r199970 = r199968 - r199969;
        double r199971 = mu;
        double r199972 = r199970 - r199971;
        double r199973 = -r199972;
        double r199974 = KbT;
        double r199975 = r199973 / r199974;
        double r199976 = exp(r199975);
        double r199977 = r199965 + r199976;
        double r199978 = r199964 / r199977;
        double r199979 = NaChar;
        double r199980 = Ev;
        double r199981 = r199980 + r199967;
        double r199982 = EAccept;
        double r199983 = r199981 + r199982;
        double r199984 = -r199971;
        double r199985 = r199983 + r199984;
        double r199986 = r199985 / r199974;
        double r199987 = exp(r199986);
        double r199988 = r199965 + r199987;
        double r199989 = r199979 / r199988;
        double r199990 = r199978 + r199989;
        return r199990;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r199991 = NdChar;
        double r199992 = 1.0;
        double r199993 = Ec;
        double r199994 = Vef;
        double r199995 = r199993 - r199994;
        double r199996 = EDonor;
        double r199997 = r199995 - r199996;
        double r199998 = mu;
        double r199999 = r199997 - r199998;
        double r200000 = -r199999;
        double r200001 = KbT;
        double r200002 = r200000 / r200001;
        double r200003 = exp(r200002);
        double r200004 = r199992 + r200003;
        double r200005 = r199991 / r200004;
        double r200006 = NaChar;
        double r200007 = Ev;
        double r200008 = r200007 + r199994;
        double r200009 = EAccept;
        double r200010 = r200008 + r200009;
        double r200011 = -r199998;
        double r200012 = r200010 + r200011;
        double r200013 = r200012 / r200001;
        double r200014 = exp(r200013);
        double r200015 = r199992 + r200014;
        double r200016 = r200006 / r200015;
        double r200017 = r200005 + r200016;
        return r200017;
}

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. Final simplification0.0

    \[\leadsto \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}}}\]

Reproduce

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