Average Error: 0.0 → 0.0
Time: 22.6s
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{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\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{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r174479 = NdChar;
        double r174480 = 1.0;
        double r174481 = Ec;
        double r174482 = Vef;
        double r174483 = r174481 - r174482;
        double r174484 = EDonor;
        double r174485 = r174483 - r174484;
        double r174486 = mu;
        double r174487 = r174485 - r174486;
        double r174488 = -r174487;
        double r174489 = KbT;
        double r174490 = r174488 / r174489;
        double r174491 = exp(r174490);
        double r174492 = r174480 + r174491;
        double r174493 = r174479 / r174492;
        double r174494 = NaChar;
        double r174495 = Ev;
        double r174496 = r174495 + r174482;
        double r174497 = EAccept;
        double r174498 = r174496 + r174497;
        double r174499 = -r174486;
        double r174500 = r174498 + r174499;
        double r174501 = r174500 / r174489;
        double r174502 = exp(r174501);
        double r174503 = r174480 + r174502;
        double r174504 = r174494 / r174503;
        double r174505 = r174493 + r174504;
        return r174505;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r174506 = NaChar;
        double r174507 = Vef;
        double r174508 = Ev;
        double r174509 = r174507 + r174508;
        double r174510 = mu;
        double r174511 = r174509 - r174510;
        double r174512 = EAccept;
        double r174513 = r174511 + r174512;
        double r174514 = KbT;
        double r174515 = r174513 / r174514;
        double r174516 = exp(r174515);
        double r174517 = 1.0;
        double r174518 = r174516 + r174517;
        double r174519 = r174506 / r174518;
        double r174520 = NdChar;
        double r174521 = Ec;
        double r174522 = r174521 - r174507;
        double r174523 = EDonor;
        double r174524 = r174522 - r174523;
        double r174525 = r174510 - r174524;
        double r174526 = r174525 / r174514;
        double r174527 = exp(r174526);
        double r174528 = r174527 + r174517;
        double r174529 = r174520 / r174528;
        double r174530 = r174519 + r174529;
        return r174530;
}

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

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

Reproduce

herbie shell --seed 2019196 
(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))))))