\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 + \frac{1}{e^{\frac{\left(\left(Ec - Vef\right) - EDonor\right) - mu}{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 r318312 = NdChar;
double r318313 = 1.0;
double r318314 = Ec;
double r318315 = Vef;
double r318316 = r318314 - r318315;
double r318317 = EDonor;
double r318318 = r318316 - r318317;
double r318319 = mu;
double r318320 = r318318 - r318319;
double r318321 = -r318320;
double r318322 = KbT;
double r318323 = r318321 / r318322;
double r318324 = exp(r318323);
double r318325 = r318313 + r318324;
double r318326 = r318312 / r318325;
double r318327 = NaChar;
double r318328 = Ev;
double r318329 = r318328 + r318315;
double r318330 = EAccept;
double r318331 = r318329 + r318330;
double r318332 = -r318319;
double r318333 = r318331 + r318332;
double r318334 = r318333 / r318322;
double r318335 = exp(r318334);
double r318336 = r318313 + r318335;
double r318337 = r318327 / r318336;
double r318338 = r318326 + r318337;
return r318338;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r318339 = NdChar;
double r318340 = 1.0;
double r318341 = 1.0;
double r318342 = Ec;
double r318343 = Vef;
double r318344 = r318342 - r318343;
double r318345 = EDonor;
double r318346 = r318344 - r318345;
double r318347 = mu;
double r318348 = r318346 - r318347;
double r318349 = KbT;
double r318350 = r318348 / r318349;
double r318351 = exp(r318350);
double r318352 = r318341 / r318351;
double r318353 = r318340 + r318352;
double r318354 = r318339 / r318353;
double r318355 = NaChar;
double r318356 = Ev;
double r318357 = r318356 + r318343;
double r318358 = EAccept;
double r318359 = r318357 + r318358;
double r318360 = -r318347;
double r318361 = r318359 + r318360;
double r318362 = r318361 / r318349;
double r318363 = exp(r318362);
double r318364 = r318340 + r318363;
double r318365 = r318355 / r318364;
double r318366 = r318354 + r318365;
return r318366;
}



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 distribute-frac-neg0.0
Applied exp-neg0.0
Final simplification0.0
herbie shell --seed 2019346
(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))))))