\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(Ev + Vef\right) - \left(mu - EAccept\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{\left(Vef + \left(mu - Ec\right)\right) + EDonor}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r9098687 = NdChar;
double r9098688 = 1.0;
double r9098689 = Ec;
double r9098690 = Vef;
double r9098691 = r9098689 - r9098690;
double r9098692 = EDonor;
double r9098693 = r9098691 - r9098692;
double r9098694 = mu;
double r9098695 = r9098693 - r9098694;
double r9098696 = -r9098695;
double r9098697 = KbT;
double r9098698 = r9098696 / r9098697;
double r9098699 = exp(r9098698);
double r9098700 = r9098688 + r9098699;
double r9098701 = r9098687 / r9098700;
double r9098702 = NaChar;
double r9098703 = Ev;
double r9098704 = r9098703 + r9098690;
double r9098705 = EAccept;
double r9098706 = r9098704 + r9098705;
double r9098707 = -r9098694;
double r9098708 = r9098706 + r9098707;
double r9098709 = r9098708 / r9098697;
double r9098710 = exp(r9098709);
double r9098711 = r9098688 + r9098710;
double r9098712 = r9098702 / r9098711;
double r9098713 = r9098701 + r9098712;
return r9098713;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r9098714 = NaChar;
double r9098715 = Ev;
double r9098716 = Vef;
double r9098717 = r9098715 + r9098716;
double r9098718 = mu;
double r9098719 = EAccept;
double r9098720 = r9098718 - r9098719;
double r9098721 = r9098717 - r9098720;
double r9098722 = KbT;
double r9098723 = r9098721 / r9098722;
double r9098724 = exp(r9098723);
double r9098725 = 1.0;
double r9098726 = r9098724 + r9098725;
double r9098727 = r9098714 / r9098726;
double r9098728 = NdChar;
double r9098729 = Ec;
double r9098730 = r9098718 - r9098729;
double r9098731 = r9098716 + r9098730;
double r9098732 = EDonor;
double r9098733 = r9098731 + r9098732;
double r9098734 = r9098733 / r9098722;
double r9098735 = exp(r9098734);
double r9098736 = r9098735 + r9098725;
double r9098737 = r9098728 / r9098736;
double r9098738 = r9098727 + r9098737;
return r9098738;
}



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
Final simplification0.0
herbie shell --seed 2019172
(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))))))