Average Error: 0.0 → 0.0
Time: 2.0m
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(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{\sqrt[3]{\left(\left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right) \cdot \left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right)\right) \cdot \left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right)}}\]
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r41565205 = NdChar;
        double r41565206 = 1.0;
        double r41565207 = Ec;
        double r41565208 = Vef;
        double r41565209 = r41565207 - r41565208;
        double r41565210 = EDonor;
        double r41565211 = r41565209 - r41565210;
        double r41565212 = mu;
        double r41565213 = r41565211 - r41565212;
        double r41565214 = -r41565213;
        double r41565215 = KbT;
        double r41565216 = r41565214 / r41565215;
        double r41565217 = exp(r41565216);
        double r41565218 = r41565206 + r41565217;
        double r41565219 = r41565205 / r41565218;
        double r41565220 = NaChar;
        double r41565221 = Ev;
        double r41565222 = r41565221 + r41565208;
        double r41565223 = EAccept;
        double r41565224 = r41565222 + r41565223;
        double r41565225 = -r41565212;
        double r41565226 = r41565224 + r41565225;
        double r41565227 = r41565226 / r41565215;
        double r41565228 = exp(r41565227);
        double r41565229 = r41565206 + r41565228;
        double r41565230 = r41565220 / r41565229;
        double r41565231 = r41565219 + r41565230;
        return r41565231;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r41565232 = NaChar;
        double r41565233 = Ev;
        double r41565234 = Vef;
        double r41565235 = r41565233 + r41565234;
        double r41565236 = mu;
        double r41565237 = r41565235 - r41565236;
        double r41565238 = EAccept;
        double r41565239 = r41565237 + r41565238;
        double r41565240 = KbT;
        double r41565241 = r41565239 / r41565240;
        double r41565242 = exp(r41565241);
        double r41565243 = 1.0;
        double r41565244 = r41565242 + r41565243;
        double r41565245 = r41565232 / r41565244;
        double r41565246 = NdChar;
        double r41565247 = Ec;
        double r41565248 = EDonor;
        double r41565249 = r41565236 + r41565234;
        double r41565250 = r41565248 + r41565249;
        double r41565251 = r41565247 - r41565250;
        double r41565252 = r41565251 / r41565240;
        double r41565253 = -r41565252;
        double r41565254 = exp(r41565253);
        double r41565255 = r41565243 + r41565254;
        double r41565256 = r41565255 * r41565255;
        double r41565257 = r41565256 * r41565255;
        double r41565258 = cbrt(r41565257);
        double r41565259 = r41565246 / r41565258;
        double r41565260 = r41565245 + r41565259;
        return r41565260;
}

\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(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1} + \frac{NdChar}{\sqrt[3]{\left(\left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right) \cdot \left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right)\right) \cdot \left(1 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}\right)}}

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

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

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

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

Reproduce

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