Average Error: 0.0 → 0.1
Time: 36.4s
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{1}{\frac{e^{\frac{\left(mu + EDonor\right) - \left(Ec - Vef\right)}{KbT}} + 1}{NdChar}} + \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{1}{\frac{e^{\frac{\left(mu + EDonor\right) - \left(Ec - Vef\right)}{KbT}} + 1}{NdChar}} + \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 r234862 = NdChar;
        double r234863 = 1.0;
        double r234864 = Ec;
        double r234865 = Vef;
        double r234866 = r234864 - r234865;
        double r234867 = EDonor;
        double r234868 = r234866 - r234867;
        double r234869 = mu;
        double r234870 = r234868 - r234869;
        double r234871 = -r234870;
        double r234872 = KbT;
        double r234873 = r234871 / r234872;
        double r234874 = exp(r234873);
        double r234875 = r234863 + r234874;
        double r234876 = r234862 / r234875;
        double r234877 = NaChar;
        double r234878 = Ev;
        double r234879 = r234878 + r234865;
        double r234880 = EAccept;
        double r234881 = r234879 + r234880;
        double r234882 = -r234869;
        double r234883 = r234881 + r234882;
        double r234884 = r234883 / r234872;
        double r234885 = exp(r234884);
        double r234886 = r234863 + r234885;
        double r234887 = r234877 / r234886;
        double r234888 = r234876 + r234887;
        return r234888;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r234889 = 1.0;
        double r234890 = mu;
        double r234891 = EDonor;
        double r234892 = r234890 + r234891;
        double r234893 = Ec;
        double r234894 = Vef;
        double r234895 = r234893 - r234894;
        double r234896 = r234892 - r234895;
        double r234897 = KbT;
        double r234898 = r234896 / r234897;
        double r234899 = exp(r234898);
        double r234900 = 1.0;
        double r234901 = r234899 + r234900;
        double r234902 = NdChar;
        double r234903 = r234901 / r234902;
        double r234904 = r234889 / r234903;
        double r234905 = NaChar;
        double r234906 = Ev;
        double r234907 = r234906 + r234894;
        double r234908 = EAccept;
        double r234909 = r234907 + r234908;
        double r234910 = r234909 - r234890;
        double r234911 = r234910 / r234897;
        double r234912 = exp(r234911);
        double r234913 = r234900 + r234912;
        double r234914 = r234905 / r234913;
        double r234915 = r234904 + r234914;
        return r234915;
}

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

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

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

Reproduce

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