Average Error: 0.0 → 0.0
Time: 32.2s
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{NaChar}{\sqrt{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}}} \cdot \sqrt{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}}} + 1} + \frac{NdChar}{1 + e^{\frac{EDonor - \left(\left(Ec - Vef\right) - 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{NaChar}{\sqrt{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}}} \cdot \sqrt{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}}} + 1} + \frac{NdChar}{1 + e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r2974375 = NdChar;
        double r2974376 = 1.0;
        double r2974377 = Ec;
        double r2974378 = Vef;
        double r2974379 = r2974377 - r2974378;
        double r2974380 = EDonor;
        double r2974381 = r2974379 - r2974380;
        double r2974382 = mu;
        double r2974383 = r2974381 - r2974382;
        double r2974384 = -r2974383;
        double r2974385 = KbT;
        double r2974386 = r2974384 / r2974385;
        double r2974387 = exp(r2974386);
        double r2974388 = r2974376 + r2974387;
        double r2974389 = r2974375 / r2974388;
        double r2974390 = NaChar;
        double r2974391 = Ev;
        double r2974392 = r2974391 + r2974378;
        double r2974393 = EAccept;
        double r2974394 = r2974392 + r2974393;
        double r2974395 = -r2974382;
        double r2974396 = r2974394 + r2974395;
        double r2974397 = r2974396 / r2974385;
        double r2974398 = exp(r2974397);
        double r2974399 = r2974376 + r2974398;
        double r2974400 = r2974390 / r2974399;
        double r2974401 = r2974389 + r2974400;
        return r2974401;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r2974402 = NaChar;
        double r2974403 = Vef;
        double r2974404 = mu;
        double r2974405 = r2974403 - r2974404;
        double r2974406 = Ev;
        double r2974407 = r2974405 + r2974406;
        double r2974408 = EAccept;
        double r2974409 = r2974407 + r2974408;
        double r2974410 = KbT;
        double r2974411 = r2974409 / r2974410;
        double r2974412 = exp(r2974411);
        double r2974413 = sqrt(r2974412);
        double r2974414 = r2974413 * r2974413;
        double r2974415 = 1.0;
        double r2974416 = r2974414 + r2974415;
        double r2974417 = r2974402 / r2974416;
        double r2974418 = NdChar;
        double r2974419 = EDonor;
        double r2974420 = Ec;
        double r2974421 = r2974420 - r2974403;
        double r2974422 = r2974421 - r2974404;
        double r2974423 = r2974419 - r2974422;
        double r2974424 = r2974423 / r2974410;
        double r2974425 = exp(r2974424);
        double r2974426 = r2974415 + r2974425;
        double r2974427 = r2974418 / r2974426;
        double r2974428 = r2974417 + r2974427;
        return r2974428;
}

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. Simplified0.0

    \[\leadsto \color{blue}{\frac{NaChar}{1 + e^{\frac{EAccept + \left(\left(Vef - mu\right) + Ev\right)}{KbT}}} + \frac{NdChar}{e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.0

    \[\leadsto \frac{NaChar}{1 + \color{blue}{\sqrt{e^{\frac{EAccept + \left(\left(Vef - mu\right) + Ev\right)}{KbT}}} \cdot \sqrt{e^{\frac{EAccept + \left(\left(Vef - mu\right) + Ev\right)}{KbT}}}}} + \frac{NdChar}{e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1}\]
  5. Final simplification0.0

    \[\leadsto \frac{NaChar}{\sqrt{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}}} \cdot \sqrt{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}}} + 1} + \frac{NdChar}{1 + e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}}}\]

Reproduce

herbie shell --seed 2019152 +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))))))