\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^{\log \left(\sqrt{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right) + \log \left(\sqrt{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right)}} + \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 r220902 = NdChar;
double r220903 = 1.0;
double r220904 = Ec;
double r220905 = Vef;
double r220906 = r220904 - r220905;
double r220907 = EDonor;
double r220908 = r220906 - r220907;
double r220909 = mu;
double r220910 = r220908 - r220909;
double r220911 = -r220910;
double r220912 = KbT;
double r220913 = r220911 / r220912;
double r220914 = exp(r220913);
double r220915 = r220903 + r220914;
double r220916 = r220902 / r220915;
double r220917 = NaChar;
double r220918 = Ev;
double r220919 = r220918 + r220905;
double r220920 = EAccept;
double r220921 = r220919 + r220920;
double r220922 = -r220909;
double r220923 = r220921 + r220922;
double r220924 = r220923 / r220912;
double r220925 = exp(r220924);
double r220926 = r220903 + r220925;
double r220927 = r220917 / r220926;
double r220928 = r220916 + r220927;
return r220928;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r220929 = NdChar;
double r220930 = 1.0;
double r220931 = Ec;
double r220932 = Vef;
double r220933 = r220931 - r220932;
double r220934 = EDonor;
double r220935 = r220933 - r220934;
double r220936 = mu;
double r220937 = r220935 - r220936;
double r220938 = -r220937;
double r220939 = KbT;
double r220940 = r220938 / r220939;
double r220941 = exp(r220940);
double r220942 = r220930 + r220941;
double r220943 = sqrt(r220942);
double r220944 = log(r220943);
double r220945 = r220944 + r220944;
double r220946 = exp(r220945);
double r220947 = r220929 / r220946;
double r220948 = NaChar;
double r220949 = Ev;
double r220950 = r220949 + r220932;
double r220951 = EAccept;
double r220952 = r220950 + r220951;
double r220953 = -r220936;
double r220954 = r220952 + r220953;
double r220955 = r220954 / r220939;
double r220956 = exp(r220955);
double r220957 = r220930 + r220956;
double r220958 = r220948 / r220957;
double r220959 = r220947 + r220958;
return r220959;
}



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 add-exp-log0.0
rmApplied add-sqr-sqrt0.2
Applied log-prod0.0
Final simplification0.0
herbie shell --seed 2020042
(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))))))