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{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\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{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r9128596 = NdChar;
        double r9128597 = 1.0;
        double r9128598 = Ec;
        double r9128599 = Vef;
        double r9128600 = r9128598 - r9128599;
        double r9128601 = EDonor;
        double r9128602 = r9128600 - r9128601;
        double r9128603 = mu;
        double r9128604 = r9128602 - r9128603;
        double r9128605 = -r9128604;
        double r9128606 = KbT;
        double r9128607 = r9128605 / r9128606;
        double r9128608 = exp(r9128607);
        double r9128609 = r9128597 + r9128608;
        double r9128610 = r9128596 / r9128609;
        double r9128611 = NaChar;
        double r9128612 = Ev;
        double r9128613 = r9128612 + r9128599;
        double r9128614 = EAccept;
        double r9128615 = r9128613 + r9128614;
        double r9128616 = -r9128603;
        double r9128617 = r9128615 + r9128616;
        double r9128618 = r9128617 / r9128606;
        double r9128619 = exp(r9128618);
        double r9128620 = r9128597 + r9128619;
        double r9128621 = r9128611 / r9128620;
        double r9128622 = r9128610 + r9128621;
        return r9128622;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r9128623 = NaChar;
        double r9128624 = Vef;
        double r9128625 = Ev;
        double r9128626 = r9128624 + r9128625;
        double r9128627 = mu;
        double r9128628 = r9128626 - r9128627;
        double r9128629 = EAccept;
        double r9128630 = r9128628 + r9128629;
        double r9128631 = KbT;
        double r9128632 = r9128630 / r9128631;
        double r9128633 = exp(r9128632);
        double r9128634 = 1.0;
        double r9128635 = r9128633 + r9128634;
        double r9128636 = r9128623 / r9128635;
        double r9128637 = NdChar;
        double r9128638 = Ec;
        double r9128639 = r9128638 - r9128624;
        double r9128640 = EDonor;
        double r9128641 = r9128639 - r9128640;
        double r9128642 = r9128627 - r9128641;
        double r9128643 = r9128642 / r9128631;
        double r9128644 = exp(r9128643);
        double r9128645 = r9128644 + r9128634;
        double r9128646 = r9128637 / r9128645;
        double r9128647 = r9128636 + r9128646;
        return r9128647;
}

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

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

Reproduce

herbie shell --seed 2019171 
(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))))))