\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 + 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 r327835 = NdChar;
double r327836 = 1.0;
double r327837 = Ec;
double r327838 = Vef;
double r327839 = r327837 - r327838;
double r327840 = EDonor;
double r327841 = r327839 - r327840;
double r327842 = mu;
double r327843 = r327841 - r327842;
double r327844 = -r327843;
double r327845 = KbT;
double r327846 = r327844 / r327845;
double r327847 = exp(r327846);
double r327848 = r327836 + r327847;
double r327849 = r327835 / r327848;
double r327850 = NaChar;
double r327851 = Ev;
double r327852 = r327851 + r327838;
double r327853 = EAccept;
double r327854 = r327852 + r327853;
double r327855 = -r327842;
double r327856 = r327854 + r327855;
double r327857 = r327856 / r327845;
double r327858 = exp(r327857);
double r327859 = r327836 + r327858;
double r327860 = r327850 / r327859;
double r327861 = r327849 + r327860;
return r327861;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r327862 = NdChar;
double r327863 = 1.0;
double r327864 = Ec;
double r327865 = Vef;
double r327866 = r327864 - r327865;
double r327867 = EDonor;
double r327868 = r327866 - r327867;
double r327869 = mu;
double r327870 = r327868 - r327869;
double r327871 = -r327870;
double r327872 = KbT;
double r327873 = r327871 / r327872;
double r327874 = exp(r327873);
double r327875 = r327863 + r327874;
double r327876 = r327862 / r327875;
double r327877 = NaChar;
double r327878 = Ev;
double r327879 = r327878 + r327865;
double r327880 = EAccept;
double r327881 = r327879 + r327880;
double r327882 = -r327869;
double r327883 = r327881 + r327882;
double r327884 = r327883 / r327872;
double r327885 = exp(r327884);
double r327886 = r327863 + r327885;
double r327887 = r327877 / r327886;
double r327888 = r327876 + r327887;
return r327888;
}



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
Final simplification0.0
herbie shell --seed 2020057
(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))))))