\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 r241318 = NdChar;
double r241319 = 1.0;
double r241320 = Ec;
double r241321 = Vef;
double r241322 = r241320 - r241321;
double r241323 = EDonor;
double r241324 = r241322 - r241323;
double r241325 = mu;
double r241326 = r241324 - r241325;
double r241327 = -r241326;
double r241328 = KbT;
double r241329 = r241327 / r241328;
double r241330 = exp(r241329);
double r241331 = r241319 + r241330;
double r241332 = r241318 / r241331;
double r241333 = NaChar;
double r241334 = Ev;
double r241335 = r241334 + r241321;
double r241336 = EAccept;
double r241337 = r241335 + r241336;
double r241338 = -r241325;
double r241339 = r241337 + r241338;
double r241340 = r241339 / r241328;
double r241341 = exp(r241340);
double r241342 = r241319 + r241341;
double r241343 = r241333 / r241342;
double r241344 = r241332 + r241343;
return r241344;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r241345 = NdChar;
double r241346 = 1.0;
double r241347 = Ec;
double r241348 = Vef;
double r241349 = r241347 - r241348;
double r241350 = EDonor;
double r241351 = r241349 - r241350;
double r241352 = mu;
double r241353 = r241351 - r241352;
double r241354 = -r241353;
double r241355 = KbT;
double r241356 = r241354 / r241355;
double r241357 = exp(r241356);
double r241358 = r241346 + r241357;
double r241359 = r241345 / r241358;
double r241360 = NaChar;
double r241361 = Ev;
double r241362 = r241361 + r241348;
double r241363 = EAccept;
double r241364 = r241362 + r241363;
double r241365 = -r241352;
double r241366 = r241364 + r241365;
double r241367 = r241366 / r241355;
double r241368 = exp(r241367);
double r241369 = r241346 + r241368;
double r241370 = r241360 / r241369;
double r241371 = r241359 + r241370;
return r241371;
}



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