\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}{{e}^{\left(\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}\right)} + 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 r225523 = NdChar;
double r225524 = 1.0;
double r225525 = Ec;
double r225526 = Vef;
double r225527 = r225525 - r225526;
double r225528 = EDonor;
double r225529 = r225527 - r225528;
double r225530 = mu;
double r225531 = r225529 - r225530;
double r225532 = -r225531;
double r225533 = KbT;
double r225534 = r225532 / r225533;
double r225535 = exp(r225534);
double r225536 = r225524 + r225535;
double r225537 = r225523 / r225536;
double r225538 = NaChar;
double r225539 = Ev;
double r225540 = r225539 + r225526;
double r225541 = EAccept;
double r225542 = r225540 + r225541;
double r225543 = -r225530;
double r225544 = r225542 + r225543;
double r225545 = r225544 / r225533;
double r225546 = exp(r225545);
double r225547 = r225524 + r225546;
double r225548 = r225538 / r225547;
double r225549 = r225537 + r225548;
return r225549;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r225550 = NdChar;
double r225551 = exp(1.0);
double r225552 = mu;
double r225553 = EDonor;
double r225554 = Ec;
double r225555 = Vef;
double r225556 = r225554 - r225555;
double r225557 = r225553 - r225556;
double r225558 = r225552 + r225557;
double r225559 = KbT;
double r225560 = r225558 / r225559;
double r225561 = pow(r225551, r225560);
double r225562 = 1.0;
double r225563 = r225561 + r225562;
double r225564 = r225550 / r225563;
double r225565 = NaChar;
double r225566 = Ev;
double r225567 = r225566 + r225555;
double r225568 = EAccept;
double r225569 = r225567 + r225568;
double r225570 = r225569 - r225552;
double r225571 = r225570 / r225559;
double r225572 = exp(r225571);
double r225573 = r225562 + r225572;
double r225574 = r225565 / r225573;
double r225575 = r225564 + r225574;
return r225575;
}



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 *-un-lft-identity0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Applied exp-prod0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019235
(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))))))