\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 r344827 = NdChar;
double r344828 = 1.0;
double r344829 = Ec;
double r344830 = Vef;
double r344831 = r344829 - r344830;
double r344832 = EDonor;
double r344833 = r344831 - r344832;
double r344834 = mu;
double r344835 = r344833 - r344834;
double r344836 = -r344835;
double r344837 = KbT;
double r344838 = r344836 / r344837;
double r344839 = exp(r344838);
double r344840 = r344828 + r344839;
double r344841 = r344827 / r344840;
double r344842 = NaChar;
double r344843 = Ev;
double r344844 = r344843 + r344830;
double r344845 = EAccept;
double r344846 = r344844 + r344845;
double r344847 = -r344834;
double r344848 = r344846 + r344847;
double r344849 = r344848 / r344837;
double r344850 = exp(r344849);
double r344851 = r344828 + r344850;
double r344852 = r344842 / r344851;
double r344853 = r344841 + r344852;
return r344853;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r344854 = NdChar;
double r344855 = 1.0;
double r344856 = Ec;
double r344857 = Vef;
double r344858 = r344856 - r344857;
double r344859 = EDonor;
double r344860 = r344858 - r344859;
double r344861 = mu;
double r344862 = r344860 - r344861;
double r344863 = -r344862;
double r344864 = KbT;
double r344865 = r344863 / r344864;
double r344866 = exp(r344865);
double r344867 = r344855 + r344866;
double r344868 = r344854 / r344867;
double r344869 = NaChar;
double r344870 = Ev;
double r344871 = r344870 + r344857;
double r344872 = EAccept;
double r344873 = r344871 + r344872;
double r344874 = -r344861;
double r344875 = r344873 + r344874;
double r344876 = r344875 / r344864;
double r344877 = exp(r344876);
double r344878 = r344855 + r344877;
double r344879 = r344869 / r344878;
double r344880 = r344868 + r344879;
return r344880;
}



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 2020021
(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))))))