\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}{\sqrt{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} \cdot \sqrt{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r125338 = NdChar;
double r125339 = 1.0;
double r125340 = Ec;
double r125341 = Vef;
double r125342 = r125340 - r125341;
double r125343 = EDonor;
double r125344 = r125342 - r125343;
double r125345 = mu;
double r125346 = r125344 - r125345;
double r125347 = -r125346;
double r125348 = KbT;
double r125349 = r125347 / r125348;
double r125350 = exp(r125349);
double r125351 = r125339 + r125350;
double r125352 = r125338 / r125351;
double r125353 = NaChar;
double r125354 = Ev;
double r125355 = r125354 + r125341;
double r125356 = EAccept;
double r125357 = r125355 + r125356;
double r125358 = -r125345;
double r125359 = r125357 + r125358;
double r125360 = r125359 / r125348;
double r125361 = exp(r125360);
double r125362 = r125339 + r125361;
double r125363 = r125353 / r125362;
double r125364 = r125352 + r125363;
return r125364;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r125365 = NdChar;
double r125366 = mu;
double r125367 = EDonor;
double r125368 = Ec;
double r125369 = Vef;
double r125370 = r125368 - r125369;
double r125371 = r125367 - r125370;
double r125372 = r125366 + r125371;
double r125373 = KbT;
double r125374 = r125372 / r125373;
double r125375 = exp(r125374);
double r125376 = sqrt(r125375);
double r125377 = r125376 * r125376;
double r125378 = 1.0;
double r125379 = r125377 + r125378;
double r125380 = r125365 / r125379;
double r125381 = NaChar;
double r125382 = Ev;
double r125383 = r125382 + r125369;
double r125384 = EAccept;
double r125385 = r125383 + r125384;
double r125386 = r125385 - r125366;
double r125387 = r125386 / r125373;
double r125388 = exp(r125387);
double r125389 = r125378 + r125388;
double r125390 = r125381 / r125389;
double r125391 = r125380 + r125390;
return r125391;
}



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
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2019323
(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))))))