\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}{\sqrt{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}}} \cdot \sqrt{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}}} + 1} + \frac{NdChar}{1 + e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r2974375 = NdChar;
double r2974376 = 1.0;
double r2974377 = Ec;
double r2974378 = Vef;
double r2974379 = r2974377 - r2974378;
double r2974380 = EDonor;
double r2974381 = r2974379 - r2974380;
double r2974382 = mu;
double r2974383 = r2974381 - r2974382;
double r2974384 = -r2974383;
double r2974385 = KbT;
double r2974386 = r2974384 / r2974385;
double r2974387 = exp(r2974386);
double r2974388 = r2974376 + r2974387;
double r2974389 = r2974375 / r2974388;
double r2974390 = NaChar;
double r2974391 = Ev;
double r2974392 = r2974391 + r2974378;
double r2974393 = EAccept;
double r2974394 = r2974392 + r2974393;
double r2974395 = -r2974382;
double r2974396 = r2974394 + r2974395;
double r2974397 = r2974396 / r2974385;
double r2974398 = exp(r2974397);
double r2974399 = r2974376 + r2974398;
double r2974400 = r2974390 / r2974399;
double r2974401 = r2974389 + r2974400;
return r2974401;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r2974402 = NaChar;
double r2974403 = Vef;
double r2974404 = mu;
double r2974405 = r2974403 - r2974404;
double r2974406 = Ev;
double r2974407 = r2974405 + r2974406;
double r2974408 = EAccept;
double r2974409 = r2974407 + r2974408;
double r2974410 = KbT;
double r2974411 = r2974409 / r2974410;
double r2974412 = exp(r2974411);
double r2974413 = sqrt(r2974412);
double r2974414 = r2974413 * r2974413;
double r2974415 = 1.0;
double r2974416 = r2974414 + r2974415;
double r2974417 = r2974402 / r2974416;
double r2974418 = NdChar;
double r2974419 = EDonor;
double r2974420 = Ec;
double r2974421 = r2974420 - r2974403;
double r2974422 = r2974421 - r2974404;
double r2974423 = r2974419 - r2974422;
double r2974424 = r2974423 / r2974410;
double r2974425 = exp(r2974424);
double r2974426 = r2974415 + r2974425;
double r2974427 = r2974418 / r2974426;
double r2974428 = r2974417 + r2974427;
return r2974428;
}



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 add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2019152 +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))))))