Average Error: 0.0 → 0.1
Time: 30.3s
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{1}{\frac{e^{\frac{EDonor - \left(\left(Ec - mu\right) - Vef\right)}{KbT}} + 1}{NdChar}} + \frac{NaChar}{e^{\frac{\left(EAccept + \left(Vef + Ev\right)\right) - mu}{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{1}{\frac{e^{\frac{EDonor - \left(\left(Ec - mu\right) - Vef\right)}{KbT}} + 1}{NdChar}} + \frac{NaChar}{e^{\frac{\left(EAccept + \left(Vef + Ev\right)\right) - mu}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r12881301 = NdChar;
        double r12881302 = 1.0;
        double r12881303 = Ec;
        double r12881304 = Vef;
        double r12881305 = r12881303 - r12881304;
        double r12881306 = EDonor;
        double r12881307 = r12881305 - r12881306;
        double r12881308 = mu;
        double r12881309 = r12881307 - r12881308;
        double r12881310 = -r12881309;
        double r12881311 = KbT;
        double r12881312 = r12881310 / r12881311;
        double r12881313 = exp(r12881312);
        double r12881314 = r12881302 + r12881313;
        double r12881315 = r12881301 / r12881314;
        double r12881316 = NaChar;
        double r12881317 = Ev;
        double r12881318 = r12881317 + r12881304;
        double r12881319 = EAccept;
        double r12881320 = r12881318 + r12881319;
        double r12881321 = -r12881308;
        double r12881322 = r12881320 + r12881321;
        double r12881323 = r12881322 / r12881311;
        double r12881324 = exp(r12881323);
        double r12881325 = r12881302 + r12881324;
        double r12881326 = r12881316 / r12881325;
        double r12881327 = r12881315 + r12881326;
        return r12881327;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r12881328 = 1.0;
        double r12881329 = EDonor;
        double r12881330 = Ec;
        double r12881331 = mu;
        double r12881332 = r12881330 - r12881331;
        double r12881333 = Vef;
        double r12881334 = r12881332 - r12881333;
        double r12881335 = r12881329 - r12881334;
        double r12881336 = KbT;
        double r12881337 = r12881335 / r12881336;
        double r12881338 = exp(r12881337);
        double r12881339 = r12881338 + r12881328;
        double r12881340 = NdChar;
        double r12881341 = r12881339 / r12881340;
        double r12881342 = r12881328 / r12881341;
        double r12881343 = NaChar;
        double r12881344 = EAccept;
        double r12881345 = Ev;
        double r12881346 = r12881333 + r12881345;
        double r12881347 = r12881344 + r12881346;
        double r12881348 = r12881347 - r12881331;
        double r12881349 = r12881348 / r12881336;
        double r12881350 = exp(r12881349);
        double r12881351 = r12881350 + r12881328;
        double r12881352 = r12881343 / r12881351;
        double r12881353 = r12881342 + r12881352;
        return r12881353;
}

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

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

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

Reproduce

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