\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 + \sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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 r261597 = NdChar;
double r261598 = 1.0;
double r261599 = Ec;
double r261600 = Vef;
double r261601 = r261599 - r261600;
double r261602 = EDonor;
double r261603 = r261601 - r261602;
double r261604 = mu;
double r261605 = r261603 - r261604;
double r261606 = -r261605;
double r261607 = KbT;
double r261608 = r261606 / r261607;
double r261609 = exp(r261608);
double r261610 = r261598 + r261609;
double r261611 = r261597 / r261610;
double r261612 = NaChar;
double r261613 = Ev;
double r261614 = r261613 + r261600;
double r261615 = EAccept;
double r261616 = r261614 + r261615;
double r261617 = -r261604;
double r261618 = r261616 + r261617;
double r261619 = r261618 / r261607;
double r261620 = exp(r261619);
double r261621 = r261598 + r261620;
double r261622 = r261612 / r261621;
double r261623 = r261611 + r261622;
return r261623;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r261624 = NdChar;
double r261625 = 1.0;
double r261626 = Ec;
double r261627 = Vef;
double r261628 = r261626 - r261627;
double r261629 = EDonor;
double r261630 = r261628 - r261629;
double r261631 = mu;
double r261632 = r261630 - r261631;
double r261633 = -r261632;
double r261634 = KbT;
double r261635 = r261633 / r261634;
double r261636 = exp(r261635);
double r261637 = sqrt(r261636);
double r261638 = r261637 * r261637;
double r261639 = r261625 + r261638;
double r261640 = r261624 / r261639;
double r261641 = NaChar;
double r261642 = Ev;
double r261643 = r261642 + r261627;
double r261644 = EAccept;
double r261645 = r261643 + r261644;
double r261646 = -r261631;
double r261647 = r261645 + r261646;
double r261648 = r261647 / r261634;
double r261649 = exp(r261648);
double r261650 = r261625 + r261649;
double r261651 = r261641 / r261650;
double r261652 = r261640 + r261651;
return r261652;
}



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
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2020020
(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))))))