\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 r182607 = NdChar;
double r182608 = 1.0;
double r182609 = Ec;
double r182610 = Vef;
double r182611 = r182609 - r182610;
double r182612 = EDonor;
double r182613 = r182611 - r182612;
double r182614 = mu;
double r182615 = r182613 - r182614;
double r182616 = -r182615;
double r182617 = KbT;
double r182618 = r182616 / r182617;
double r182619 = exp(r182618);
double r182620 = r182608 + r182619;
double r182621 = r182607 / r182620;
double r182622 = NaChar;
double r182623 = Ev;
double r182624 = r182623 + r182610;
double r182625 = EAccept;
double r182626 = r182624 + r182625;
double r182627 = -r182614;
double r182628 = r182626 + r182627;
double r182629 = r182628 / r182617;
double r182630 = exp(r182629);
double r182631 = r182608 + r182630;
double r182632 = r182622 / r182631;
double r182633 = r182621 + r182632;
return r182633;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r182634 = NdChar;
double r182635 = 1.0;
double r182636 = Ec;
double r182637 = Vef;
double r182638 = r182636 - r182637;
double r182639 = EDonor;
double r182640 = r182638 - r182639;
double r182641 = mu;
double r182642 = r182640 - r182641;
double r182643 = -r182642;
double r182644 = KbT;
double r182645 = r182643 / r182644;
double r182646 = exp(r182645);
double r182647 = r182635 + r182646;
double r182648 = r182634 / r182647;
double r182649 = NaChar;
double r182650 = Ev;
double r182651 = r182650 + r182637;
double r182652 = EAccept;
double r182653 = r182651 + r182652;
double r182654 = -r182641;
double r182655 = r182653 + r182654;
double r182656 = r182655 / r182644;
double r182657 = exp(r182656);
double r182658 = r182635 + r182657;
double r182659 = r182649 / r182658;
double r182660 = r182648 + r182659;
return r182660;
}



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