\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 r110748 = NdChar;
double r110749 = 1.0;
double r110750 = Ec;
double r110751 = Vef;
double r110752 = r110750 - r110751;
double r110753 = EDonor;
double r110754 = r110752 - r110753;
double r110755 = mu;
double r110756 = r110754 - r110755;
double r110757 = -r110756;
double r110758 = KbT;
double r110759 = r110757 / r110758;
double r110760 = exp(r110759);
double r110761 = r110749 + r110760;
double r110762 = r110748 / r110761;
double r110763 = NaChar;
double r110764 = Ev;
double r110765 = r110764 + r110751;
double r110766 = EAccept;
double r110767 = r110765 + r110766;
double r110768 = -r110755;
double r110769 = r110767 + r110768;
double r110770 = r110769 / r110758;
double r110771 = exp(r110770);
double r110772 = r110749 + r110771;
double r110773 = r110763 / r110772;
double r110774 = r110762 + r110773;
return r110774;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r110775 = NdChar;
double r110776 = 1.0;
double r110777 = Ec;
double r110778 = Vef;
double r110779 = r110777 - r110778;
double r110780 = EDonor;
double r110781 = r110779 - r110780;
double r110782 = mu;
double r110783 = r110781 - r110782;
double r110784 = -r110783;
double r110785 = KbT;
double r110786 = r110784 / r110785;
double r110787 = exp(r110786);
double r110788 = r110776 + r110787;
double r110789 = r110775 / r110788;
double r110790 = NaChar;
double r110791 = Ev;
double r110792 = r110791 + r110778;
double r110793 = EAccept;
double r110794 = r110792 + r110793;
double r110795 = -r110782;
double r110796 = r110794 + r110795;
double r110797 = r110796 / r110785;
double r110798 = exp(r110797);
double r110799 = r110776 + r110798;
double r110800 = r110790 / r110799;
double r110801 = r110789 + r110800;
return r110801;
}



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