Average Error: 0.0 → 0.0
Time: 46.3s
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 r520 = NdChar;
        double r521 = 1.0;
        double r522 = Ec;
        double r523 = Vef;
        double r524 = r522 - r523;
        double r525 = EDonor;
        double r526 = r524 - r525;
        double r527 = mu;
        double r528 = r526 - r527;
        double r529 = -r528;
        double r530 = KbT;
        double r531 = r529 / r530;
        double r532 = exp(r531);
        double r533 = r521 + r532;
        double r534 = r520 / r533;
        double r535 = NaChar;
        double r536 = Ev;
        double r537 = r536 + r523;
        double r538 = EAccept;
        double r539 = r537 + r538;
        double r540 = -r527;
        double r541 = r539 + r540;
        double r542 = r541 / r530;
        double r543 = exp(r542);
        double r544 = r521 + r543;
        double r545 = r535 / r544;
        double r546 = r534 + r545;
        return r546;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r547 = NdChar;
        double r548 = 1.0;
        double r549 = Ec;
        double r550 = Vef;
        double r551 = r549 - r550;
        double r552 = EDonor;
        double r553 = r551 - r552;
        double r554 = mu;
        double r555 = r553 - r554;
        double r556 = -r555;
        double r557 = KbT;
        double r558 = r556 / r557;
        double r559 = exp(r558);
        double r560 = r548 + r559;
        double r561 = r547 / r560;
        double r562 = NaChar;
        double r563 = Ev;
        double r564 = r563 + r550;
        double r565 = EAccept;
        double r566 = r564 + r565;
        double r567 = -r554;
        double r568 = r566 + r567;
        double r569 = r568 / r557;
        double r570 = exp(r569);
        double r571 = r548 + r570;
        double r572 = r562 / r571;
        double r573 = r561 + r572;
        return r573;
}

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