\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{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}} + \frac{NaChar}{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r37028075 = NdChar;
double r37028076 = 1.0;
double r37028077 = Ec;
double r37028078 = Vef;
double r37028079 = r37028077 - r37028078;
double r37028080 = EDonor;
double r37028081 = r37028079 - r37028080;
double r37028082 = mu;
double r37028083 = r37028081 - r37028082;
double r37028084 = -r37028083;
double r37028085 = KbT;
double r37028086 = r37028084 / r37028085;
double r37028087 = exp(r37028086);
double r37028088 = r37028076 + r37028087;
double r37028089 = r37028075 / r37028088;
double r37028090 = NaChar;
double r37028091 = Ev;
double r37028092 = r37028091 + r37028078;
double r37028093 = EAccept;
double r37028094 = r37028092 + r37028093;
double r37028095 = -r37028082;
double r37028096 = r37028094 + r37028095;
double r37028097 = r37028096 / r37028085;
double r37028098 = exp(r37028097);
double r37028099 = r37028076 + r37028098;
double r37028100 = r37028090 / r37028099;
double r37028101 = r37028089 + r37028100;
return r37028101;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r37028102 = NdChar;
double r37028103 = 1.0;
double r37028104 = Ec;
double r37028105 = EDonor;
double r37028106 = mu;
double r37028107 = Vef;
double r37028108 = r37028106 + r37028107;
double r37028109 = r37028105 + r37028108;
double r37028110 = r37028104 - r37028109;
double r37028111 = KbT;
double r37028112 = r37028110 / r37028111;
double r37028113 = -r37028112;
double r37028114 = exp(r37028113);
double r37028115 = r37028103 + r37028114;
double r37028116 = r37028102 / r37028115;
double r37028117 = NaChar;
double r37028118 = Ev;
double r37028119 = r37028118 + r37028107;
double r37028120 = r37028119 - r37028106;
double r37028121 = EAccept;
double r37028122 = r37028120 + r37028121;
double r37028123 = r37028122 / r37028111;
double r37028124 = exp(r37028123);
double r37028125 = r37028124 + r37028103;
double r37028126 = r37028117 / r37028125;
double r37028127 = r37028116 + r37028126;
return r37028127;
}



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