Average Error: 0.0 → 0.0
Time: 11.5s
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^{\mathsf{log1p}\left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}}\right)}} + \frac{NaChar}{e^{\frac{\left(\left(Vef - mu\right) + Ev\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}{e^{\mathsf{log1p}\left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}}\right)}} + \frac{NaChar}{e^{\frac{\left(\left(Vef - mu\right) + Ev\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 r2066987 = NdChar;
        double r2066988 = 1.0;
        double r2066989 = Ec;
        double r2066990 = Vef;
        double r2066991 = r2066989 - r2066990;
        double r2066992 = EDonor;
        double r2066993 = r2066991 - r2066992;
        double r2066994 = mu;
        double r2066995 = r2066993 - r2066994;
        double r2066996 = -r2066995;
        double r2066997 = KbT;
        double r2066998 = r2066996 / r2066997;
        double r2066999 = exp(r2066998);
        double r2067000 = r2066988 + r2066999;
        double r2067001 = r2066987 / r2067000;
        double r2067002 = NaChar;
        double r2067003 = Ev;
        double r2067004 = r2067003 + r2066990;
        double r2067005 = EAccept;
        double r2067006 = r2067004 + r2067005;
        double r2067007 = -r2066994;
        double r2067008 = r2067006 + r2067007;
        double r2067009 = r2067008 / r2066997;
        double r2067010 = exp(r2067009);
        double r2067011 = r2066988 + r2067010;
        double r2067012 = r2067002 / r2067011;
        double r2067013 = r2067001 + r2067012;
        return r2067013;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r2067014 = NdChar;
        double r2067015 = EDonor;
        double r2067016 = Ec;
        double r2067017 = Vef;
        double r2067018 = r2067016 - r2067017;
        double r2067019 = mu;
        double r2067020 = r2067018 - r2067019;
        double r2067021 = r2067015 - r2067020;
        double r2067022 = KbT;
        double r2067023 = r2067021 / r2067022;
        double r2067024 = exp(r2067023);
        double r2067025 = log1p(r2067024);
        double r2067026 = exp(r2067025);
        double r2067027 = r2067014 / r2067026;
        double r2067028 = NaChar;
        double r2067029 = r2067017 - r2067019;
        double r2067030 = Ev;
        double r2067031 = r2067029 + r2067030;
        double r2067032 = EAccept;
        double r2067033 = r2067031 + r2067032;
        double r2067034 = r2067033 / r2067022;
        double r2067035 = exp(r2067034);
        double r2067036 = 1.0;
        double r2067037 = r2067035 + r2067036;
        double r2067038 = r2067028 / r2067037;
        double r2067039 = r2067027 + r2067038;
        return r2067039;
}

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 - mu\right) + Ev\right)}{KbT}}} + \frac{NdChar}{e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1}}\]
  3. Using strategy rm
  4. Applied add-exp-log0.0

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

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

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

Reproduce

herbie shell --seed 2019153 +o rules:numerics
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  (+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))