\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}}} + NaChar \cdot \frac{1}{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 r372749 = NdChar;
double r372750 = 1.0;
double r372751 = Ec;
double r372752 = Vef;
double r372753 = r372751 - r372752;
double r372754 = EDonor;
double r372755 = r372753 - r372754;
double r372756 = mu;
double r372757 = r372755 - r372756;
double r372758 = -r372757;
double r372759 = KbT;
double r372760 = r372758 / r372759;
double r372761 = exp(r372760);
double r372762 = r372750 + r372761;
double r372763 = r372749 / r372762;
double r372764 = NaChar;
double r372765 = Ev;
double r372766 = r372765 + r372752;
double r372767 = EAccept;
double r372768 = r372766 + r372767;
double r372769 = -r372756;
double r372770 = r372768 + r372769;
double r372771 = r372770 / r372759;
double r372772 = exp(r372771);
double r372773 = r372750 + r372772;
double r372774 = r372764 / r372773;
double r372775 = r372763 + r372774;
return r372775;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r372776 = NdChar;
double r372777 = 1.0;
double r372778 = Ec;
double r372779 = Vef;
double r372780 = r372778 - r372779;
double r372781 = EDonor;
double r372782 = r372780 - r372781;
double r372783 = mu;
double r372784 = r372782 - r372783;
double r372785 = -r372784;
double r372786 = KbT;
double r372787 = r372785 / r372786;
double r372788 = exp(r372787);
double r372789 = r372777 + r372788;
double r372790 = r372776 / r372789;
double r372791 = NaChar;
double r372792 = 1.0;
double r372793 = Ev;
double r372794 = r372793 + r372779;
double r372795 = EAccept;
double r372796 = r372794 + r372795;
double r372797 = -r372783;
double r372798 = r372796 + r372797;
double r372799 = r372798 / r372786;
double r372800 = exp(r372799);
double r372801 = r372777 + r372800;
double r372802 = r372792 / r372801;
double r372803 = r372791 * r372802;
double r372804 = r372790 + r372803;
return r372804;
}



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
rmApplied div-inv0.0
Final simplification0.0
herbie shell --seed 2020081
(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))))))