\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(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{e^{\frac{EDonor - \left(\left(Ec - Vef\right) - 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 r3536894 = NdChar;
double r3536895 = 1.0;
double r3536896 = Ec;
double r3536897 = Vef;
double r3536898 = r3536896 - r3536897;
double r3536899 = EDonor;
double r3536900 = r3536898 - r3536899;
double r3536901 = mu;
double r3536902 = r3536900 - r3536901;
double r3536903 = -r3536902;
double r3536904 = KbT;
double r3536905 = r3536903 / r3536904;
double r3536906 = exp(r3536905);
double r3536907 = r3536895 + r3536906;
double r3536908 = r3536894 / r3536907;
double r3536909 = NaChar;
double r3536910 = Ev;
double r3536911 = r3536910 + r3536897;
double r3536912 = EAccept;
double r3536913 = r3536911 + r3536912;
double r3536914 = -r3536901;
double r3536915 = r3536913 + r3536914;
double r3536916 = r3536915 / r3536904;
double r3536917 = exp(r3536916);
double r3536918 = r3536895 + r3536917;
double r3536919 = r3536909 / r3536918;
double r3536920 = r3536908 + r3536919;
return r3536920;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3536921 = NaChar;
double r3536922 = Vef;
double r3536923 = mu;
double r3536924 = r3536922 - r3536923;
double r3536925 = Ev;
double r3536926 = r3536924 + r3536925;
double r3536927 = EAccept;
double r3536928 = r3536926 + r3536927;
double r3536929 = KbT;
double r3536930 = r3536928 / r3536929;
double r3536931 = exp(r3536930);
double r3536932 = 1.0;
double r3536933 = r3536931 + r3536932;
double r3536934 = r3536921 / r3536933;
double r3536935 = NdChar;
double r3536936 = EDonor;
double r3536937 = Ec;
double r3536938 = r3536937 - r3536922;
double r3536939 = r3536938 - r3536923;
double r3536940 = r3536936 - r3536939;
double r3536941 = r3536940 / r3536929;
double r3536942 = exp(r3536941);
double r3536943 = r3536942 + r3536932;
double r3536944 = r3536935 / r3536943;
double r3536945 = r3536934 + r3536944;
return r3536945;
}



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 2019155 +o rules:numerics
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))