\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 r103558 = NdChar;
double r103559 = 1.0;
double r103560 = Ec;
double r103561 = Vef;
double r103562 = r103560 - r103561;
double r103563 = EDonor;
double r103564 = r103562 - r103563;
double r103565 = mu;
double r103566 = r103564 - r103565;
double r103567 = -r103566;
double r103568 = KbT;
double r103569 = r103567 / r103568;
double r103570 = exp(r103569);
double r103571 = r103559 + r103570;
double r103572 = r103558 / r103571;
double r103573 = NaChar;
double r103574 = Ev;
double r103575 = r103574 + r103561;
double r103576 = EAccept;
double r103577 = r103575 + r103576;
double r103578 = -r103565;
double r103579 = r103577 + r103578;
double r103580 = r103579 / r103568;
double r103581 = exp(r103580);
double r103582 = r103559 + r103581;
double r103583 = r103573 / r103582;
double r103584 = r103572 + r103583;
return r103584;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r103585 = NdChar;
double r103586 = 1.0;
double r103587 = Ec;
double r103588 = Vef;
double r103589 = r103587 - r103588;
double r103590 = EDonor;
double r103591 = r103589 - r103590;
double r103592 = mu;
double r103593 = r103591 - r103592;
double r103594 = -r103593;
double r103595 = KbT;
double r103596 = r103594 / r103595;
double r103597 = exp(r103596);
double r103598 = r103586 + r103597;
double r103599 = r103585 / r103598;
double r103600 = NaChar;
double r103601 = Ev;
double r103602 = r103601 + r103588;
double r103603 = EAccept;
double r103604 = r103602 + r103603;
double r103605 = -r103592;
double r103606 = r103604 + r103605;
double r103607 = r103606 / r103595;
double r103608 = exp(r103607);
double r103609 = r103586 + r103608;
double r103610 = r103600 / r103609;
double r103611 = r103599 + r103610;
return r103611;
}



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 2019308
(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))))))