\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}{1 + e^{\sqrt[3]{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT} \cdot \left(\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT} \cdot \frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}\right)}}} + \frac{NdChar}{1 + e^{\frac{-\left(Ec - \left(EDonor + \left(mu + Vef\right)\right)\right)}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r36191877 = NdChar;
double r36191878 = 1.0;
double r36191879 = Ec;
double r36191880 = Vef;
double r36191881 = r36191879 - r36191880;
double r36191882 = EDonor;
double r36191883 = r36191881 - r36191882;
double r36191884 = mu;
double r36191885 = r36191883 - r36191884;
double r36191886 = -r36191885;
double r36191887 = KbT;
double r36191888 = r36191886 / r36191887;
double r36191889 = exp(r36191888);
double r36191890 = r36191878 + r36191889;
double r36191891 = r36191877 / r36191890;
double r36191892 = NaChar;
double r36191893 = Ev;
double r36191894 = r36191893 + r36191880;
double r36191895 = EAccept;
double r36191896 = r36191894 + r36191895;
double r36191897 = -r36191884;
double r36191898 = r36191896 + r36191897;
double r36191899 = r36191898 / r36191887;
double r36191900 = exp(r36191899);
double r36191901 = r36191878 + r36191900;
double r36191902 = r36191892 / r36191901;
double r36191903 = r36191891 + r36191902;
return r36191903;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r36191904 = NaChar;
double r36191905 = 1.0;
double r36191906 = Ev;
double r36191907 = Vef;
double r36191908 = r36191906 + r36191907;
double r36191909 = mu;
double r36191910 = r36191908 - r36191909;
double r36191911 = EAccept;
double r36191912 = r36191910 + r36191911;
double r36191913 = KbT;
double r36191914 = r36191912 / r36191913;
double r36191915 = r36191914 * r36191914;
double r36191916 = r36191914 * r36191915;
double r36191917 = cbrt(r36191916);
double r36191918 = exp(r36191917);
double r36191919 = r36191905 + r36191918;
double r36191920 = r36191904 / r36191919;
double r36191921 = NdChar;
double r36191922 = Ec;
double r36191923 = EDonor;
double r36191924 = r36191909 + r36191907;
double r36191925 = r36191923 + r36191924;
double r36191926 = r36191922 - r36191925;
double r36191927 = -r36191926;
double r36191928 = r36191927 / r36191913;
double r36191929 = exp(r36191928);
double r36191930 = r36191905 + r36191929;
double r36191931 = r36191921 / r36191930;
double r36191932 = r36191920 + r36191931;
return r36191932;
}



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 add-cbrt-cube0.0
Final simplification0.0
herbie shell --seed 2019104
(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))))))