\frac{NdChar}{1.0 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1.0 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}NaChar \cdot \frac{1}{e^{\frac{\left(Vef + Ev\right) - \left(mu - EAccept\right)}{KbT}} + 1.0} + \frac{NdChar}{e^{\frac{EDonor + \left(Vef + \left(mu - Ec\right)\right)}{KbT}} + 1.0}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r5528442 = NdChar;
double r5528443 = 1.0;
double r5528444 = Ec;
double r5528445 = Vef;
double r5528446 = r5528444 - r5528445;
double r5528447 = EDonor;
double r5528448 = r5528446 - r5528447;
double r5528449 = mu;
double r5528450 = r5528448 - r5528449;
double r5528451 = -r5528450;
double r5528452 = KbT;
double r5528453 = r5528451 / r5528452;
double r5528454 = exp(r5528453);
double r5528455 = r5528443 + r5528454;
double r5528456 = r5528442 / r5528455;
double r5528457 = NaChar;
double r5528458 = Ev;
double r5528459 = r5528458 + r5528445;
double r5528460 = EAccept;
double r5528461 = r5528459 + r5528460;
double r5528462 = -r5528449;
double r5528463 = r5528461 + r5528462;
double r5528464 = r5528463 / r5528452;
double r5528465 = exp(r5528464);
double r5528466 = r5528443 + r5528465;
double r5528467 = r5528457 / r5528466;
double r5528468 = r5528456 + r5528467;
return r5528468;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r5528469 = NaChar;
double r5528470 = 1.0;
double r5528471 = Vef;
double r5528472 = Ev;
double r5528473 = r5528471 + r5528472;
double r5528474 = mu;
double r5528475 = EAccept;
double r5528476 = r5528474 - r5528475;
double r5528477 = r5528473 - r5528476;
double r5528478 = KbT;
double r5528479 = r5528477 / r5528478;
double r5528480 = exp(r5528479);
double r5528481 = 1.0;
double r5528482 = r5528480 + r5528481;
double r5528483 = r5528470 / r5528482;
double r5528484 = r5528469 * r5528483;
double r5528485 = NdChar;
double r5528486 = EDonor;
double r5528487 = Ec;
double r5528488 = r5528474 - r5528487;
double r5528489 = r5528471 + r5528488;
double r5528490 = r5528486 + r5528489;
double r5528491 = r5528490 / r5528478;
double r5528492 = exp(r5528491);
double r5528493 = r5528492 + r5528481;
double r5528494 = r5528485 / r5528493;
double r5528495 = r5528484 + r5528494;
return r5528495;
}



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 div-inv0.0
Final simplification0.0
herbie shell --seed 2019165
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))