\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[3]{\left(\left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right) \cdot \left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right)\right) \cdot \left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right)}} + \frac{NaChar}{e^{\frac{Vef + \left(\left(Ev - mu\right) + EAccept\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3090386 = NdChar;
double r3090387 = 1.0;
double r3090388 = Ec;
double r3090389 = Vef;
double r3090390 = r3090388 - r3090389;
double r3090391 = EDonor;
double r3090392 = r3090390 - r3090391;
double r3090393 = mu;
double r3090394 = r3090392 - r3090393;
double r3090395 = -r3090394;
double r3090396 = KbT;
double r3090397 = r3090395 / r3090396;
double r3090398 = exp(r3090397);
double r3090399 = r3090387 + r3090398;
double r3090400 = r3090386 / r3090399;
double r3090401 = NaChar;
double r3090402 = Ev;
double r3090403 = r3090402 + r3090389;
double r3090404 = EAccept;
double r3090405 = r3090403 + r3090404;
double r3090406 = -r3090393;
double r3090407 = r3090405 + r3090406;
double r3090408 = r3090407 / r3090396;
double r3090409 = exp(r3090408);
double r3090410 = r3090387 + r3090409;
double r3090411 = r3090401 / r3090410;
double r3090412 = r3090400 + r3090411;
return r3090412;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3090413 = NdChar;
double r3090414 = mu;
double r3090415 = Ec;
double r3090416 = Vef;
double r3090417 = r3090415 - r3090416;
double r3090418 = EDonor;
double r3090419 = r3090417 - r3090418;
double r3090420 = r3090414 - r3090419;
double r3090421 = KbT;
double r3090422 = r3090420 / r3090421;
double r3090423 = exp(r3090422);
double r3090424 = 1.0;
double r3090425 = r3090423 + r3090424;
double r3090426 = r3090425 * r3090425;
double r3090427 = r3090426 * r3090425;
double r3090428 = cbrt(r3090427);
double r3090429 = r3090413 / r3090428;
double r3090430 = NaChar;
double r3090431 = Ev;
double r3090432 = r3090431 - r3090414;
double r3090433 = EAccept;
double r3090434 = r3090432 + r3090433;
double r3090435 = r3090416 + r3090434;
double r3090436 = r3090435 / r3090421;
double r3090437 = exp(r3090436);
double r3090438 = r3090437 + r3090424;
double r3090439 = r3090430 / r3090438;
double r3090440 = r3090429 + r3090439;
return r3090440;
}



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-cbrt-cube0.0
Final simplification0.0
herbie shell --seed 2019153
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))