Average Error: 0.0 → 0.0
Time: 18.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{NaChar}{e^{\frac{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{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{NaChar}{e^{\frac{\left(\left(Vef + Ev\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r260020 = NdChar;
        double r260021 = 1.0;
        double r260022 = Ec;
        double r260023 = Vef;
        double r260024 = r260022 - r260023;
        double r260025 = EDonor;
        double r260026 = r260024 - r260025;
        double r260027 = mu;
        double r260028 = r260026 - r260027;
        double r260029 = -r260028;
        double r260030 = KbT;
        double r260031 = r260029 / r260030;
        double r260032 = exp(r260031);
        double r260033 = r260021 + r260032;
        double r260034 = r260020 / r260033;
        double r260035 = NaChar;
        double r260036 = Ev;
        double r260037 = r260036 + r260023;
        double r260038 = EAccept;
        double r260039 = r260037 + r260038;
        double r260040 = -r260027;
        double r260041 = r260039 + r260040;
        double r260042 = r260041 / r260030;
        double r260043 = exp(r260042);
        double r260044 = r260021 + r260043;
        double r260045 = r260035 / r260044;
        double r260046 = r260034 + r260045;
        return r260046;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r260047 = NaChar;
        double r260048 = Vef;
        double r260049 = Ev;
        double r260050 = r260048 + r260049;
        double r260051 = mu;
        double r260052 = r260050 - r260051;
        double r260053 = EAccept;
        double r260054 = r260052 + r260053;
        double r260055 = KbT;
        double r260056 = r260054 / r260055;
        double r260057 = exp(r260056);
        double r260058 = 1.0;
        double r260059 = r260057 + r260058;
        double r260060 = r260047 / r260059;
        double r260061 = NdChar;
        double r260062 = Ec;
        double r260063 = r260062 - r260048;
        double r260064 = EDonor;
        double r260065 = r260063 - r260064;
        double r260066 = r260051 - r260065;
        double r260067 = r260066 / r260055;
        double r260068 = exp(r260067);
        double r260069 = r260068 + r260058;
        double r260070 = r260061 / r260069;
        double r260071 = r260060 + r260070;
        return r260071;
}

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

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

Reproduce

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