\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}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1} + \frac{NaChar}{1 + {\left(e^{\sqrt[3]{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}} \cdot \sqrt[3]{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}\right)}^{\left(\sqrt[3]{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r206766 = NdChar;
double r206767 = 1.0;
double r206768 = Ec;
double r206769 = Vef;
double r206770 = r206768 - r206769;
double r206771 = EDonor;
double r206772 = r206770 - r206771;
double r206773 = mu;
double r206774 = r206772 - r206773;
double r206775 = -r206774;
double r206776 = KbT;
double r206777 = r206775 / r206776;
double r206778 = exp(r206777);
double r206779 = r206767 + r206778;
double r206780 = r206766 / r206779;
double r206781 = NaChar;
double r206782 = Ev;
double r206783 = r206782 + r206769;
double r206784 = EAccept;
double r206785 = r206783 + r206784;
double r206786 = -r206773;
double r206787 = r206785 + r206786;
double r206788 = r206787 / r206776;
double r206789 = exp(r206788);
double r206790 = r206767 + r206789;
double r206791 = r206781 / r206790;
double r206792 = r206780 + r206791;
return r206792;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r206793 = NdChar;
double r206794 = mu;
double r206795 = EDonor;
double r206796 = Ec;
double r206797 = Vef;
double r206798 = r206796 - r206797;
double r206799 = r206795 - r206798;
double r206800 = r206794 + r206799;
double r206801 = KbT;
double r206802 = r206800 / r206801;
double r206803 = exp(r206802);
double r206804 = 1.0;
double r206805 = r206803 + r206804;
double r206806 = r206793 / r206805;
double r206807 = NaChar;
double r206808 = Ev;
double r206809 = r206808 + r206797;
double r206810 = EAccept;
double r206811 = r206809 + r206810;
double r206812 = r206811 - r206794;
double r206813 = r206812 / r206801;
double r206814 = cbrt(r206813);
double r206815 = r206814 * r206814;
double r206816 = exp(r206815);
double r206817 = pow(r206816, r206814);
double r206818 = r206804 + r206817;
double r206819 = r206807 / r206818;
double r206820 = r206806 + r206819;
return r206820;
}



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-cube-cbrt0.0
Applied exp-prod0.0
Final simplification0.0
herbie shell --seed 2019303 +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))))))