Average Error: 0.0 → 0.0
Time: 16.0s
Precision: 64
\[\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}}}\]
\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 r268266 = NdChar;
        double r268267 = 1.0;
        double r268268 = Ec;
        double r268269 = Vef;
        double r268270 = r268268 - r268269;
        double r268271 = EDonor;
        double r268272 = r268270 - r268271;
        double r268273 = mu;
        double r268274 = r268272 - r268273;
        double r268275 = -r268274;
        double r268276 = KbT;
        double r268277 = r268275 / r268276;
        double r268278 = exp(r268277);
        double r268279 = r268267 + r268278;
        double r268280 = r268266 / r268279;
        double r268281 = NaChar;
        double r268282 = Ev;
        double r268283 = r268282 + r268269;
        double r268284 = EAccept;
        double r268285 = r268283 + r268284;
        double r268286 = -r268273;
        double r268287 = r268285 + r268286;
        double r268288 = r268287 / r268276;
        double r268289 = exp(r268288);
        double r268290 = r268267 + r268289;
        double r268291 = r268281 / r268290;
        double r268292 = r268280 + r268291;
        return r268292;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r268293 = NdChar;
        double r268294 = 1.0;
        double r268295 = Ec;
        double r268296 = Vef;
        double r268297 = r268295 - r268296;
        double r268298 = EDonor;
        double r268299 = r268297 - r268298;
        double r268300 = mu;
        double r268301 = r268299 - r268300;
        double r268302 = -r268301;
        double r268303 = KbT;
        double r268304 = r268302 / r268303;
        double r268305 = exp(r268304);
        double r268306 = r268294 + r268305;
        double r268307 = r268293 / r268306;
        double r268308 = NaChar;
        double r268309 = Ev;
        double r268310 = r268309 + r268296;
        double r268311 = EAccept;
        double r268312 = r268310 + r268311;
        double r268313 = -r268300;
        double r268314 = r268312 + r268313;
        double r268315 = r268314 / r268303;
        double r268316 = exp(r268315);
        double r268317 = r268294 + r268316;
        double r268318 = r268308 / r268317;
        double r268319 = r268307 + r268318;
        return r268319;
}

Error

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\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}}}\]
  2. Final simplification0.0

    \[\leadsto \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}}}\]

Reproduce

herbie shell --seed 2019344 +o rules:numerics
(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))))))