\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{1}{\frac{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}{NdChar}} + \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 r253804 = NdChar;
double r253805 = 1.0;
double r253806 = Ec;
double r253807 = Vef;
double r253808 = r253806 - r253807;
double r253809 = EDonor;
double r253810 = r253808 - r253809;
double r253811 = mu;
double r253812 = r253810 - r253811;
double r253813 = -r253812;
double r253814 = KbT;
double r253815 = r253813 / r253814;
double r253816 = exp(r253815);
double r253817 = r253805 + r253816;
double r253818 = r253804 / r253817;
double r253819 = NaChar;
double r253820 = Ev;
double r253821 = r253820 + r253807;
double r253822 = EAccept;
double r253823 = r253821 + r253822;
double r253824 = -r253811;
double r253825 = r253823 + r253824;
double r253826 = r253825 / r253814;
double r253827 = exp(r253826);
double r253828 = r253805 + r253827;
double r253829 = r253819 / r253828;
double r253830 = r253818 + r253829;
return r253830;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r253831 = 1.0;
double r253832 = 1.0;
double r253833 = Ec;
double r253834 = Vef;
double r253835 = r253833 - r253834;
double r253836 = EDonor;
double r253837 = r253835 - r253836;
double r253838 = mu;
double r253839 = r253837 - r253838;
double r253840 = -r253839;
double r253841 = KbT;
double r253842 = r253840 / r253841;
double r253843 = exp(r253842);
double r253844 = r253832 + r253843;
double r253845 = NdChar;
double r253846 = r253844 / r253845;
double r253847 = r253831 / r253846;
double r253848 = NaChar;
double r253849 = Ev;
double r253850 = r253849 + r253834;
double r253851 = EAccept;
double r253852 = r253850 + r253851;
double r253853 = -r253838;
double r253854 = r253852 + r253853;
double r253855 = r253854 / r253841;
double r253856 = exp(r253855);
double r253857 = r253832 + r253856;
double r253858 = r253848 / r253857;
double r253859 = r253847 + r253858;
return r253859;
}



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 clear-num0.1
Final simplification0.1
herbie shell --seed 2019353
(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))))))