\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[3]{\sqrt[3]{{\left({\left(1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}\right)}^{3}\right)}^{3}}}} + \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 r349959 = NdChar;
double r349960 = 1.0;
double r349961 = Ec;
double r349962 = Vef;
double r349963 = r349961 - r349962;
double r349964 = EDonor;
double r349965 = r349963 - r349964;
double r349966 = mu;
double r349967 = r349965 - r349966;
double r349968 = -r349967;
double r349969 = KbT;
double r349970 = r349968 / r349969;
double r349971 = exp(r349970);
double r349972 = r349960 + r349971;
double r349973 = r349959 / r349972;
double r349974 = NaChar;
double r349975 = Ev;
double r349976 = r349975 + r349962;
double r349977 = EAccept;
double r349978 = r349976 + r349977;
double r349979 = -r349966;
double r349980 = r349978 + r349979;
double r349981 = r349980 / r349969;
double r349982 = exp(r349981);
double r349983 = r349960 + r349982;
double r349984 = r349974 / r349983;
double r349985 = r349973 + r349984;
return r349985;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r349986 = NdChar;
double r349987 = 1.0;
double r349988 = Ec;
double r349989 = Vef;
double r349990 = r349988 - r349989;
double r349991 = EDonor;
double r349992 = r349990 - r349991;
double r349993 = mu;
double r349994 = r349992 - r349993;
double r349995 = -r349994;
double r349996 = KbT;
double r349997 = r349995 / r349996;
double r349998 = exp(r349997);
double r349999 = r349987 + r349998;
double r350000 = 3.0;
double r350001 = pow(r349999, r350000);
double r350002 = pow(r350001, r350000);
double r350003 = cbrt(r350002);
double r350004 = cbrt(r350003);
double r350005 = r349986 / r350004;
double r350006 = NaChar;
double r350007 = Ev;
double r350008 = r350007 + r349989;
double r350009 = EAccept;
double r350010 = r350008 + r350009;
double r350011 = -r349993;
double r350012 = r350010 + r350011;
double r350013 = r350012 / r349996;
double r350014 = exp(r350013);
double r350015 = r349987 + r350014;
double r350016 = r350006 / r350015;
double r350017 = r350005 + r350016;
return r350017;
}



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-cbrt-cube0.0
Simplified0.0
rmApplied add-cbrt-cube0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020036
(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))))))