Average Error: 0.0 → 0.0
Time: 19.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}{\sqrt[3]{{\left(e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1\right)}^{3}}} + \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}{\sqrt[3]{{\left(e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1\right)}^{3}}} + \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 r412719 = NdChar;
        double r412720 = 1.0;
        double r412721 = Ec;
        double r412722 = Vef;
        double r412723 = r412721 - r412722;
        double r412724 = EDonor;
        double r412725 = r412723 - r412724;
        double r412726 = mu;
        double r412727 = r412725 - r412726;
        double r412728 = -r412727;
        double r412729 = KbT;
        double r412730 = r412728 / r412729;
        double r412731 = exp(r412730);
        double r412732 = r412720 + r412731;
        double r412733 = r412719 / r412732;
        double r412734 = NaChar;
        double r412735 = Ev;
        double r412736 = r412735 + r412722;
        double r412737 = EAccept;
        double r412738 = r412736 + r412737;
        double r412739 = -r412726;
        double r412740 = r412738 + r412739;
        double r412741 = r412740 / r412729;
        double r412742 = exp(r412741);
        double r412743 = r412720 + r412742;
        double r412744 = r412734 / r412743;
        double r412745 = r412733 + r412744;
        return r412745;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r412746 = NdChar;
        double r412747 = mu;
        double r412748 = EDonor;
        double r412749 = Ec;
        double r412750 = Vef;
        double r412751 = r412749 - r412750;
        double r412752 = r412748 - r412751;
        double r412753 = r412747 + r412752;
        double r412754 = KbT;
        double r412755 = r412753 / r412754;
        double r412756 = exp(r412755);
        double r412757 = 1.0;
        double r412758 = r412756 + r412757;
        double r412759 = 3.0;
        double r412760 = pow(r412758, r412759);
        double r412761 = cbrt(r412760);
        double r412762 = r412746 / r412761;
        double r412763 = NaChar;
        double r412764 = Ev;
        double r412765 = r412764 + r412750;
        double r412766 = EAccept;
        double r412767 = r412765 + r412766;
        double r412768 = r412767 - r412747;
        double r412769 = r412768 / r412754;
        double r412770 = exp(r412769);
        double r412771 = r412757 + r412770;
        double r412772 = r412763 / r412771;
        double r412773 = r412762 + r412772;
        return r412773;
}

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 add-cbrt-cube0.0

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

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

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

Reproduce

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