\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}}}NdChar \cdot \frac{1}{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 r210560 = NdChar;
double r210561 = 1.0;
double r210562 = Ec;
double r210563 = Vef;
double r210564 = r210562 - r210563;
double r210565 = EDonor;
double r210566 = r210564 - r210565;
double r210567 = mu;
double r210568 = r210566 - r210567;
double r210569 = -r210568;
double r210570 = KbT;
double r210571 = r210569 / r210570;
double r210572 = exp(r210571);
double r210573 = r210561 + r210572;
double r210574 = r210560 / r210573;
double r210575 = NaChar;
double r210576 = Ev;
double r210577 = r210576 + r210563;
double r210578 = EAccept;
double r210579 = r210577 + r210578;
double r210580 = -r210567;
double r210581 = r210579 + r210580;
double r210582 = r210581 / r210570;
double r210583 = exp(r210582);
double r210584 = r210561 + r210583;
double r210585 = r210575 / r210584;
double r210586 = r210574 + r210585;
return r210586;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r210587 = NdChar;
double r210588 = 1.0;
double r210589 = mu;
double r210590 = EDonor;
double r210591 = Ec;
double r210592 = Vef;
double r210593 = r210591 - r210592;
double r210594 = r210590 - r210593;
double r210595 = r210589 + r210594;
double r210596 = KbT;
double r210597 = r210595 / r210596;
double r210598 = exp(r210597);
double r210599 = 1.0;
double r210600 = r210598 + r210599;
double r210601 = r210588 / r210600;
double r210602 = r210587 * r210601;
double r210603 = NaChar;
double r210604 = Ev;
double r210605 = r210604 + r210592;
double r210606 = EAccept;
double r210607 = r210605 + r210606;
double r210608 = r210607 - r210589;
double r210609 = r210608 / r210596;
double r210610 = exp(r210609);
double r210611 = r210599 + r210610;
double r210612 = r210603 / r210611;
double r210613 = r210602 + r210612;
return r210613;
}



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
Results
Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Final simplification0.0
herbie shell --seed 2020046
(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))))))