\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 + \left(\sqrt[3]{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt[3]{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right) \cdot \sqrt[3]{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}} + \frac{NaChar}{1 + \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}\right)}^{3}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r333219 = NdChar;
double r333220 = 1.0;
double r333221 = Ec;
double r333222 = Vef;
double r333223 = r333221 - r333222;
double r333224 = EDonor;
double r333225 = r333223 - r333224;
double r333226 = mu;
double r333227 = r333225 - r333226;
double r333228 = -r333227;
double r333229 = KbT;
double r333230 = r333228 / r333229;
double r333231 = exp(r333230);
double r333232 = r333220 + r333231;
double r333233 = r333219 / r333232;
double r333234 = NaChar;
double r333235 = Ev;
double r333236 = r333235 + r333222;
double r333237 = EAccept;
double r333238 = r333236 + r333237;
double r333239 = -r333226;
double r333240 = r333238 + r333239;
double r333241 = r333240 / r333229;
double r333242 = exp(r333241);
double r333243 = r333220 + r333242;
double r333244 = r333234 / r333243;
double r333245 = r333233 + r333244;
return r333245;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r333246 = NdChar;
double r333247 = 1.0;
double r333248 = Ec;
double r333249 = Vef;
double r333250 = r333248 - r333249;
double r333251 = EDonor;
double r333252 = r333250 - r333251;
double r333253 = mu;
double r333254 = r333252 - r333253;
double r333255 = -r333254;
double r333256 = KbT;
double r333257 = r333255 / r333256;
double r333258 = exp(r333257);
double r333259 = cbrt(r333258);
double r333260 = r333259 * r333259;
double r333261 = r333260 * r333259;
double r333262 = r333247 + r333261;
double r333263 = r333246 / r333262;
double r333264 = NaChar;
double r333265 = Ev;
double r333266 = r333265 + r333249;
double r333267 = EAccept;
double r333268 = r333266 + r333267;
double r333269 = -r333253;
double r333270 = r333268 + r333269;
double r333271 = r333270 / r333256;
double r333272 = exp(r333271);
double r333273 = 3.0;
double r333274 = pow(r333272, r333273);
double r333275 = cbrt(r333274);
double r333276 = r333247 + r333275;
double r333277 = r333264 / r333276;
double r333278 = r333263 + r333277;
return r333278;
}



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