double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r25318024 = NdChar;
double r25318025 = 1.0;
double r25318026 = Ec;
double r25318027 = Vef;
double r25318028 = r25318026 - r25318027;
double r25318029 = EDonor;
double r25318030 = r25318028 - r25318029;
double r25318031 = mu;
double r25318032 = r25318030 - r25318031;
double r25318033 = -r25318032;
double r25318034 = KbT;
double r25318035 = r25318033 / r25318034;
double r25318036 = exp(r25318035);
double r25318037 = r25318025 + r25318036;
double r25318038 = r25318024 / r25318037;
double r25318039 = NaChar;
double r25318040 = Ev;
double r25318041 = r25318040 + r25318027;
double r25318042 = EAccept;
double r25318043 = r25318041 + r25318042;
double r25318044 = -r25318031;
double r25318045 = r25318043 + r25318044;
double r25318046 = r25318045 / r25318034;
double r25318047 = exp(r25318046);
double r25318048 = r25318025 + r25318047;
double r25318049 = r25318039 / r25318048;
double r25318050 = r25318038 + r25318049;
return r25318050;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r25318051 = NaChar;
double r25318052 = Ev;
double r25318053 = Vef;
double r25318054 = r25318052 + r25318053;
double r25318055 = mu;
double r25318056 = r25318054 - r25318055;
double r25318057 = EAccept;
double r25318058 = r25318056 + r25318057;
double r25318059 = KbT;
double r25318060 = r25318058 / r25318059;
double r25318061 = exp(r25318060);
double r25318062 = 1.0;
double r25318063 = r25318061 + r25318062;
double r25318064 = r25318051 / r25318063;
double r25318065 = NdChar;
double r25318066 = Ec;
double r25318067 = EDonor;
double r25318068 = r25318055 + r25318053;
double r25318069 = r25318067 + r25318068;
double r25318070 = r25318066 - r25318069;
double r25318071 = -r25318070;
double r25318072 = cbrt(r25318071);
double r25318073 = r25318072 * r25318072;
double r25318074 = r25318059 / r25318072;
double r25318075 = r25318073 / r25318074;
double r25318076 = exp(r25318075);
double r25318077 = r25318062 + r25318076;
double r25318078 = r25318065 / r25318077;
double r25318079 = r25318064 + r25318078;
return r25318079;
}
\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{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{1 + e^{\frac{\sqrt[3]{-\left(Ec - \left(EDonor + \left(mu + Vef\right)\right)\right)} \cdot \sqrt[3]{-\left(Ec - \left(EDonor + \left(mu + Vef\right)\right)\right)}}{\frac{KbT}{\sqrt[3]{-\left(Ec - \left(EDonor + \left(mu + Vef\right)\right)\right)}}}}}


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
Initial program 0.0
Simplified0.0
rmApplied add-cube-cbrt0.0
Applied associate-/l*0.0
Final simplification0.0
herbie shell --seed 2019101 +o rules:numerics
(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))))))