\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}}}NdChar \cdot \frac{1}{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 r205012 = NdChar;
double r205013 = 1.0;
double r205014 = Ec;
double r205015 = Vef;
double r205016 = r205014 - r205015;
double r205017 = EDonor;
double r205018 = r205016 - r205017;
double r205019 = mu;
double r205020 = r205018 - r205019;
double r205021 = -r205020;
double r205022 = KbT;
double r205023 = r205021 / r205022;
double r205024 = exp(r205023);
double r205025 = r205013 + r205024;
double r205026 = r205012 / r205025;
double r205027 = NaChar;
double r205028 = Ev;
double r205029 = r205028 + r205015;
double r205030 = EAccept;
double r205031 = r205029 + r205030;
double r205032 = -r205019;
double r205033 = r205031 + r205032;
double r205034 = r205033 / r205022;
double r205035 = exp(r205034);
double r205036 = r205013 + r205035;
double r205037 = r205027 / r205036;
double r205038 = r205026 + r205037;
return r205038;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r205039 = NdChar;
double r205040 = 1.0;
double r205041 = 1.0;
double r205042 = Ec;
double r205043 = Vef;
double r205044 = r205042 - r205043;
double r205045 = EDonor;
double r205046 = r205044 - r205045;
double r205047 = mu;
double r205048 = r205046 - r205047;
double r205049 = -r205048;
double r205050 = KbT;
double r205051 = r205049 / r205050;
double r205052 = exp(r205051);
double r205053 = r205041 + r205052;
double r205054 = r205040 / r205053;
double r205055 = r205039 * r205054;
double r205056 = NaChar;
double r205057 = Ev;
double r205058 = r205057 + r205043;
double r205059 = EAccept;
double r205060 = r205058 + r205059;
double r205061 = -r205047;
double r205062 = r205060 + r205061;
double r205063 = r205062 / r205050;
double r205064 = exp(r205063);
double r205065 = r205041 + r205064;
double r205066 = r205056 / r205065;
double r205067 = r205055 + r205066;
return r205067;
}



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 2020100
(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))))))