\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}{\left(\sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} \cdot \sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}}\right) \cdot \sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} + 1} + \frac{NaChar}{1 + \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{3}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r288301 = NdChar;
double r288302 = 1.0;
double r288303 = Ec;
double r288304 = Vef;
double r288305 = r288303 - r288304;
double r288306 = EDonor;
double r288307 = r288305 - r288306;
double r288308 = mu;
double r288309 = r288307 - r288308;
double r288310 = -r288309;
double r288311 = KbT;
double r288312 = r288310 / r288311;
double r288313 = exp(r288312);
double r288314 = r288302 + r288313;
double r288315 = r288301 / r288314;
double r288316 = NaChar;
double r288317 = Ev;
double r288318 = r288317 + r288304;
double r288319 = EAccept;
double r288320 = r288318 + r288319;
double r288321 = -r288308;
double r288322 = r288320 + r288321;
double r288323 = r288322 / r288311;
double r288324 = exp(r288323);
double r288325 = r288302 + r288324;
double r288326 = r288316 / r288325;
double r288327 = r288315 + r288326;
return r288327;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r288328 = NdChar;
double r288329 = mu;
double r288330 = EDonor;
double r288331 = Ec;
double r288332 = Vef;
double r288333 = r288331 - r288332;
double r288334 = r288330 - r288333;
double r288335 = r288329 + r288334;
double r288336 = KbT;
double r288337 = r288335 / r288336;
double r288338 = exp(r288337);
double r288339 = cbrt(r288338);
double r288340 = r288339 * r288339;
double r288341 = r288340 * r288339;
double r288342 = 1.0;
double r288343 = r288341 + r288342;
double r288344 = r288328 / r288343;
double r288345 = NaChar;
double r288346 = Ev;
double r288347 = r288346 + r288332;
double r288348 = EAccept;
double r288349 = r288347 + r288348;
double r288350 = r288349 - r288329;
double r288351 = r288350 / r288336;
double r288352 = exp(r288351);
double r288353 = 3.0;
double r288354 = pow(r288352, r288353);
double r288355 = cbrt(r288354);
double r288356 = r288342 + r288355;
double r288357 = r288345 / r288356;
double r288358 = r288344 + r288357;
return r288358;
}



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
Simplified0.0
rmApplied add-cube-cbrt0.0
Final simplification0.0
herbie shell --seed 2020047
(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))))))