\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}{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 r270982 = NdChar;
double r270983 = 1.0;
double r270984 = Ec;
double r270985 = Vef;
double r270986 = r270984 - r270985;
double r270987 = EDonor;
double r270988 = r270986 - r270987;
double r270989 = mu;
double r270990 = r270988 - r270989;
double r270991 = -r270990;
double r270992 = KbT;
double r270993 = r270991 / r270992;
double r270994 = exp(r270993);
double r270995 = r270983 + r270994;
double r270996 = r270982 / r270995;
double r270997 = NaChar;
double r270998 = Ev;
double r270999 = r270998 + r270985;
double r271000 = EAccept;
double r271001 = r270999 + r271000;
double r271002 = -r270989;
double r271003 = r271001 + r271002;
double r271004 = r271003 / r270992;
double r271005 = exp(r271004);
double r271006 = r270983 + r271005;
double r271007 = r270997 / r271006;
double r271008 = r270996 + r271007;
return r271008;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r271009 = NdChar;
double r271010 = 1.0;
double r271011 = Ec;
double r271012 = Vef;
double r271013 = r271011 - r271012;
double r271014 = EDonor;
double r271015 = r271013 - r271014;
double r271016 = mu;
double r271017 = r271015 - r271016;
double r271018 = -r271017;
double r271019 = KbT;
double r271020 = r271018 / r271019;
double r271021 = exp(r271020);
double r271022 = r271010 + r271021;
double r271023 = r271009 / r271022;
double r271024 = NaChar;
double r271025 = Ev;
double r271026 = r271025 + r271012;
double r271027 = EAccept;
double r271028 = r271026 + r271027;
double r271029 = -r271016;
double r271030 = r271028 + r271029;
double r271031 = r271030 / r271019;
double r271032 = exp(r271031);
double r271033 = r271010 + r271032;
double r271034 = r271024 / r271033;
double r271035 = r271023 + r271034;
return r271035;
}



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
Final simplification0.0
herbie shell --seed 2020083
(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))))))