\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}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r237733 = NdChar;
double r237734 = 1.0;
double r237735 = Ec;
double r237736 = Vef;
double r237737 = r237735 - r237736;
double r237738 = EDonor;
double r237739 = r237737 - r237738;
double r237740 = mu;
double r237741 = r237739 - r237740;
double r237742 = -r237741;
double r237743 = KbT;
double r237744 = r237742 / r237743;
double r237745 = exp(r237744);
double r237746 = r237734 + r237745;
double r237747 = r237733 / r237746;
double r237748 = NaChar;
double r237749 = Ev;
double r237750 = r237749 + r237736;
double r237751 = EAccept;
double r237752 = r237750 + r237751;
double r237753 = -r237740;
double r237754 = r237752 + r237753;
double r237755 = r237754 / r237743;
double r237756 = exp(r237755);
double r237757 = r237734 + r237756;
double r237758 = r237748 / r237757;
double r237759 = r237747 + r237758;
return r237759;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r237760 = NdChar;
double r237761 = mu;
double r237762 = EDonor;
double r237763 = Ec;
double r237764 = Vef;
double r237765 = r237763 - r237764;
double r237766 = r237762 - r237765;
double r237767 = r237761 + r237766;
double r237768 = KbT;
double r237769 = r237767 / r237768;
double r237770 = exp(r237769);
double r237771 = 1.0;
double r237772 = r237770 + r237771;
double r237773 = r237760 / r237772;
double r237774 = NaChar;
double r237775 = Ev;
double r237776 = r237775 + r237764;
double r237777 = EAccept;
double r237778 = r237776 + r237777;
double r237779 = r237778 - r237761;
double r237780 = r237779 / r237768;
double r237781 = exp(r237780);
double r237782 = r237771 + r237781;
double r237783 = r237774 / r237782;
double r237784 = r237773 + r237783;
return r237784;
}



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