Average Error: 0.0 → 0.0
Time: 19.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{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 r153071 = NdChar;
        double r153072 = 1.0;
        double r153073 = Ec;
        double r153074 = Vef;
        double r153075 = r153073 - r153074;
        double r153076 = EDonor;
        double r153077 = r153075 - r153076;
        double r153078 = mu;
        double r153079 = r153077 - r153078;
        double r153080 = -r153079;
        double r153081 = KbT;
        double r153082 = r153080 / r153081;
        double r153083 = exp(r153082);
        double r153084 = r153072 + r153083;
        double r153085 = r153071 / r153084;
        double r153086 = NaChar;
        double r153087 = Ev;
        double r153088 = r153087 + r153074;
        double r153089 = EAccept;
        double r153090 = r153088 + r153089;
        double r153091 = -r153078;
        double r153092 = r153090 + r153091;
        double r153093 = r153092 / r153081;
        double r153094 = exp(r153093);
        double r153095 = r153072 + r153094;
        double r153096 = r153086 / r153095;
        double r153097 = r153085 + r153096;
        return r153097;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r153098 = NdChar;
        double r153099 = mu;
        double r153100 = EDonor;
        double r153101 = Ec;
        double r153102 = Vef;
        double r153103 = r153101 - r153102;
        double r153104 = r153100 - r153103;
        double r153105 = r153099 + r153104;
        double r153106 = KbT;
        double r153107 = r153105 / r153106;
        double r153108 = exp(r153107);
        double r153109 = 1.0;
        double r153110 = r153108 + r153109;
        double r153111 = r153098 / r153110;
        double r153112 = NaChar;
        double r153113 = Ev;
        double r153114 = r153113 + r153102;
        double r153115 = EAccept;
        double r153116 = r153114 + r153115;
        double r153117 = r153116 - r153099;
        double r153118 = r153117 / r153106;
        double r153119 = exp(r153118);
        double r153120 = r153109 + r153119;
        double r153121 = r153112 / r153120;
        double r153122 = r153111 + r153121;
        return r153122;
}

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 2019325 +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))))))