\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}{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r7436727 = NdChar;
double r7436728 = 1.0;
double r7436729 = Ec;
double r7436730 = Vef;
double r7436731 = r7436729 - r7436730;
double r7436732 = EDonor;
double r7436733 = r7436731 - r7436732;
double r7436734 = mu;
double r7436735 = r7436733 - r7436734;
double r7436736 = -r7436735;
double r7436737 = KbT;
double r7436738 = r7436736 / r7436737;
double r7436739 = exp(r7436738);
double r7436740 = r7436728 + r7436739;
double r7436741 = r7436727 / r7436740;
double r7436742 = NaChar;
double r7436743 = Ev;
double r7436744 = r7436743 + r7436730;
double r7436745 = EAccept;
double r7436746 = r7436744 + r7436745;
double r7436747 = -r7436734;
double r7436748 = r7436746 + r7436747;
double r7436749 = r7436748 / r7436737;
double r7436750 = exp(r7436749);
double r7436751 = r7436728 + r7436750;
double r7436752 = r7436742 / r7436751;
double r7436753 = r7436741 + r7436752;
return r7436753;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r7436754 = NaChar;
double r7436755 = Vef;
double r7436756 = mu;
double r7436757 = r7436755 - r7436756;
double r7436758 = Ev;
double r7436759 = r7436757 + r7436758;
double r7436760 = EAccept;
double r7436761 = r7436759 + r7436760;
double r7436762 = KbT;
double r7436763 = r7436761 / r7436762;
double r7436764 = exp(r7436763);
double r7436765 = 1.0;
double r7436766 = r7436764 + r7436765;
double r7436767 = r7436754 / r7436766;
double r7436768 = NdChar;
double r7436769 = EDonor;
double r7436770 = Ec;
double r7436771 = r7436770 - r7436755;
double r7436772 = r7436769 - r7436771;
double r7436773 = r7436756 + r7436772;
double r7436774 = r7436773 / r7436762;
double r7436775 = exp(r7436774);
double r7436776 = r7436775 + r7436765;
double r7436777 = r7436768 / r7436776;
double r7436778 = r7436767 + r7436777;
return r7436778;
}



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