Average Error: 0.0 → 0.0
Time: 12.8s
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}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{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}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r176168 = NdChar;
        double r176169 = 1.0;
        double r176170 = Ec;
        double r176171 = Vef;
        double r176172 = r176170 - r176171;
        double r176173 = EDonor;
        double r176174 = r176172 - r176173;
        double r176175 = mu;
        double r176176 = r176174 - r176175;
        double r176177 = -r176176;
        double r176178 = KbT;
        double r176179 = r176177 / r176178;
        double r176180 = exp(r176179);
        double r176181 = r176169 + r176180;
        double r176182 = r176168 / r176181;
        double r176183 = NaChar;
        double r176184 = Ev;
        double r176185 = r176184 + r176171;
        double r176186 = EAccept;
        double r176187 = r176185 + r176186;
        double r176188 = -r176175;
        double r176189 = r176187 + r176188;
        double r176190 = r176189 / r176178;
        double r176191 = exp(r176190);
        double r176192 = r176169 + r176191;
        double r176193 = r176183 / r176192;
        double r176194 = r176182 + r176193;
        return r176194;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r176195 = NdChar;
        double r176196 = mu;
        double r176197 = EDonor;
        double r176198 = Ec;
        double r176199 = Vef;
        double r176200 = r176198 - r176199;
        double r176201 = r176197 - r176200;
        double r176202 = r176196 + r176201;
        double r176203 = KbT;
        double r176204 = r176202 / r176203;
        double r176205 = exp(r176204);
        double r176206 = 1.0;
        double r176207 = r176205 + r176206;
        double r176208 = r176195 / r176207;
        double r176209 = NaChar;
        double r176210 = Ev;
        double r176211 = r176210 + r176199;
        double r176212 = EAccept;
        double r176213 = r176211 + r176212;
        double r176214 = r176213 - r176196;
        double r176215 = r176214 / r176203;
        double r176216 = exp(r176215);
        double r176217 = r176206 + r176216;
        double r176218 = r176209 / r176217;
        double r176219 = r176208 + r176218;
        return r176219;
}

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{NdChar}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}}\]
  3. Final simplification0.0

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

Reproduce

herbie shell --seed 2019199 +o rules:numerics
(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))))))