Average Error: 0.0 → 0.0
Time: 16.5s
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}{e^{\frac{\left(EDonor - Ec\right) + \left(mu + Vef\right)}{KbT}} + 1} + \frac{NaChar}{e^{\frac{\left(EAccept - mu\right) + \left(Ev + 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{NdChar}{e^{\frac{\left(EDonor - Ec\right) + \left(mu + Vef\right)}{KbT}} + 1} + \frac{NaChar}{e^{\frac{\left(EAccept - mu\right) + \left(Ev + 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 r7580571 = NdChar;
        double r7580572 = 1.0;
        double r7580573 = Ec;
        double r7580574 = Vef;
        double r7580575 = r7580573 - r7580574;
        double r7580576 = EDonor;
        double r7580577 = r7580575 - r7580576;
        double r7580578 = mu;
        double r7580579 = r7580577 - r7580578;
        double r7580580 = -r7580579;
        double r7580581 = KbT;
        double r7580582 = r7580580 / r7580581;
        double r7580583 = exp(r7580582);
        double r7580584 = r7580572 + r7580583;
        double r7580585 = r7580571 / r7580584;
        double r7580586 = NaChar;
        double r7580587 = Ev;
        double r7580588 = r7580587 + r7580574;
        double r7580589 = EAccept;
        double r7580590 = r7580588 + r7580589;
        double r7580591 = -r7580578;
        double r7580592 = r7580590 + r7580591;
        double r7580593 = r7580592 / r7580581;
        double r7580594 = exp(r7580593);
        double r7580595 = r7580572 + r7580594;
        double r7580596 = r7580586 / r7580595;
        double r7580597 = r7580585 + r7580596;
        return r7580597;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r7580598 = NdChar;
        double r7580599 = EDonor;
        double r7580600 = Ec;
        double r7580601 = r7580599 - r7580600;
        double r7580602 = mu;
        double r7580603 = Vef;
        double r7580604 = r7580602 + r7580603;
        double r7580605 = r7580601 + r7580604;
        double r7580606 = KbT;
        double r7580607 = r7580605 / r7580606;
        double r7580608 = exp(r7580607);
        double r7580609 = 1.0;
        double r7580610 = r7580608 + r7580609;
        double r7580611 = r7580598 / r7580610;
        double r7580612 = NaChar;
        double r7580613 = EAccept;
        double r7580614 = r7580613 - r7580602;
        double r7580615 = Ev;
        double r7580616 = r7580615 + r7580603;
        double r7580617 = r7580614 + r7580616;
        double r7580618 = r7580617 / r7580606;
        double r7580619 = exp(r7580618);
        double r7580620 = r7580619 + r7580609;
        double r7580621 = r7580612 / r7580620;
        double r7580622 = r7580611 + r7580621;
        return r7580622;
}

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

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

Reproduce

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