\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 r238738 = NdChar;
double r238739 = 1.0;
double r238740 = Ec;
double r238741 = Vef;
double r238742 = r238740 - r238741;
double r238743 = EDonor;
double r238744 = r238742 - r238743;
double r238745 = mu;
double r238746 = r238744 - r238745;
double r238747 = -r238746;
double r238748 = KbT;
double r238749 = r238747 / r238748;
double r238750 = exp(r238749);
double r238751 = r238739 + r238750;
double r238752 = r238738 / r238751;
double r238753 = NaChar;
double r238754 = Ev;
double r238755 = r238754 + r238741;
double r238756 = EAccept;
double r238757 = r238755 + r238756;
double r238758 = -r238745;
double r238759 = r238757 + r238758;
double r238760 = r238759 / r238748;
double r238761 = exp(r238760);
double r238762 = r238739 + r238761;
double r238763 = r238753 / r238762;
double r238764 = r238752 + r238763;
return r238764;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r238765 = NdChar;
double r238766 = 1.0;
double r238767 = Ec;
double r238768 = Vef;
double r238769 = r238767 - r238768;
double r238770 = EDonor;
double r238771 = r238769 - r238770;
double r238772 = mu;
double r238773 = r238771 - r238772;
double r238774 = -r238773;
double r238775 = KbT;
double r238776 = r238774 / r238775;
double r238777 = exp(r238776);
double r238778 = r238766 + r238777;
double r238779 = r238765 / r238778;
double r238780 = NaChar;
double r238781 = Ev;
double r238782 = r238781 + r238768;
double r238783 = EAccept;
double r238784 = r238782 + r238783;
double r238785 = -r238772;
double r238786 = r238784 + r238785;
double r238787 = r238786 / r238775;
double r238788 = exp(r238787);
double r238789 = r238766 + r238788;
double r238790 = r238780 / r238789;
double r238791 = r238779 + r238790;
return r238791;
}



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