\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{NaChar}{e^{\frac{\left(Vef - mu\right) + \left(Ev + EAccept\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r7093794 = NdChar;
double r7093795 = 1.0;
double r7093796 = Ec;
double r7093797 = Vef;
double r7093798 = r7093796 - r7093797;
double r7093799 = EDonor;
double r7093800 = r7093798 - r7093799;
double r7093801 = mu;
double r7093802 = r7093800 - r7093801;
double r7093803 = -r7093802;
double r7093804 = KbT;
double r7093805 = r7093803 / r7093804;
double r7093806 = exp(r7093805);
double r7093807 = r7093795 + r7093806;
double r7093808 = r7093794 / r7093807;
double r7093809 = NaChar;
double r7093810 = Ev;
double r7093811 = r7093810 + r7093797;
double r7093812 = EAccept;
double r7093813 = r7093811 + r7093812;
double r7093814 = -r7093801;
double r7093815 = r7093813 + r7093814;
double r7093816 = r7093815 / r7093804;
double r7093817 = exp(r7093816);
double r7093818 = r7093795 + r7093817;
double r7093819 = r7093809 / r7093818;
double r7093820 = r7093808 + r7093819;
return r7093820;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r7093821 = NaChar;
double r7093822 = Vef;
double r7093823 = mu;
double r7093824 = r7093822 - r7093823;
double r7093825 = Ev;
double r7093826 = EAccept;
double r7093827 = r7093825 + r7093826;
double r7093828 = r7093824 + r7093827;
double r7093829 = KbT;
double r7093830 = r7093828 / r7093829;
double r7093831 = exp(r7093830);
double r7093832 = 1.0;
double r7093833 = r7093831 + r7093832;
double r7093834 = r7093821 / r7093833;
double r7093835 = NdChar;
double r7093836 = Ec;
double r7093837 = r7093836 - r7093822;
double r7093838 = EDonor;
double r7093839 = r7093837 - r7093838;
double r7093840 = r7093823 - r7093839;
double r7093841 = r7093840 / r7093829;
double r7093842 = exp(r7093841);
double r7093843 = r7093842 + r7093832;
double r7093844 = r7093835 / r7093843;
double r7093845 = r7093834 + r7093844;
return r7093845;
}



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