Average Error: 0.0 → 0.0
Time: 19.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 r214531 = NdChar;
        double r214532 = 1.0;
        double r214533 = Ec;
        double r214534 = Vef;
        double r214535 = r214533 - r214534;
        double r214536 = EDonor;
        double r214537 = r214535 - r214536;
        double r214538 = mu;
        double r214539 = r214537 - r214538;
        double r214540 = -r214539;
        double r214541 = KbT;
        double r214542 = r214540 / r214541;
        double r214543 = exp(r214542);
        double r214544 = r214532 + r214543;
        double r214545 = r214531 / r214544;
        double r214546 = NaChar;
        double r214547 = Ev;
        double r214548 = r214547 + r214534;
        double r214549 = EAccept;
        double r214550 = r214548 + r214549;
        double r214551 = -r214538;
        double r214552 = r214550 + r214551;
        double r214553 = r214552 / r214541;
        double r214554 = exp(r214553);
        double r214555 = r214532 + r214554;
        double r214556 = r214546 / r214555;
        double r214557 = r214545 + r214556;
        return r214557;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r214558 = NdChar;
        double r214559 = 1.0;
        double r214560 = Ec;
        double r214561 = Vef;
        double r214562 = r214560 - r214561;
        double r214563 = EDonor;
        double r214564 = r214562 - r214563;
        double r214565 = mu;
        double r214566 = r214564 - r214565;
        double r214567 = -r214566;
        double r214568 = KbT;
        double r214569 = r214567 / r214568;
        double r214570 = exp(r214569);
        double r214571 = r214559 + r214570;
        double r214572 = r214558 / r214571;
        double r214573 = NaChar;
        double r214574 = Ev;
        double r214575 = r214574 + r214561;
        double r214576 = EAccept;
        double r214577 = r214575 + r214576;
        double r214578 = -r214565;
        double r214579 = r214577 + r214578;
        double r214580 = r214579 / r214568;
        double r214581 = exp(r214580);
        double r214582 = r214559 + r214581;
        double r214583 = r214573 / r214582;
        double r214584 = r214572 + r214583;
        return r214584;
}

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