Average Error: 0.0 → 0.0
Time: 3.4s
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 r270982 = NdChar;
        double r270983 = 1.0;
        double r270984 = Ec;
        double r270985 = Vef;
        double r270986 = r270984 - r270985;
        double r270987 = EDonor;
        double r270988 = r270986 - r270987;
        double r270989 = mu;
        double r270990 = r270988 - r270989;
        double r270991 = -r270990;
        double r270992 = KbT;
        double r270993 = r270991 / r270992;
        double r270994 = exp(r270993);
        double r270995 = r270983 + r270994;
        double r270996 = r270982 / r270995;
        double r270997 = NaChar;
        double r270998 = Ev;
        double r270999 = r270998 + r270985;
        double r271000 = EAccept;
        double r271001 = r270999 + r271000;
        double r271002 = -r270989;
        double r271003 = r271001 + r271002;
        double r271004 = r271003 / r270992;
        double r271005 = exp(r271004);
        double r271006 = r270983 + r271005;
        double r271007 = r270997 / r271006;
        double r271008 = r270996 + r271007;
        return r271008;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r271009 = NdChar;
        double r271010 = 1.0;
        double r271011 = Ec;
        double r271012 = Vef;
        double r271013 = r271011 - r271012;
        double r271014 = EDonor;
        double r271015 = r271013 - r271014;
        double r271016 = mu;
        double r271017 = r271015 - r271016;
        double r271018 = -r271017;
        double r271019 = KbT;
        double r271020 = r271018 / r271019;
        double r271021 = exp(r271020);
        double r271022 = r271010 + r271021;
        double r271023 = r271009 / r271022;
        double r271024 = NaChar;
        double r271025 = Ev;
        double r271026 = r271025 + r271012;
        double r271027 = EAccept;
        double r271028 = r271026 + r271027;
        double r271029 = -r271016;
        double r271030 = r271028 + r271029;
        double r271031 = r271030 / r271019;
        double r271032 = exp(r271031);
        double r271033 = r271010 + r271032;
        double r271034 = r271024 / r271033;
        double r271035 = r271023 + r271034;
        return r271035;
}

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 2020083 
(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))))))