Average Error: 0.0 → 0.0
Time: 16.7s
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{NaChar}{e^{\frac{EAccept + \left(\left(Ev - mu\right) + Vef\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - EDonor\right) - Vef\right)}{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{NaChar}{e^{\frac{EAccept + \left(\left(Ev - mu\right) + Vef\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - EDonor\right) - Vef\right)}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r6721462 = NdChar;
        double r6721463 = 1.0;
        double r6721464 = Ec;
        double r6721465 = Vef;
        double r6721466 = r6721464 - r6721465;
        double r6721467 = EDonor;
        double r6721468 = r6721466 - r6721467;
        double r6721469 = mu;
        double r6721470 = r6721468 - r6721469;
        double r6721471 = -r6721470;
        double r6721472 = KbT;
        double r6721473 = r6721471 / r6721472;
        double r6721474 = exp(r6721473);
        double r6721475 = r6721463 + r6721474;
        double r6721476 = r6721462 / r6721475;
        double r6721477 = NaChar;
        double r6721478 = Ev;
        double r6721479 = r6721478 + r6721465;
        double r6721480 = EAccept;
        double r6721481 = r6721479 + r6721480;
        double r6721482 = -r6721469;
        double r6721483 = r6721481 + r6721482;
        double r6721484 = r6721483 / r6721472;
        double r6721485 = exp(r6721484);
        double r6721486 = r6721463 + r6721485;
        double r6721487 = r6721477 / r6721486;
        double r6721488 = r6721476 + r6721487;
        return r6721488;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r6721489 = NaChar;
        double r6721490 = EAccept;
        double r6721491 = Ev;
        double r6721492 = mu;
        double r6721493 = r6721491 - r6721492;
        double r6721494 = Vef;
        double r6721495 = r6721493 + r6721494;
        double r6721496 = r6721490 + r6721495;
        double r6721497 = KbT;
        double r6721498 = r6721496 / r6721497;
        double r6721499 = exp(r6721498);
        double r6721500 = 1.0;
        double r6721501 = r6721499 + r6721500;
        double r6721502 = r6721489 / r6721501;
        double r6721503 = NdChar;
        double r6721504 = Ec;
        double r6721505 = EDonor;
        double r6721506 = r6721504 - r6721505;
        double r6721507 = r6721506 - r6721494;
        double r6721508 = r6721492 - r6721507;
        double r6721509 = r6721508 / r6721497;
        double r6721510 = exp(r6721509);
        double r6721511 = r6721510 + r6721500;
        double r6721512 = r6721503 / r6721511;
        double r6721513 = r6721502 + r6721512;
        return r6721513;
}

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

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

Reproduce

herbie shell --seed 2019172 +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))))))