\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{NaChar}{e^{\frac{Vef + \left(\left(Ev - mu\right) + EAccept\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{EDonor - \left(Ec - \left(Vef + mu\right)\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r7591937 = NdChar;
double r7591938 = 1.0;
double r7591939 = Ec;
double r7591940 = Vef;
double r7591941 = r7591939 - r7591940;
double r7591942 = EDonor;
double r7591943 = r7591941 - r7591942;
double r7591944 = mu;
double r7591945 = r7591943 - r7591944;
double r7591946 = -r7591945;
double r7591947 = KbT;
double r7591948 = r7591946 / r7591947;
double r7591949 = exp(r7591948);
double r7591950 = r7591938 + r7591949;
double r7591951 = r7591937 / r7591950;
double r7591952 = NaChar;
double r7591953 = Ev;
double r7591954 = r7591953 + r7591940;
double r7591955 = EAccept;
double r7591956 = r7591954 + r7591955;
double r7591957 = -r7591944;
double r7591958 = r7591956 + r7591957;
double r7591959 = r7591958 / r7591947;
double r7591960 = exp(r7591959);
double r7591961 = r7591938 + r7591960;
double r7591962 = r7591952 / r7591961;
double r7591963 = r7591951 + r7591962;
return r7591963;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r7591964 = NaChar;
double r7591965 = Vef;
double r7591966 = Ev;
double r7591967 = mu;
double r7591968 = r7591966 - r7591967;
double r7591969 = EAccept;
double r7591970 = r7591968 + r7591969;
double r7591971 = r7591965 + r7591970;
double r7591972 = KbT;
double r7591973 = r7591971 / r7591972;
double r7591974 = exp(r7591973);
double r7591975 = 1.0;
double r7591976 = r7591974 + r7591975;
double r7591977 = r7591964 / r7591976;
double r7591978 = NdChar;
double r7591979 = EDonor;
double r7591980 = Ec;
double r7591981 = r7591965 + r7591967;
double r7591982 = r7591980 - r7591981;
double r7591983 = r7591979 - r7591982;
double r7591984 = r7591983 / r7591972;
double r7591985 = exp(r7591984);
double r7591986 = r7591985 + r7591975;
double r7591987 = r7591978 / r7591986;
double r7591988 = r7591977 + r7591987;
return r7591988;
}



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
Final simplification0.0
herbie shell --seed 2019158
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))