\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 + {\left(e^{\frac{-\sqrt[3]{\left(\left(Ec - Vef\right) - EDonor\right) - mu} \cdot \sqrt[3]{\left(\left(Ec - Vef\right) - EDonor\right) - mu}}{\sqrt[3]{KbT} \cdot \sqrt[3]{KbT}}}\right)}^{\left(\frac{\sqrt[3]{\left(\left(Ec - Vef\right) - EDonor\right) - mu}}{\sqrt[3]{KbT}}\right)}} + \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 r327679 = NdChar;
double r327680 = 1.0;
double r327681 = Ec;
double r327682 = Vef;
double r327683 = r327681 - r327682;
double r327684 = EDonor;
double r327685 = r327683 - r327684;
double r327686 = mu;
double r327687 = r327685 - r327686;
double r327688 = -r327687;
double r327689 = KbT;
double r327690 = r327688 / r327689;
double r327691 = exp(r327690);
double r327692 = r327680 + r327691;
double r327693 = r327679 / r327692;
double r327694 = NaChar;
double r327695 = Ev;
double r327696 = r327695 + r327682;
double r327697 = EAccept;
double r327698 = r327696 + r327697;
double r327699 = -r327686;
double r327700 = r327698 + r327699;
double r327701 = r327700 / r327689;
double r327702 = exp(r327701);
double r327703 = r327680 + r327702;
double r327704 = r327694 / r327703;
double r327705 = r327693 + r327704;
return r327705;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r327706 = NdChar;
double r327707 = 1.0;
double r327708 = Ec;
double r327709 = Vef;
double r327710 = r327708 - r327709;
double r327711 = EDonor;
double r327712 = r327710 - r327711;
double r327713 = mu;
double r327714 = r327712 - r327713;
double r327715 = cbrt(r327714);
double r327716 = r327715 * r327715;
double r327717 = -r327716;
double r327718 = KbT;
double r327719 = cbrt(r327718);
double r327720 = r327719 * r327719;
double r327721 = r327717 / r327720;
double r327722 = exp(r327721);
double r327723 = r327715 / r327719;
double r327724 = pow(r327722, r327723);
double r327725 = r327707 + r327724;
double r327726 = r327706 / r327725;
double r327727 = NaChar;
double r327728 = Ev;
double r327729 = r327728 + r327709;
double r327730 = EAccept;
double r327731 = r327729 + r327730;
double r327732 = -r327713;
double r327733 = r327731 + r327732;
double r327734 = r327733 / r327718;
double r327735 = exp(r327734);
double r327736 = r327707 + r327735;
double r327737 = r327727 / r327736;
double r327738 = r327726 + r327737;
return r327738;
}



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 add-cube-cbrt0.0
Applied distribute-lft-neg-in0.0
Applied times-frac0.0
Applied exp-prod0.0
Final simplification0.0
herbie shell --seed 2020039 +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))))))