\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}}} + NaChar \cdot \frac{1}{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 r152947 = NdChar;
double r152948 = 1.0;
double r152949 = Ec;
double r152950 = Vef;
double r152951 = r152949 - r152950;
double r152952 = EDonor;
double r152953 = r152951 - r152952;
double r152954 = mu;
double r152955 = r152953 - r152954;
double r152956 = -r152955;
double r152957 = KbT;
double r152958 = r152956 / r152957;
double r152959 = exp(r152958);
double r152960 = r152948 + r152959;
double r152961 = r152947 / r152960;
double r152962 = NaChar;
double r152963 = Ev;
double r152964 = r152963 + r152950;
double r152965 = EAccept;
double r152966 = r152964 + r152965;
double r152967 = -r152954;
double r152968 = r152966 + r152967;
double r152969 = r152968 / r152957;
double r152970 = exp(r152969);
double r152971 = r152948 + r152970;
double r152972 = r152962 / r152971;
double r152973 = r152961 + r152972;
return r152973;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r152974 = NdChar;
double r152975 = 1.0;
double r152976 = Ec;
double r152977 = Vef;
double r152978 = r152976 - r152977;
double r152979 = EDonor;
double r152980 = r152978 - r152979;
double r152981 = mu;
double r152982 = r152980 - r152981;
double r152983 = -r152982;
double r152984 = KbT;
double r152985 = r152983 / r152984;
double r152986 = exp(r152985);
double r152987 = r152975 + r152986;
double r152988 = r152974 / r152987;
double r152989 = NaChar;
double r152990 = 1.0;
double r152991 = Ev;
double r152992 = r152991 + r152977;
double r152993 = EAccept;
double r152994 = r152992 + r152993;
double r152995 = -r152981;
double r152996 = r152994 + r152995;
double r152997 = r152996 / r152984;
double r152998 = exp(r152997);
double r152999 = r152975 + r152998;
double r153000 = r152990 / r152999;
double r153001 = r152989 * r153000;
double r153002 = r152988 + r153001;
return r153002;
}



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