\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 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r520 = NdChar;
double r521 = 1.0;
double r522 = Ec;
double r523 = Vef;
double r524 = r522 - r523;
double r525 = EDonor;
double r526 = r524 - r525;
double r527 = mu;
double r528 = r526 - r527;
double r529 = -r528;
double r530 = KbT;
double r531 = r529 / r530;
double r532 = exp(r531);
double r533 = r521 + r532;
double r534 = r520 / r533;
double r535 = NaChar;
double r536 = Ev;
double r537 = r536 + r523;
double r538 = EAccept;
double r539 = r537 + r538;
double r540 = -r527;
double r541 = r539 + r540;
double r542 = r541 / r530;
double r543 = exp(r542);
double r544 = r521 + r543;
double r545 = r535 / r544;
double r546 = r534 + r545;
return r546;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r547 = NdChar;
double r548 = 1.0;
double r549 = Ec;
double r550 = Vef;
double r551 = r549 - r550;
double r552 = EDonor;
double r553 = r551 - r552;
double r554 = mu;
double r555 = r553 - r554;
double r556 = -r555;
double r557 = KbT;
double r558 = r556 / r557;
double r559 = exp(r558);
double r560 = r548 + r559;
double r561 = r547 / r560;
double r562 = NaChar;
double r563 = Ev;
double r564 = r563 + r550;
double r565 = EAccept;
double r566 = r564 + r565;
double r567 = -r554;
double r568 = r566 + r567;
double r569 = r568 / r557;
double r570 = exp(r569);
double r571 = r548 + r570;
double r572 = r562 / r571;
double r573 = r561 + r572;
return r573;
}



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
Final simplification0.0
herbie shell --seed 2020025
(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))))))