\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}{\sqrt{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} \cdot \sqrt{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r127950 = NdChar;
double r127951 = 1.0;
double r127952 = Ec;
double r127953 = Vef;
double r127954 = r127952 - r127953;
double r127955 = EDonor;
double r127956 = r127954 - r127955;
double r127957 = mu;
double r127958 = r127956 - r127957;
double r127959 = -r127958;
double r127960 = KbT;
double r127961 = r127959 / r127960;
double r127962 = exp(r127961);
double r127963 = r127951 + r127962;
double r127964 = r127950 / r127963;
double r127965 = NaChar;
double r127966 = Ev;
double r127967 = r127966 + r127953;
double r127968 = EAccept;
double r127969 = r127967 + r127968;
double r127970 = -r127957;
double r127971 = r127969 + r127970;
double r127972 = r127971 / r127960;
double r127973 = exp(r127972);
double r127974 = r127951 + r127973;
double r127975 = r127965 / r127974;
double r127976 = r127964 + r127975;
return r127976;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r127977 = NdChar;
double r127978 = mu;
double r127979 = EDonor;
double r127980 = Ec;
double r127981 = Vef;
double r127982 = r127980 - r127981;
double r127983 = r127979 - r127982;
double r127984 = r127978 + r127983;
double r127985 = KbT;
double r127986 = r127984 / r127985;
double r127987 = exp(r127986);
double r127988 = sqrt(r127987);
double r127989 = r127988 * r127988;
double r127990 = 1.0;
double r127991 = r127989 + r127990;
double r127992 = r127977 / r127991;
double r127993 = NaChar;
double r127994 = Ev;
double r127995 = r127994 + r127981;
double r127996 = EAccept;
double r127997 = r127995 + r127996;
double r127998 = r127997 - r127978;
double r127999 = r127998 / r127985;
double r128000 = exp(r127999);
double r128001 = r127990 + r128000;
double r128002 = r127993 / r128001;
double r128003 = r127992 + r128002;
return r128003;
}



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
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2019323
(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))))))