\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}{\sqrt[3]{{\left(1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}\right)}^{3}}} + \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 r178693 = NdChar;
double r178694 = 1.0;
double r178695 = Ec;
double r178696 = Vef;
double r178697 = r178695 - r178696;
double r178698 = EDonor;
double r178699 = r178697 - r178698;
double r178700 = mu;
double r178701 = r178699 - r178700;
double r178702 = -r178701;
double r178703 = KbT;
double r178704 = r178702 / r178703;
double r178705 = exp(r178704);
double r178706 = r178694 + r178705;
double r178707 = r178693 / r178706;
double r178708 = NaChar;
double r178709 = Ev;
double r178710 = r178709 + r178696;
double r178711 = EAccept;
double r178712 = r178710 + r178711;
double r178713 = -r178700;
double r178714 = r178712 + r178713;
double r178715 = r178714 / r178703;
double r178716 = exp(r178715);
double r178717 = r178694 + r178716;
double r178718 = r178708 / r178717;
double r178719 = r178707 + r178718;
return r178719;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r178720 = NdChar;
double r178721 = 1.0;
double r178722 = Ec;
double r178723 = Vef;
double r178724 = r178722 - r178723;
double r178725 = EDonor;
double r178726 = r178724 - r178725;
double r178727 = mu;
double r178728 = r178726 - r178727;
double r178729 = -r178728;
double r178730 = KbT;
double r178731 = r178729 / r178730;
double r178732 = exp(r178731);
double r178733 = r178721 + r178732;
double r178734 = 3.0;
double r178735 = pow(r178733, r178734);
double r178736 = cbrt(r178735);
double r178737 = r178720 / r178736;
double r178738 = NaChar;
double r178739 = Ev;
double r178740 = r178739 + r178723;
double r178741 = EAccept;
double r178742 = r178740 + r178741;
double r178743 = -r178727;
double r178744 = r178742 + r178743;
double r178745 = r178744 / r178730;
double r178746 = exp(r178745);
double r178747 = r178721 + r178746;
double r178748 = r178738 / r178747;
double r178749 = r178737 + r178748;
return r178749;
}



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-cube0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020002 +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))))))