Average Error: 0.0 → 0.1
Time: 19.0s
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 + \log \left(e^{e^{\frac{\left(Vef + EDonor\right) + \left(mu - Ec\right)}{KbT}}}\right)} + \frac{NaChar}{e^{\frac{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{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}{1 + \log \left(e^{e^{\frac{\left(Vef + EDonor\right) + \left(mu - Ec\right)}{KbT}}}\right)} + \frac{NaChar}{e^{\frac{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r146721 = NdChar;
        double r146722 = 1.0;
        double r146723 = Ec;
        double r146724 = Vef;
        double r146725 = r146723 - r146724;
        double r146726 = EDonor;
        double r146727 = r146725 - r146726;
        double r146728 = mu;
        double r146729 = r146727 - r146728;
        double r146730 = -r146729;
        double r146731 = KbT;
        double r146732 = r146730 / r146731;
        double r146733 = exp(r146732);
        double r146734 = r146722 + r146733;
        double r146735 = r146721 / r146734;
        double r146736 = NaChar;
        double r146737 = Ev;
        double r146738 = r146737 + r146724;
        double r146739 = EAccept;
        double r146740 = r146738 + r146739;
        double r146741 = -r146728;
        double r146742 = r146740 + r146741;
        double r146743 = r146742 / r146731;
        double r146744 = exp(r146743);
        double r146745 = r146722 + r146744;
        double r146746 = r146736 / r146745;
        double r146747 = r146735 + r146746;
        return r146747;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r146748 = NdChar;
        double r146749 = 1.0;
        double r146750 = Vef;
        double r146751 = EDonor;
        double r146752 = r146750 + r146751;
        double r146753 = mu;
        double r146754 = Ec;
        double r146755 = r146753 - r146754;
        double r146756 = r146752 + r146755;
        double r146757 = KbT;
        double r146758 = r146756 / r146757;
        double r146759 = exp(r146758);
        double r146760 = exp(r146759);
        double r146761 = log(r146760);
        double r146762 = r146749 + r146761;
        double r146763 = r146748 / r146762;
        double r146764 = NaChar;
        double r146765 = Ev;
        double r146766 = r146750 + r146765;
        double r146767 = r146766 - r146753;
        double r146768 = EAccept;
        double r146769 = r146767 + r146768;
        double r146770 = r146769 / r146757;
        double r146771 = exp(r146770);
        double r146772 = r146771 + r146749;
        double r146773 = r146764 / r146772;
        double r146774 = r146763 + r146773;
        return r146774;
}

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. Using strategy rm
  4. Applied add-log-exp0.1

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

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

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

Reproduce

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