Average Error: 0.0 → 0.0
Time: 3.0m
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}{1 + e^{\sqrt[3]{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} \cdot \left(\sqrt[3]{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} \cdot \sqrt[3]{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}}\right)}} + \frac{NdChar}{1 + e^{\frac{-\left(Ec - \left(EDonor + \left(mu + Vef\right)\right)\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}{1 + e^{\sqrt[3]{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} \cdot \left(\sqrt[3]{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} \cdot \sqrt[3]{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}}\right)}} + \frac{NdChar}{1 + e^{\frac{-\left(Ec - \left(EDonor + \left(mu + Vef\right)\right)\right)}{KbT}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r69151511 = NdChar;
        double r69151512 = 1.0;
        double r69151513 = Ec;
        double r69151514 = Vef;
        double r69151515 = r69151513 - r69151514;
        double r69151516 = EDonor;
        double r69151517 = r69151515 - r69151516;
        double r69151518 = mu;
        double r69151519 = r69151517 - r69151518;
        double r69151520 = -r69151519;
        double r69151521 = KbT;
        double r69151522 = r69151520 / r69151521;
        double r69151523 = exp(r69151522);
        double r69151524 = r69151512 + r69151523;
        double r69151525 = r69151511 / r69151524;
        double r69151526 = NaChar;
        double r69151527 = Ev;
        double r69151528 = r69151527 + r69151514;
        double r69151529 = EAccept;
        double r69151530 = r69151528 + r69151529;
        double r69151531 = -r69151518;
        double r69151532 = r69151530 + r69151531;
        double r69151533 = r69151532 / r69151521;
        double r69151534 = exp(r69151533);
        double r69151535 = r69151512 + r69151534;
        double r69151536 = r69151526 / r69151535;
        double r69151537 = r69151525 + r69151536;
        return r69151537;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r69151538 = NaChar;
        double r69151539 = 1.0;
        double r69151540 = Ev;
        double r69151541 = Vef;
        double r69151542 = r69151540 + r69151541;
        double r69151543 = mu;
        double r69151544 = r69151542 - r69151543;
        double r69151545 = EAccept;
        double r69151546 = r69151544 + r69151545;
        double r69151547 = KbT;
        double r69151548 = r69151546 / r69151547;
        double r69151549 = cbrt(r69151548);
        double r69151550 = r69151549 * r69151549;
        double r69151551 = r69151549 * r69151550;
        double r69151552 = exp(r69151551);
        double r69151553 = r69151539 + r69151552;
        double r69151554 = r69151538 / r69151553;
        double r69151555 = NdChar;
        double r69151556 = Ec;
        double r69151557 = EDonor;
        double r69151558 = r69151543 + r69151541;
        double r69151559 = r69151557 + r69151558;
        double r69151560 = r69151556 - r69151559;
        double r69151561 = -r69151560;
        double r69151562 = r69151561 / r69151547;
        double r69151563 = exp(r69151562);
        double r69151564 = r69151539 + r69151563;
        double r69151565 = r69151555 / r69151564;
        double r69151566 = r69151554 + r69151565;
        return r69151566;
}

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(Ev + Vef\right) - mu\right)}{KbT}}} + \frac{NdChar}{e^{\frac{-\left(Ec - \left(\left(Vef + mu\right) + EDonor\right)\right)}{KbT}} + 1}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.0

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

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

Reproduce

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