Average Error: 0.0 → 0.0
Time: 23.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^{\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}}}\]
\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^{\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}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r223834 = NdChar;
        double r223835 = 1.0;
        double r223836 = Ec;
        double r223837 = Vef;
        double r223838 = r223836 - r223837;
        double r223839 = EDonor;
        double r223840 = r223838 - r223839;
        double r223841 = mu;
        double r223842 = r223840 - r223841;
        double r223843 = -r223842;
        double r223844 = KbT;
        double r223845 = r223843 / r223844;
        double r223846 = exp(r223845);
        double r223847 = r223835 + r223846;
        double r223848 = r223834 / r223847;
        double r223849 = NaChar;
        double r223850 = Ev;
        double r223851 = r223850 + r223837;
        double r223852 = EAccept;
        double r223853 = r223851 + r223852;
        double r223854 = -r223841;
        double r223855 = r223853 + r223854;
        double r223856 = r223855 / r223844;
        double r223857 = exp(r223856);
        double r223858 = r223835 + r223857;
        double r223859 = r223849 / r223858;
        double r223860 = r223848 + r223859;
        return r223860;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r223861 = NdChar;
        double r223862 = mu;
        double r223863 = EDonor;
        double r223864 = Ec;
        double r223865 = Vef;
        double r223866 = r223864 - r223865;
        double r223867 = r223863 - r223866;
        double r223868 = r223862 + r223867;
        double r223869 = KbT;
        double r223870 = r223868 / r223869;
        double r223871 = exp(r223870);
        double r223872 = 1.0;
        double r223873 = r223871 + r223872;
        double r223874 = r223861 / r223873;
        double r223875 = NaChar;
        double r223876 = Ev;
        double r223877 = r223876 + r223865;
        double r223878 = EAccept;
        double r223879 = r223877 + r223878;
        double r223880 = r223879 - r223862;
        double r223881 = r223880 / r223869;
        double r223882 = exp(r223881);
        double r223883 = r223872 + r223882;
        double r223884 = r223875 / r223883;
        double r223885 = r223874 + r223884;
        return r223885;
}

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. Final simplification0.0

    \[\leadsto \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}}}\]

Reproduce

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