\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{1}{\frac{e^{\frac{\left(Vef + \left(mu - Ec\right)\right) + EDonor}{KbT}} + 1}{NdChar}} + \frac{NaChar}{e^{\frac{\left(Ev + Vef\right) - \left(mu - 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 r9188698 = NdChar;
double r9188699 = 1.0;
double r9188700 = Ec;
double r9188701 = Vef;
double r9188702 = r9188700 - r9188701;
double r9188703 = EDonor;
double r9188704 = r9188702 - r9188703;
double r9188705 = mu;
double r9188706 = r9188704 - r9188705;
double r9188707 = -r9188706;
double r9188708 = KbT;
double r9188709 = r9188707 / r9188708;
double r9188710 = exp(r9188709);
double r9188711 = r9188699 + r9188710;
double r9188712 = r9188698 / r9188711;
double r9188713 = NaChar;
double r9188714 = Ev;
double r9188715 = r9188714 + r9188701;
double r9188716 = EAccept;
double r9188717 = r9188715 + r9188716;
double r9188718 = -r9188705;
double r9188719 = r9188717 + r9188718;
double r9188720 = r9188719 / r9188708;
double r9188721 = exp(r9188720);
double r9188722 = r9188699 + r9188721;
double r9188723 = r9188713 / r9188722;
double r9188724 = r9188712 + r9188723;
return r9188724;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r9188725 = 1.0;
double r9188726 = Vef;
double r9188727 = mu;
double r9188728 = Ec;
double r9188729 = r9188727 - r9188728;
double r9188730 = r9188726 + r9188729;
double r9188731 = EDonor;
double r9188732 = r9188730 + r9188731;
double r9188733 = KbT;
double r9188734 = r9188732 / r9188733;
double r9188735 = exp(r9188734);
double r9188736 = 1.0;
double r9188737 = r9188735 + r9188736;
double r9188738 = NdChar;
double r9188739 = r9188737 / r9188738;
double r9188740 = r9188725 / r9188739;
double r9188741 = NaChar;
double r9188742 = Ev;
double r9188743 = r9188742 + r9188726;
double r9188744 = EAccept;
double r9188745 = r9188727 - r9188744;
double r9188746 = r9188743 - r9188745;
double r9188747 = r9188746 / r9188733;
double r9188748 = exp(r9188747);
double r9188749 = r9188748 + r9188736;
double r9188750 = r9188741 / r9188749;
double r9188751 = r9188740 + r9188750;
return r9188751;
}



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 clear-num0.1
Final simplification0.1
herbie shell --seed 2019169
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))