Average Error: 0.0 → 0.0
Time: 2.5s
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 r239347 = NdChar;
        double r239348 = 1.0;
        double r239349 = Ec;
        double r239350 = Vef;
        double r239351 = r239349 - r239350;
        double r239352 = EDonor;
        double r239353 = r239351 - r239352;
        double r239354 = mu;
        double r239355 = r239353 - r239354;
        double r239356 = -r239355;
        double r239357 = KbT;
        double r239358 = r239356 / r239357;
        double r239359 = exp(r239358);
        double r239360 = r239348 + r239359;
        double r239361 = r239347 / r239360;
        double r239362 = NaChar;
        double r239363 = Ev;
        double r239364 = r239363 + r239350;
        double r239365 = EAccept;
        double r239366 = r239364 + r239365;
        double r239367 = -r239354;
        double r239368 = r239366 + r239367;
        double r239369 = r239368 / r239357;
        double r239370 = exp(r239369);
        double r239371 = r239348 + r239370;
        double r239372 = r239362 / r239371;
        double r239373 = r239361 + r239372;
        return r239373;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r239374 = NdChar;
        double r239375 = 1.0;
        double r239376 = Ec;
        double r239377 = Vef;
        double r239378 = r239376 - r239377;
        double r239379 = EDonor;
        double r239380 = r239378 - r239379;
        double r239381 = mu;
        double r239382 = r239380 - r239381;
        double r239383 = -r239382;
        double r239384 = KbT;
        double r239385 = r239383 / r239384;
        double r239386 = exp(r239385);
        double r239387 = r239375 + r239386;
        double r239388 = r239374 / r239387;
        double r239389 = NaChar;
        double r239390 = Ev;
        double r239391 = r239390 + r239377;
        double r239392 = EAccept;
        double r239393 = r239391 + r239392;
        double r239394 = -r239381;
        double r239395 = r239393 + r239394;
        double r239396 = r239395 / r239384;
        double r239397 = exp(r239396);
        double r239398 = r239375 + r239397;
        double r239399 = r239389 / r239398;
        double r239400 = r239388 + r239399;
        return r239400;
}

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