\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}}}NdChar \cdot \frac{1}{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}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r156908 = NdChar;
double r156909 = 1.0;
double r156910 = Ec;
double r156911 = Vef;
double r156912 = r156910 - r156911;
double r156913 = EDonor;
double r156914 = r156912 - r156913;
double r156915 = mu;
double r156916 = r156914 - r156915;
double r156917 = -r156916;
double r156918 = KbT;
double r156919 = r156917 / r156918;
double r156920 = exp(r156919);
double r156921 = r156909 + r156920;
double r156922 = r156908 / r156921;
double r156923 = NaChar;
double r156924 = Ev;
double r156925 = r156924 + r156911;
double r156926 = EAccept;
double r156927 = r156925 + r156926;
double r156928 = -r156915;
double r156929 = r156927 + r156928;
double r156930 = r156929 / r156918;
double r156931 = exp(r156930);
double r156932 = r156909 + r156931;
double r156933 = r156923 / r156932;
double r156934 = r156922 + r156933;
return r156934;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r156935 = NdChar;
double r156936 = 1.0;
double r156937 = 1.0;
double r156938 = Ec;
double r156939 = Vef;
double r156940 = r156938 - r156939;
double r156941 = EDonor;
double r156942 = r156940 - r156941;
double r156943 = mu;
double r156944 = r156942 - r156943;
double r156945 = -r156944;
double r156946 = KbT;
double r156947 = r156945 / r156946;
double r156948 = exp(r156947);
double r156949 = r156937 + r156948;
double r156950 = r156936 / r156949;
double r156951 = r156935 * r156950;
double r156952 = NaChar;
double r156953 = Ev;
double r156954 = r156953 + r156939;
double r156955 = EAccept;
double r156956 = r156954 + r156955;
double r156957 = -r156943;
double r156958 = r156956 + r156957;
double r156959 = r156958 / r156946;
double r156960 = exp(r156959);
double r156961 = r156937 + r156960;
double r156962 = r156952 / r156961;
double r156963 = r156951 + r156962;
return r156963;
}



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 div-inv0.0
Final simplification0.0
herbie shell --seed 2020046 +o rules:numerics
(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))))))