Average Error: 0.0 → 0.0
Time: 7.7s
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 r103558 = NdChar;
        double r103559 = 1.0;
        double r103560 = Ec;
        double r103561 = Vef;
        double r103562 = r103560 - r103561;
        double r103563 = EDonor;
        double r103564 = r103562 - r103563;
        double r103565 = mu;
        double r103566 = r103564 - r103565;
        double r103567 = -r103566;
        double r103568 = KbT;
        double r103569 = r103567 / r103568;
        double r103570 = exp(r103569);
        double r103571 = r103559 + r103570;
        double r103572 = r103558 / r103571;
        double r103573 = NaChar;
        double r103574 = Ev;
        double r103575 = r103574 + r103561;
        double r103576 = EAccept;
        double r103577 = r103575 + r103576;
        double r103578 = -r103565;
        double r103579 = r103577 + r103578;
        double r103580 = r103579 / r103568;
        double r103581 = exp(r103580);
        double r103582 = r103559 + r103581;
        double r103583 = r103573 / r103582;
        double r103584 = r103572 + r103583;
        return r103584;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r103585 = NdChar;
        double r103586 = 1.0;
        double r103587 = Ec;
        double r103588 = Vef;
        double r103589 = r103587 - r103588;
        double r103590 = EDonor;
        double r103591 = r103589 - r103590;
        double r103592 = mu;
        double r103593 = r103591 - r103592;
        double r103594 = -r103593;
        double r103595 = KbT;
        double r103596 = r103594 / r103595;
        double r103597 = exp(r103596);
        double r103598 = r103586 + r103597;
        double r103599 = r103585 / r103598;
        double r103600 = NaChar;
        double r103601 = Ev;
        double r103602 = r103601 + r103588;
        double r103603 = EAccept;
        double r103604 = r103602 + r103603;
        double r103605 = -r103592;
        double r103606 = r103604 + r103605;
        double r103607 = r103606 / r103595;
        double r103608 = exp(r103607);
        double r103609 = r103586 + r103608;
        double r103610 = r103600 / r103609;
        double r103611 = r103599 + r103610;
        return r103611;
}

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