double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r41565205 = NdChar;
double r41565206 = 1.0;
double r41565207 = Ec;
double r41565208 = Vef;
double r41565209 = r41565207 - r41565208;
double r41565210 = EDonor;
double r41565211 = r41565209 - r41565210;
double r41565212 = mu;
double r41565213 = r41565211 - r41565212;
double r41565214 = -r41565213;
double r41565215 = KbT;
double r41565216 = r41565214 / r41565215;
double r41565217 = exp(r41565216);
double r41565218 = r41565206 + r41565217;
double r41565219 = r41565205 / r41565218;
double r41565220 = NaChar;
double r41565221 = Ev;
double r41565222 = r41565221 + r41565208;
double r41565223 = EAccept;
double r41565224 = r41565222 + r41565223;
double r41565225 = -r41565212;
double r41565226 = r41565224 + r41565225;
double r41565227 = r41565226 / r41565215;
double r41565228 = exp(r41565227);
double r41565229 = r41565206 + r41565228;
double r41565230 = r41565220 / r41565229;
double r41565231 = r41565219 + r41565230;
return r41565231;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r41565232 = NaChar;
double r41565233 = Ev;
double r41565234 = Vef;
double r41565235 = r41565233 + r41565234;
double r41565236 = mu;
double r41565237 = r41565235 - r41565236;
double r41565238 = EAccept;
double r41565239 = r41565237 + r41565238;
double r41565240 = KbT;
double r41565241 = r41565239 / r41565240;
double r41565242 = exp(r41565241);
double r41565243 = 1.0;
double r41565244 = r41565242 + r41565243;
double r41565245 = r41565232 / r41565244;
double r41565246 = NdChar;
double r41565247 = Ec;
double r41565248 = EDonor;
double r41565249 = r41565236 + r41565234;
double r41565250 = r41565248 + r41565249;
double r41565251 = r41565247 - r41565250;
double r41565252 = r41565251 / r41565240;
double r41565253 = -r41565252;
double r41565254 = exp(r41565253);
double r41565255 = r41565243 + r41565254;
double r41565256 = r41565255 * r41565255;
double r41565257 = r41565256 * r41565255;
double r41565258 = cbrt(r41565257);
double r41565259 = r41565246 / r41565258;
double r41565260 = r41565245 + r41565259;
return r41565260;
}
\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{NaChar}{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{\sqrt[3]{\left(\left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right) \cdot \left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right)\right) \cdot \left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right)}}


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
Initial program 0.0
Simplified0.0
rmApplied add-cbrt-cube0.0
Final simplification0.0
herbie shell --seed 2019102 +o rules:numerics
(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))))))