\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 r253513 = NdChar;
double r253514 = 1.0;
double r253515 = Ec;
double r253516 = Vef;
double r253517 = r253515 - r253516;
double r253518 = EDonor;
double r253519 = r253517 - r253518;
double r253520 = mu;
double r253521 = r253519 - r253520;
double r253522 = -r253521;
double r253523 = KbT;
double r253524 = r253522 / r253523;
double r253525 = exp(r253524);
double r253526 = r253514 + r253525;
double r253527 = r253513 / r253526;
double r253528 = NaChar;
double r253529 = Ev;
double r253530 = r253529 + r253516;
double r253531 = EAccept;
double r253532 = r253530 + r253531;
double r253533 = -r253520;
double r253534 = r253532 + r253533;
double r253535 = r253534 / r253523;
double r253536 = exp(r253535);
double r253537 = r253514 + r253536;
double r253538 = r253528 / r253537;
double r253539 = r253527 + r253538;
return r253539;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r253540 = NdChar;
double r253541 = 1.0;
double r253542 = Ec;
double r253543 = Vef;
double r253544 = r253542 - r253543;
double r253545 = EDonor;
double r253546 = r253544 - r253545;
double r253547 = mu;
double r253548 = r253546 - r253547;
double r253549 = -r253548;
double r253550 = KbT;
double r253551 = r253549 / r253550;
double r253552 = exp(r253551);
double r253553 = r253541 + r253552;
double r253554 = r253540 / r253553;
double r253555 = NaChar;
double r253556 = Ev;
double r253557 = r253556 + r253543;
double r253558 = EAccept;
double r253559 = r253557 + r253558;
double r253560 = -r253547;
double r253561 = r253559 + r253560;
double r253562 = r253561 / r253550;
double r253563 = exp(r253562);
double r253564 = r253541 + r253563;
double r253565 = r253555 / r253564;
double r253566 = r253554 + r253565;
return r253566;
}



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