\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 r197450 = NdChar;
double r197451 = 1.0;
double r197452 = Ec;
double r197453 = Vef;
double r197454 = r197452 - r197453;
double r197455 = EDonor;
double r197456 = r197454 - r197455;
double r197457 = mu;
double r197458 = r197456 - r197457;
double r197459 = -r197458;
double r197460 = KbT;
double r197461 = r197459 / r197460;
double r197462 = exp(r197461);
double r197463 = r197451 + r197462;
double r197464 = r197450 / r197463;
double r197465 = NaChar;
double r197466 = Ev;
double r197467 = r197466 + r197453;
double r197468 = EAccept;
double r197469 = r197467 + r197468;
double r197470 = -r197457;
double r197471 = r197469 + r197470;
double r197472 = r197471 / r197460;
double r197473 = exp(r197472);
double r197474 = r197451 + r197473;
double r197475 = r197465 / r197474;
double r197476 = r197464 + r197475;
return r197476;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r197477 = NdChar;
double r197478 = 1.0;
double r197479 = Ec;
double r197480 = Vef;
double r197481 = r197479 - r197480;
double r197482 = EDonor;
double r197483 = r197481 - r197482;
double r197484 = mu;
double r197485 = r197483 - r197484;
double r197486 = -r197485;
double r197487 = KbT;
double r197488 = r197486 / r197487;
double r197489 = exp(r197488);
double r197490 = r197478 + r197489;
double r197491 = r197477 / r197490;
double r197492 = NaChar;
double r197493 = Ev;
double r197494 = r197493 + r197480;
double r197495 = EAccept;
double r197496 = r197494 + r197495;
double r197497 = -r197484;
double r197498 = r197496 + r197497;
double r197499 = r197498 / r197487;
double r197500 = exp(r197499);
double r197501 = r197478 + r197500;
double r197502 = r197492 / r197501;
double r197503 = r197491 + r197502;
return r197503;
}



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