\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{NaChar}{1 + \sqrt[3]{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}}} \cdot \left(\sqrt[3]{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}}} \cdot \sqrt[3]{\sqrt{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}}} \cdot \sqrt{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}}}}\right)} + \frac{NdChar}{1 + e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3908791 = NdChar;
double r3908792 = 1.0;
double r3908793 = Ec;
double r3908794 = Vef;
double r3908795 = r3908793 - r3908794;
double r3908796 = EDonor;
double r3908797 = r3908795 - r3908796;
double r3908798 = mu;
double r3908799 = r3908797 - r3908798;
double r3908800 = -r3908799;
double r3908801 = KbT;
double r3908802 = r3908800 / r3908801;
double r3908803 = exp(r3908802);
double r3908804 = r3908792 + r3908803;
double r3908805 = r3908791 / r3908804;
double r3908806 = NaChar;
double r3908807 = Ev;
double r3908808 = r3908807 + r3908794;
double r3908809 = EAccept;
double r3908810 = r3908808 + r3908809;
double r3908811 = -r3908798;
double r3908812 = r3908810 + r3908811;
double r3908813 = r3908812 / r3908801;
double r3908814 = exp(r3908813);
double r3908815 = r3908792 + r3908814;
double r3908816 = r3908806 / r3908815;
double r3908817 = r3908805 + r3908816;
return r3908817;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3908818 = NaChar;
double r3908819 = 1.0;
double r3908820 = Ev;
double r3908821 = Vef;
double r3908822 = r3908820 + r3908821;
double r3908823 = mu;
double r3908824 = r3908822 - r3908823;
double r3908825 = EAccept;
double r3908826 = r3908824 + r3908825;
double r3908827 = KbT;
double r3908828 = r3908826 / r3908827;
double r3908829 = exp(r3908828);
double r3908830 = cbrt(r3908829);
double r3908831 = sqrt(r3908829);
double r3908832 = r3908831 * r3908831;
double r3908833 = cbrt(r3908832);
double r3908834 = r3908830 * r3908833;
double r3908835 = r3908830 * r3908834;
double r3908836 = r3908819 + r3908835;
double r3908837 = r3908818 / r3908836;
double r3908838 = NdChar;
double r3908839 = Ec;
double r3908840 = r3908839 - r3908821;
double r3908841 = EDonor;
double r3908842 = r3908840 - r3908841;
double r3908843 = r3908823 - r3908842;
double r3908844 = r3908843 / r3908827;
double r3908845 = exp(r3908844);
double r3908846 = r3908819 + r3908845;
double r3908847 = r3908838 / r3908846;
double r3908848 = r3908837 + r3908847;
return r3908848;
}



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
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2019128 +o rules:numerics
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))