\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{\frac{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{\sqrt[3]{KbT}}}{\sqrt[3]{KbT}}}{\sqrt[3]{KbT}}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r286767 = NdChar;
double r286768 = 1.0;
double r286769 = Ec;
double r286770 = Vef;
double r286771 = r286769 - r286770;
double r286772 = EDonor;
double r286773 = r286771 - r286772;
double r286774 = mu;
double r286775 = r286773 - r286774;
double r286776 = -r286775;
double r286777 = KbT;
double r286778 = r286776 / r286777;
double r286779 = exp(r286778);
double r286780 = r286768 + r286779;
double r286781 = r286767 / r286780;
double r286782 = NaChar;
double r286783 = Ev;
double r286784 = r286783 + r286770;
double r286785 = EAccept;
double r286786 = r286784 + r286785;
double r286787 = -r286774;
double r286788 = r286786 + r286787;
double r286789 = r286788 / r286777;
double r286790 = exp(r286789);
double r286791 = r286768 + r286790;
double r286792 = r286782 / r286791;
double r286793 = r286781 + r286792;
return r286793;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r286794 = NdChar;
double r286795 = 1.0;
double r286796 = Ec;
double r286797 = Vef;
double r286798 = r286796 - r286797;
double r286799 = EDonor;
double r286800 = r286798 - r286799;
double r286801 = mu;
double r286802 = r286800 - r286801;
double r286803 = -r286802;
double r286804 = KbT;
double r286805 = r286803 / r286804;
double r286806 = exp(r286805);
double r286807 = r286795 + r286806;
double r286808 = r286794 / r286807;
double r286809 = NaChar;
double r286810 = Ev;
double r286811 = r286810 + r286797;
double r286812 = EAccept;
double r286813 = r286811 + r286812;
double r286814 = r286813 - r286801;
double r286815 = cbrt(r286804);
double r286816 = r286814 / r286815;
double r286817 = r286816 / r286815;
double r286818 = r286817 / r286815;
double r286819 = exp(r286818);
double r286820 = r286795 + r286819;
double r286821 = r286809 / r286820;
double r286822 = r286808 + r286821;
return r286822;
}



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
rmApplied add-cube-cbrt0.0
Applied associate-/r*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020034 +o rules:numerics
(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))))))