Average Error: 0.0 → 0.0
Time: 1.5m
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{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}} + \frac{NaChar}{e^{\frac{\left(\left(Ev + Vef\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 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}} + \frac{NaChar}{e^{\frac{\left(\left(Ev + Vef\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 r40056261 = NdChar;
        double r40056262 = 1.0;
        double r40056263 = Ec;
        double r40056264 = Vef;
        double r40056265 = r40056263 - r40056264;
        double r40056266 = EDonor;
        double r40056267 = r40056265 - r40056266;
        double r40056268 = mu;
        double r40056269 = r40056267 - r40056268;
        double r40056270 = -r40056269;
        double r40056271 = KbT;
        double r40056272 = r40056270 / r40056271;
        double r40056273 = exp(r40056272);
        double r40056274 = r40056262 + r40056273;
        double r40056275 = r40056261 / r40056274;
        double r40056276 = NaChar;
        double r40056277 = Ev;
        double r40056278 = r40056277 + r40056264;
        double r40056279 = EAccept;
        double r40056280 = r40056278 + r40056279;
        double r40056281 = -r40056268;
        double r40056282 = r40056280 + r40056281;
        double r40056283 = r40056282 / r40056271;
        double r40056284 = exp(r40056283);
        double r40056285 = r40056262 + r40056284;
        double r40056286 = r40056276 / r40056285;
        double r40056287 = r40056275 + r40056286;
        return r40056287;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r40056288 = NdChar;
        double r40056289 = 1.0;
        double r40056290 = Ec;
        double r40056291 = EDonor;
        double r40056292 = mu;
        double r40056293 = Vef;
        double r40056294 = r40056292 + r40056293;
        double r40056295 = r40056291 + r40056294;
        double r40056296 = r40056290 - r40056295;
        double r40056297 = KbT;
        double r40056298 = r40056296 / r40056297;
        double r40056299 = -r40056298;
        double r40056300 = exp(r40056299);
        double r40056301 = r40056289 + r40056300;
        double r40056302 = r40056288 / r40056301;
        double r40056303 = NaChar;
        double r40056304 = Ev;
        double r40056305 = r40056304 + r40056293;
        double r40056306 = r40056305 - r40056292;
        double r40056307 = EAccept;
        double r40056308 = r40056306 + r40056307;
        double r40056309 = r40056308 / r40056297;
        double r40056310 = exp(r40056309);
        double r40056311 = r40056310 + r40056289;
        double r40056312 = r40056303 / r40056311;
        double r40056313 = r40056302 + r40056312;
        return r40056313;
}

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

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

Reproduce

herbie shell --seed 2019112 +o rules:numerics
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  (+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))