\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 r235157 = NdChar;
double r235158 = 1.0;
double r235159 = Ec;
double r235160 = Vef;
double r235161 = r235159 - r235160;
double r235162 = EDonor;
double r235163 = r235161 - r235162;
double r235164 = mu;
double r235165 = r235163 - r235164;
double r235166 = -r235165;
double r235167 = KbT;
double r235168 = r235166 / r235167;
double r235169 = exp(r235168);
double r235170 = r235158 + r235169;
double r235171 = r235157 / r235170;
double r235172 = NaChar;
double r235173 = Ev;
double r235174 = r235173 + r235160;
double r235175 = EAccept;
double r235176 = r235174 + r235175;
double r235177 = -r235164;
double r235178 = r235176 + r235177;
double r235179 = r235178 / r235167;
double r235180 = exp(r235179);
double r235181 = r235158 + r235180;
double r235182 = r235172 / r235181;
double r235183 = r235171 + r235182;
return r235183;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r235184 = NdChar;
double r235185 = 1.0;
double r235186 = Ec;
double r235187 = Vef;
double r235188 = r235186 - r235187;
double r235189 = EDonor;
double r235190 = r235188 - r235189;
double r235191 = mu;
double r235192 = r235190 - r235191;
double r235193 = -r235192;
double r235194 = KbT;
double r235195 = r235193 / r235194;
double r235196 = exp(r235195);
double r235197 = r235185 + r235196;
double r235198 = r235184 / r235197;
double r235199 = NaChar;
double r235200 = 1.0;
double r235201 = Ev;
double r235202 = r235201 + r235187;
double r235203 = EAccept;
double r235204 = r235202 + r235203;
double r235205 = -r235191;
double r235206 = r235204 + r235205;
double r235207 = r235206 / r235194;
double r235208 = exp(r235207);
double r235209 = r235185 + r235208;
double r235210 = r235200 / r235209;
double r235211 = r235199 * r235210;
double r235212 = r235198 + r235211;
return r235212;
}



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