\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}{e^{\left(\sqrt[3]{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} \cdot \sqrt[3]{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}\right) \cdot \sqrt[3]{\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 r180980 = NdChar;
double r180981 = 1.0;
double r180982 = Ec;
double r180983 = Vef;
double r180984 = r180982 - r180983;
double r180985 = EDonor;
double r180986 = r180984 - r180985;
double r180987 = mu;
double r180988 = r180986 - r180987;
double r180989 = -r180988;
double r180990 = KbT;
double r180991 = r180989 / r180990;
double r180992 = exp(r180991);
double r180993 = r180981 + r180992;
double r180994 = r180980 / r180993;
double r180995 = NaChar;
double r180996 = Ev;
double r180997 = r180996 + r180983;
double r180998 = EAccept;
double r180999 = r180997 + r180998;
double r181000 = -r180987;
double r181001 = r180999 + r181000;
double r181002 = r181001 / r180990;
double r181003 = exp(r181002);
double r181004 = r180981 + r181003;
double r181005 = r180995 / r181004;
double r181006 = r180994 + r181005;
return r181006;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r181007 = NdChar;
double r181008 = mu;
double r181009 = EDonor;
double r181010 = Ec;
double r181011 = Vef;
double r181012 = r181010 - r181011;
double r181013 = r181009 - r181012;
double r181014 = r181008 + r181013;
double r181015 = KbT;
double r181016 = r181014 / r181015;
double r181017 = cbrt(r181016);
double r181018 = r181017 * r181017;
double r181019 = r181018 * r181017;
double r181020 = exp(r181019);
double r181021 = 1.0;
double r181022 = r181020 + r181021;
double r181023 = r181007 / r181022;
double r181024 = NaChar;
double r181025 = Ev;
double r181026 = r181025 + r181011;
double r181027 = EAccept;
double r181028 = r181026 + r181027;
double r181029 = r181028 - r181008;
double r181030 = r181029 / r181015;
double r181031 = exp(r181030);
double r181032 = r181021 + r181031;
double r181033 = r181024 / r181032;
double r181034 = r181023 + r181033;
return r181034;
}



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-cube-cbrt0.0
Final simplification0.0
herbie shell --seed 2019347
(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))))))