Average Error: 0.0 → 0.0
Time: 17.6s
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}{e^{\frac{EAccept + \left(\left(Ev - mu\right) + Vef\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - EDonor\right) - Vef\right)}{KbT}} + 1}\]
\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}{e^{\frac{EAccept + \left(\left(Ev - mu\right) + Vef\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - EDonor\right) - Vef\right)}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r171586 = NdChar;
        double r171587 = 1.0;
        double r171588 = Ec;
        double r171589 = Vef;
        double r171590 = r171588 - r171589;
        double r171591 = EDonor;
        double r171592 = r171590 - r171591;
        double r171593 = mu;
        double r171594 = r171592 - r171593;
        double r171595 = -r171594;
        double r171596 = KbT;
        double r171597 = r171595 / r171596;
        double r171598 = exp(r171597);
        double r171599 = r171587 + r171598;
        double r171600 = r171586 / r171599;
        double r171601 = NaChar;
        double r171602 = Ev;
        double r171603 = r171602 + r171589;
        double r171604 = EAccept;
        double r171605 = r171603 + r171604;
        double r171606 = -r171593;
        double r171607 = r171605 + r171606;
        double r171608 = r171607 / r171596;
        double r171609 = exp(r171608);
        double r171610 = r171587 + r171609;
        double r171611 = r171601 / r171610;
        double r171612 = r171600 + r171611;
        return r171612;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r171613 = NaChar;
        double r171614 = EAccept;
        double r171615 = Ev;
        double r171616 = mu;
        double r171617 = r171615 - r171616;
        double r171618 = Vef;
        double r171619 = r171617 + r171618;
        double r171620 = r171614 + r171619;
        double r171621 = KbT;
        double r171622 = r171620 / r171621;
        double r171623 = exp(r171622);
        double r171624 = 1.0;
        double r171625 = r171623 + r171624;
        double r171626 = r171613 / r171625;
        double r171627 = NdChar;
        double r171628 = Ec;
        double r171629 = EDonor;
        double r171630 = r171628 - r171629;
        double r171631 = r171630 - r171618;
        double r171632 = r171616 - r171631;
        double r171633 = r171632 / r171621;
        double r171634 = exp(r171633);
        double r171635 = r171634 + r171624;
        double r171636 = r171627 / r171635;
        double r171637 = r171626 + r171636;
        return r171637;
}

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{\left(Vef + \left(Ev - mu\right)\right) + EAccept}{KbT}}} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - EDonor\right) - Vef\right)}{KbT}} + 1}}\]
  3. Final simplification0.0

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

Reproduce

herbie shell --seed 2019194 +o rules:numerics
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  (+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))