\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{1}{\frac{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}{NdChar}} + \frac{NaChar}{e^{\frac{\left(Ev + \left(Vef + EAccept\right)\right) - mu}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r6841170 = NdChar;
double r6841171 = 1.0;
double r6841172 = Ec;
double r6841173 = Vef;
double r6841174 = r6841172 - r6841173;
double r6841175 = EDonor;
double r6841176 = r6841174 - r6841175;
double r6841177 = mu;
double r6841178 = r6841176 - r6841177;
double r6841179 = -r6841178;
double r6841180 = KbT;
double r6841181 = r6841179 / r6841180;
double r6841182 = exp(r6841181);
double r6841183 = r6841171 + r6841182;
double r6841184 = r6841170 / r6841183;
double r6841185 = NaChar;
double r6841186 = Ev;
double r6841187 = r6841186 + r6841173;
double r6841188 = EAccept;
double r6841189 = r6841187 + r6841188;
double r6841190 = -r6841177;
double r6841191 = r6841189 + r6841190;
double r6841192 = r6841191 / r6841180;
double r6841193 = exp(r6841192);
double r6841194 = r6841171 + r6841193;
double r6841195 = r6841185 / r6841194;
double r6841196 = r6841184 + r6841195;
return r6841196;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r6841197 = 1.0;
double r6841198 = mu;
double r6841199 = Ec;
double r6841200 = Vef;
double r6841201 = r6841199 - r6841200;
double r6841202 = EDonor;
double r6841203 = r6841201 - r6841202;
double r6841204 = r6841198 - r6841203;
double r6841205 = KbT;
double r6841206 = r6841204 / r6841205;
double r6841207 = exp(r6841206);
double r6841208 = r6841207 + r6841197;
double r6841209 = NdChar;
double r6841210 = r6841208 / r6841209;
double r6841211 = r6841197 / r6841210;
double r6841212 = NaChar;
double r6841213 = Ev;
double r6841214 = EAccept;
double r6841215 = r6841200 + r6841214;
double r6841216 = r6841213 + r6841215;
double r6841217 = r6841216 - r6841198;
double r6841218 = r6841217 / r6841205;
double r6841219 = exp(r6841218);
double r6841220 = r6841219 + r6841197;
double r6841221 = r6841212 / r6841220;
double r6841222 = r6841211 + r6841221;
return r6841222;
}



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 *-un-lft-identity0.0
Applied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2019134
(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))))))