\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}{1 + {\left(\frac{1}{e}\right)}^{\left(\frac{\left(\left(Ec - Vef\right) - EDonor\right) - mu}{KbT}\right)}} + \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 r344264 = NdChar;
double r344265 = 1.0;
double r344266 = Ec;
double r344267 = Vef;
double r344268 = r344266 - r344267;
double r344269 = EDonor;
double r344270 = r344268 - r344269;
double r344271 = mu;
double r344272 = r344270 - r344271;
double r344273 = -r344272;
double r344274 = KbT;
double r344275 = r344273 / r344274;
double r344276 = exp(r344275);
double r344277 = r344265 + r344276;
double r344278 = r344264 / r344277;
double r344279 = NaChar;
double r344280 = Ev;
double r344281 = r344280 + r344267;
double r344282 = EAccept;
double r344283 = r344281 + r344282;
double r344284 = -r344271;
double r344285 = r344283 + r344284;
double r344286 = r344285 / r344274;
double r344287 = exp(r344286);
double r344288 = r344265 + r344287;
double r344289 = r344279 / r344288;
double r344290 = r344278 + r344289;
return r344290;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r344291 = NdChar;
double r344292 = 1.0;
double r344293 = 1.0;
double r344294 = exp(1.0);
double r344295 = r344293 / r344294;
double r344296 = Ec;
double r344297 = Vef;
double r344298 = r344296 - r344297;
double r344299 = EDonor;
double r344300 = r344298 - r344299;
double r344301 = mu;
double r344302 = r344300 - r344301;
double r344303 = KbT;
double r344304 = r344302 / r344303;
double r344305 = pow(r344295, r344304);
double r344306 = r344292 + r344305;
double r344307 = r344291 / r344306;
double r344308 = NaChar;
double r344309 = Ev;
double r344310 = r344309 + r344297;
double r344311 = EAccept;
double r344312 = r344310 + r344311;
double r344313 = -r344301;
double r344314 = r344312 + r344313;
double r344315 = r344314 / r344303;
double r344316 = exp(r344315);
double r344317 = r344292 + r344316;
double r344318 = r344308 / r344317;
double r344319 = r344307 + r344318;
return r344319;
}



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 *-un-lft-identity0.0
Applied neg-mul-10.0
Applied times-frac0.0
Applied exp-prod0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020027
(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))))))