\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^{\frac{\left(Vef + \left(EDonor - Ec\right)\right) + mu}{KbT}} + 1} + \frac{NaChar}{e^{\frac{\left(Vef + EAccept\right) + \left(Ev - mu\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r7720769 = NdChar;
double r7720770 = 1.0;
double r7720771 = Ec;
double r7720772 = Vef;
double r7720773 = r7720771 - r7720772;
double r7720774 = EDonor;
double r7720775 = r7720773 - r7720774;
double r7720776 = mu;
double r7720777 = r7720775 - r7720776;
double r7720778 = -r7720777;
double r7720779 = KbT;
double r7720780 = r7720778 / r7720779;
double r7720781 = exp(r7720780);
double r7720782 = r7720770 + r7720781;
double r7720783 = r7720769 / r7720782;
double r7720784 = NaChar;
double r7720785 = Ev;
double r7720786 = r7720785 + r7720772;
double r7720787 = EAccept;
double r7720788 = r7720786 + r7720787;
double r7720789 = -r7720776;
double r7720790 = r7720788 + r7720789;
double r7720791 = r7720790 / r7720779;
double r7720792 = exp(r7720791);
double r7720793 = r7720770 + r7720792;
double r7720794 = r7720784 / r7720793;
double r7720795 = r7720783 + r7720794;
return r7720795;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r7720796 = NdChar;
double r7720797 = Vef;
double r7720798 = EDonor;
double r7720799 = Ec;
double r7720800 = r7720798 - r7720799;
double r7720801 = r7720797 + r7720800;
double r7720802 = mu;
double r7720803 = r7720801 + r7720802;
double r7720804 = KbT;
double r7720805 = r7720803 / r7720804;
double r7720806 = exp(r7720805);
double r7720807 = 1.0;
double r7720808 = r7720806 + r7720807;
double r7720809 = r7720796 / r7720808;
double r7720810 = NaChar;
double r7720811 = EAccept;
double r7720812 = r7720797 + r7720811;
double r7720813 = Ev;
double r7720814 = r7720813 - r7720802;
double r7720815 = r7720812 + r7720814;
double r7720816 = r7720815 / r7720804;
double r7720817 = exp(r7720816);
double r7720818 = r7720817 + r7720807;
double r7720819 = r7720810 / r7720818;
double r7720820 = r7720809 + r7720819;
return r7720820;
}



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 2019200
(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))))))