\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 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{1}{\left(1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right) \cdot \frac{1}{NaChar}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r175344 = NdChar;
double r175345 = 1.0;
double r175346 = Ec;
double r175347 = Vef;
double r175348 = r175346 - r175347;
double r175349 = EDonor;
double r175350 = r175348 - r175349;
double r175351 = mu;
double r175352 = r175350 - r175351;
double r175353 = -r175352;
double r175354 = KbT;
double r175355 = r175353 / r175354;
double r175356 = exp(r175355);
double r175357 = r175345 + r175356;
double r175358 = r175344 / r175357;
double r175359 = NaChar;
double r175360 = Ev;
double r175361 = r175360 + r175347;
double r175362 = EAccept;
double r175363 = r175361 + r175362;
double r175364 = -r175351;
double r175365 = r175363 + r175364;
double r175366 = r175365 / r175354;
double r175367 = exp(r175366);
double r175368 = r175345 + r175367;
double r175369 = r175359 / r175368;
double r175370 = r175358 + r175369;
return r175370;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r175371 = NdChar;
double r175372 = 1.0;
double r175373 = Ec;
double r175374 = Vef;
double r175375 = r175373 - r175374;
double r175376 = EDonor;
double r175377 = r175375 - r175376;
double r175378 = mu;
double r175379 = r175377 - r175378;
double r175380 = -r175379;
double r175381 = KbT;
double r175382 = r175380 / r175381;
double r175383 = exp(r175382);
double r175384 = r175372 + r175383;
double r175385 = r175371 / r175384;
double r175386 = 1.0;
double r175387 = Ev;
double r175388 = r175387 + r175374;
double r175389 = EAccept;
double r175390 = r175388 + r175389;
double r175391 = r175390 - r175378;
double r175392 = r175391 / r175381;
double r175393 = exp(r175392);
double r175394 = r175372 + r175393;
double r175395 = NaChar;
double r175396 = r175386 / r175395;
double r175397 = r175394 * r175396;
double r175398 = r175386 / r175397;
double r175399 = r175385 + r175398;
return r175399;
}



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 clear-num0.1
Simplified0.1
rmApplied div-inv0.1
Final simplification0.1
herbie shell --seed 2019306
(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))))))