\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^{\sqrt[3]{{\left(\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}\right)}^{3}}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r362718 = NdChar;
double r362719 = 1.0;
double r362720 = Ec;
double r362721 = Vef;
double r362722 = r362720 - r362721;
double r362723 = EDonor;
double r362724 = r362722 - r362723;
double r362725 = mu;
double r362726 = r362724 - r362725;
double r362727 = -r362726;
double r362728 = KbT;
double r362729 = r362727 / r362728;
double r362730 = exp(r362729);
double r362731 = r362719 + r362730;
double r362732 = r362718 / r362731;
double r362733 = NaChar;
double r362734 = Ev;
double r362735 = r362734 + r362721;
double r362736 = EAccept;
double r362737 = r362735 + r362736;
double r362738 = -r362725;
double r362739 = r362737 + r362738;
double r362740 = r362739 / r362728;
double r362741 = exp(r362740);
double r362742 = r362719 + r362741;
double r362743 = r362733 / r362742;
double r362744 = r362732 + r362743;
return r362744;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r362745 = NdChar;
double r362746 = 1.0;
double r362747 = Ec;
double r362748 = Vef;
double r362749 = r362747 - r362748;
double r362750 = EDonor;
double r362751 = r362749 - r362750;
double r362752 = mu;
double r362753 = r362751 - r362752;
double r362754 = -r362753;
double r362755 = KbT;
double r362756 = r362754 / r362755;
double r362757 = exp(r362756);
double r362758 = r362746 + r362757;
double r362759 = r362745 / r362758;
double r362760 = NaChar;
double r362761 = Ev;
double r362762 = r362761 + r362748;
double r362763 = EAccept;
double r362764 = r362762 + r362763;
double r362765 = r362764 - r362752;
double r362766 = r362765 / r362755;
double r362767 = 3.0;
double r362768 = pow(r362766, r362767);
double r362769 = cbrt(r362768);
double r362770 = exp(r362769);
double r362771 = r362746 + r362770;
double r362772 = r362760 / r362771;
double r362773 = r362759 + r362772;
return r362773;
}



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-cbrt-cube6.7
Applied add-cbrt-cube17.2
Applied cbrt-undiv17.2
Simplified0.0
Final simplification0.0
herbie shell --seed 2020064 +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))))))