\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{NaChar}{1 + {\left({\left(e^{\sqrt[3]{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}\right)}^{\left(\sqrt[3]{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}\right)}^{\left(\sqrt[3]{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}\right)}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r188508 = NdChar;
double r188509 = 1.0;
double r188510 = Ec;
double r188511 = Vef;
double r188512 = r188510 - r188511;
double r188513 = EDonor;
double r188514 = r188512 - r188513;
double r188515 = mu;
double r188516 = r188514 - r188515;
double r188517 = -r188516;
double r188518 = KbT;
double r188519 = r188517 / r188518;
double r188520 = exp(r188519);
double r188521 = r188509 + r188520;
double r188522 = r188508 / r188521;
double r188523 = NaChar;
double r188524 = Ev;
double r188525 = r188524 + r188511;
double r188526 = EAccept;
double r188527 = r188525 + r188526;
double r188528 = -r188515;
double r188529 = r188527 + r188528;
double r188530 = r188529 / r188518;
double r188531 = exp(r188530);
double r188532 = r188509 + r188531;
double r188533 = r188523 / r188532;
double r188534 = r188522 + r188533;
return r188534;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r188535 = NdChar;
double r188536 = 1.0;
double r188537 = Ec;
double r188538 = Vef;
double r188539 = r188537 - r188538;
double r188540 = EDonor;
double r188541 = r188539 - r188540;
double r188542 = mu;
double r188543 = r188541 - r188542;
double r188544 = -r188543;
double r188545 = KbT;
double r188546 = r188544 / r188545;
double r188547 = exp(r188546);
double r188548 = r188536 + r188547;
double r188549 = r188535 / r188548;
double r188550 = NaChar;
double r188551 = Ev;
double r188552 = r188551 + r188538;
double r188553 = EAccept;
double r188554 = r188552 + r188553;
double r188555 = r188554 - r188542;
double r188556 = r188555 / r188545;
double r188557 = cbrt(r188556);
double r188558 = exp(r188557);
double r188559 = pow(r188558, r188557);
double r188560 = -r188542;
double r188561 = r188554 + r188560;
double r188562 = r188561 / r188545;
double r188563 = cbrt(r188562);
double r188564 = pow(r188559, r188563);
double r188565 = r188536 + r188564;
double r188566 = r188550 / r188565;
double r188567 = r188549 + r188566;
return r188567;
}



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 add-cube-cbrt0.0
Applied exp-prod0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019303
(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))))))