\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}}} + \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 r313416 = NdChar;
double r313417 = 1.0;
double r313418 = Ec;
double r313419 = Vef;
double r313420 = r313418 - r313419;
double r313421 = EDonor;
double r313422 = r313420 - r313421;
double r313423 = mu;
double r313424 = r313422 - r313423;
double r313425 = -r313424;
double r313426 = KbT;
double r313427 = r313425 / r313426;
double r313428 = exp(r313427);
double r313429 = r313417 + r313428;
double r313430 = r313416 / r313429;
double r313431 = NaChar;
double r313432 = Ev;
double r313433 = r313432 + r313419;
double r313434 = EAccept;
double r313435 = r313433 + r313434;
double r313436 = -r313423;
double r313437 = r313435 + r313436;
double r313438 = r313437 / r313426;
double r313439 = exp(r313438);
double r313440 = r313417 + r313439;
double r313441 = r313431 / r313440;
double r313442 = r313430 + r313441;
return r313442;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r313443 = NdChar;
double r313444 = 1.0;
double r313445 = Ec;
double r313446 = Vef;
double r313447 = r313445 - r313446;
double r313448 = EDonor;
double r313449 = r313447 - r313448;
double r313450 = mu;
double r313451 = r313449 - r313450;
double r313452 = -r313451;
double r313453 = KbT;
double r313454 = r313452 / r313453;
double r313455 = exp(r313454);
double r313456 = r313444 + r313455;
double r313457 = r313443 / r313456;
double r313458 = NaChar;
double r313459 = Ev;
double r313460 = r313459 + r313446;
double r313461 = EAccept;
double r313462 = r313460 + r313461;
double r313463 = -r313450;
double r313464 = r313462 + r313463;
double r313465 = r313464 / r313453;
double r313466 = exp(r313465);
double r313467 = r313444 + r313466;
double r313468 = r313458 / r313467;
double r313469 = r313457 + r313468;
return r313469;
}



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
Final simplification0.0
herbie shell --seed 2020059
(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))))))