Average Error: 0.0 → 0.0
Time: 13.8s
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}^{\left(\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}\right)} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{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}{{e}^{\left(\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}\right)} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r190604 = NdChar;
        double r190605 = 1.0;
        double r190606 = Ec;
        double r190607 = Vef;
        double r190608 = r190606 - r190607;
        double r190609 = EDonor;
        double r190610 = r190608 - r190609;
        double r190611 = mu;
        double r190612 = r190610 - r190611;
        double r190613 = -r190612;
        double r190614 = KbT;
        double r190615 = r190613 / r190614;
        double r190616 = exp(r190615);
        double r190617 = r190605 + r190616;
        double r190618 = r190604 / r190617;
        double r190619 = NaChar;
        double r190620 = Ev;
        double r190621 = r190620 + r190607;
        double r190622 = EAccept;
        double r190623 = r190621 + r190622;
        double r190624 = -r190611;
        double r190625 = r190623 + r190624;
        double r190626 = r190625 / r190614;
        double r190627 = exp(r190626);
        double r190628 = r190605 + r190627;
        double r190629 = r190619 / r190628;
        double r190630 = r190618 + r190629;
        return r190630;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r190631 = NdChar;
        double r190632 = exp(1.0);
        double r190633 = mu;
        double r190634 = EDonor;
        double r190635 = Ec;
        double r190636 = Vef;
        double r190637 = r190635 - r190636;
        double r190638 = r190634 - r190637;
        double r190639 = r190633 + r190638;
        double r190640 = KbT;
        double r190641 = r190639 / r190640;
        double r190642 = pow(r190632, r190641);
        double r190643 = 1.0;
        double r190644 = r190642 + r190643;
        double r190645 = r190631 / r190644;
        double r190646 = NaChar;
        double r190647 = Ev;
        double r190648 = r190647 + r190636;
        double r190649 = EAccept;
        double r190650 = r190648 + r190649;
        double r190651 = r190650 - r190633;
        double r190652 = r190651 / r190640;
        double r190653 = exp(r190652);
        double r190654 = r190643 + r190653;
        double r190655 = r190646 / r190654;
        double r190656 = r190645 + r190655;
        return r190656;
}

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{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.0

    \[\leadsto \frac{NdChar}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{\color{blue}{1 \cdot KbT}}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}\]
  5. Applied *-un-lft-identity0.0

    \[\leadsto \frac{NdChar}{e^{\frac{\color{blue}{1 \cdot \left(mu + \left(EDonor - \left(Ec - Vef\right)\right)\right)}}{1 \cdot KbT}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}\]
  6. Applied times-frac0.0

    \[\leadsto \frac{NdChar}{e^{\color{blue}{\frac{1}{1} \cdot \frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}\]
  7. Applied exp-prod0.0

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

    \[\leadsto \frac{NdChar}{{\color{blue}{e}}^{\left(\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}\right)} + 1} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}\]
  9. Final simplification0.0

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

Reproduce

herbie shell --seed 2019235 +o rules:numerics
(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))))))