\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 r249234 = NdChar;
double r249235 = 1.0;
double r249236 = Ec;
double r249237 = Vef;
double r249238 = r249236 - r249237;
double r249239 = EDonor;
double r249240 = r249238 - r249239;
double r249241 = mu;
double r249242 = r249240 - r249241;
double r249243 = -r249242;
double r249244 = KbT;
double r249245 = r249243 / r249244;
double r249246 = exp(r249245);
double r249247 = r249235 + r249246;
double r249248 = r249234 / r249247;
double r249249 = NaChar;
double r249250 = Ev;
double r249251 = r249250 + r249237;
double r249252 = EAccept;
double r249253 = r249251 + r249252;
double r249254 = -r249241;
double r249255 = r249253 + r249254;
double r249256 = r249255 / r249244;
double r249257 = exp(r249256);
double r249258 = r249235 + r249257;
double r249259 = r249249 / r249258;
double r249260 = r249248 + r249259;
return r249260;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r249261 = NdChar;
double r249262 = 1.0;
double r249263 = Ec;
double r249264 = Vef;
double r249265 = r249263 - r249264;
double r249266 = EDonor;
double r249267 = r249265 - r249266;
double r249268 = mu;
double r249269 = r249267 - r249268;
double r249270 = -r249269;
double r249271 = KbT;
double r249272 = r249270 / r249271;
double r249273 = exp(r249272);
double r249274 = r249262 + r249273;
double r249275 = r249261 / r249274;
double r249276 = NaChar;
double r249277 = 1.0;
double r249278 = Ev;
double r249279 = r249278 + r249264;
double r249280 = EAccept;
double r249281 = r249279 + r249280;
double r249282 = -r249268;
double r249283 = r249281 + r249282;
double r249284 = r249283 / r249271;
double r249285 = exp(r249284);
double r249286 = r249262 + r249285;
double r249287 = r249277 / r249286;
double r249288 = r249276 * r249287;
double r249289 = r249275 + r249288;
return r249289;
}



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