\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 r173807 = NdChar;
double r173808 = 1.0;
double r173809 = Ec;
double r173810 = Vef;
double r173811 = r173809 - r173810;
double r173812 = EDonor;
double r173813 = r173811 - r173812;
double r173814 = mu;
double r173815 = r173813 - r173814;
double r173816 = -r173815;
double r173817 = KbT;
double r173818 = r173816 / r173817;
double r173819 = exp(r173818);
double r173820 = r173808 + r173819;
double r173821 = r173807 / r173820;
double r173822 = NaChar;
double r173823 = Ev;
double r173824 = r173823 + r173810;
double r173825 = EAccept;
double r173826 = r173824 + r173825;
double r173827 = -r173814;
double r173828 = r173826 + r173827;
double r173829 = r173828 / r173817;
double r173830 = exp(r173829);
double r173831 = r173808 + r173830;
double r173832 = r173822 / r173831;
double r173833 = r173821 + r173832;
return r173833;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r173834 = NdChar;
double r173835 = 1.0;
double r173836 = Ec;
double r173837 = Vef;
double r173838 = r173836 - r173837;
double r173839 = EDonor;
double r173840 = r173838 - r173839;
double r173841 = mu;
double r173842 = r173840 - r173841;
double r173843 = -r173842;
double r173844 = KbT;
double r173845 = r173843 / r173844;
double r173846 = exp(r173845);
double r173847 = r173835 + r173846;
double r173848 = r173834 / r173847;
double r173849 = NaChar;
double r173850 = Ev;
double r173851 = r173850 + r173837;
double r173852 = EAccept;
double r173853 = r173851 + r173852;
double r173854 = -r173841;
double r173855 = r173853 + r173854;
double r173856 = r173855 / r173844;
double r173857 = exp(r173856);
double r173858 = r173835 + r173857;
double r173859 = r173849 / r173858;
double r173860 = r173848 + r173859;
return r173860;
}



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