\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}{\sqrt[3]{\left(\left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right) \cdot \left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right)\right) \cdot \left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right)}} + \frac{NaChar}{e^{\frac{\left(Vef - mu\right) + \left(Ev + EAccept\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r8653403 = NdChar;
double r8653404 = 1.0;
double r8653405 = Ec;
double r8653406 = Vef;
double r8653407 = r8653405 - r8653406;
double r8653408 = EDonor;
double r8653409 = r8653407 - r8653408;
double r8653410 = mu;
double r8653411 = r8653409 - r8653410;
double r8653412 = -r8653411;
double r8653413 = KbT;
double r8653414 = r8653412 / r8653413;
double r8653415 = exp(r8653414);
double r8653416 = r8653404 + r8653415;
double r8653417 = r8653403 / r8653416;
double r8653418 = NaChar;
double r8653419 = Ev;
double r8653420 = r8653419 + r8653406;
double r8653421 = EAccept;
double r8653422 = r8653420 + r8653421;
double r8653423 = -r8653410;
double r8653424 = r8653422 + r8653423;
double r8653425 = r8653424 / r8653413;
double r8653426 = exp(r8653425);
double r8653427 = r8653404 + r8653426;
double r8653428 = r8653418 / r8653427;
double r8653429 = r8653417 + r8653428;
return r8653429;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r8653430 = NdChar;
double r8653431 = mu;
double r8653432 = Ec;
double r8653433 = Vef;
double r8653434 = r8653432 - r8653433;
double r8653435 = EDonor;
double r8653436 = r8653434 - r8653435;
double r8653437 = r8653431 - r8653436;
double r8653438 = KbT;
double r8653439 = r8653437 / r8653438;
double r8653440 = exp(r8653439);
double r8653441 = 1.0;
double r8653442 = r8653440 + r8653441;
double r8653443 = r8653442 * r8653442;
double r8653444 = r8653443 * r8653442;
double r8653445 = cbrt(r8653444);
double r8653446 = r8653430 / r8653445;
double r8653447 = NaChar;
double r8653448 = r8653433 - r8653431;
double r8653449 = Ev;
double r8653450 = EAccept;
double r8653451 = r8653449 + r8653450;
double r8653452 = r8653448 + r8653451;
double r8653453 = r8653452 / r8653438;
double r8653454 = exp(r8653453);
double r8653455 = r8653454 + r8653441;
double r8653456 = r8653447 / r8653455;
double r8653457 = r8653446 + r8653456;
return r8653457;
}



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-cbrt-cube0.0
Final simplification0.0
herbie shell --seed 2019151 +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))))))