\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 + \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{\frac{3}{2}}} \cdot \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{\frac{3}{2}}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r155757 = NdChar;
double r155758 = 1.0;
double r155759 = Ec;
double r155760 = Vef;
double r155761 = r155759 - r155760;
double r155762 = EDonor;
double r155763 = r155761 - r155762;
double r155764 = mu;
double r155765 = r155763 - r155764;
double r155766 = -r155765;
double r155767 = KbT;
double r155768 = r155766 / r155767;
double r155769 = exp(r155768);
double r155770 = r155758 + r155769;
double r155771 = r155757 / r155770;
double r155772 = NaChar;
double r155773 = Ev;
double r155774 = r155773 + r155760;
double r155775 = EAccept;
double r155776 = r155774 + r155775;
double r155777 = -r155764;
double r155778 = r155776 + r155777;
double r155779 = r155778 / r155767;
double r155780 = exp(r155779);
double r155781 = r155758 + r155780;
double r155782 = r155772 / r155781;
double r155783 = r155771 + r155782;
return r155783;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r155784 = NdChar;
double r155785 = 1.0;
double r155786 = Ec;
double r155787 = Vef;
double r155788 = r155786 - r155787;
double r155789 = EDonor;
double r155790 = r155788 - r155789;
double r155791 = mu;
double r155792 = r155790 - r155791;
double r155793 = -r155792;
double r155794 = KbT;
double r155795 = r155793 / r155794;
double r155796 = exp(r155795);
double r155797 = r155785 + r155796;
double r155798 = r155784 / r155797;
double r155799 = NaChar;
double r155800 = Ev;
double r155801 = r155800 + r155787;
double r155802 = EAccept;
double r155803 = r155801 + r155802;
double r155804 = r155803 - r155791;
double r155805 = r155804 / r155794;
double r155806 = exp(r155805);
double r155807 = 1.5;
double r155808 = pow(r155806, r155807);
double r155809 = cbrt(r155808);
double r155810 = r155809 * r155809;
double r155811 = r155785 + r155810;
double r155812 = r155799 / r155811;
double r155813 = r155798 + r155812;
return r155813;
}



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
rmApplied sqr-pow0.0
Applied cbrt-prod0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019212
(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))))))