Average Error: 0.0 → 0.1
Time: 36.7s
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{\left(Vef + \left(EDonor - Ec\right)\right) + mu}{KbT}} + 1}{NdChar}} + \frac{NaChar}{e^{\frac{\left(Ev + Vef\right) + \left(EAccept - mu\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{1}{\frac{e^{\frac{\left(Vef + \left(EDonor - Ec\right)\right) + mu}{KbT}} + 1}{NdChar}} + \frac{NaChar}{e^{\frac{\left(Ev + Vef\right) + \left(EAccept - mu\right)}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r12487329 = NdChar;
        double r12487330 = 1.0;
        double r12487331 = Ec;
        double r12487332 = Vef;
        double r12487333 = r12487331 - r12487332;
        double r12487334 = EDonor;
        double r12487335 = r12487333 - r12487334;
        double r12487336 = mu;
        double r12487337 = r12487335 - r12487336;
        double r12487338 = -r12487337;
        double r12487339 = KbT;
        double r12487340 = r12487338 / r12487339;
        double r12487341 = exp(r12487340);
        double r12487342 = r12487330 + r12487341;
        double r12487343 = r12487329 / r12487342;
        double r12487344 = NaChar;
        double r12487345 = Ev;
        double r12487346 = r12487345 + r12487332;
        double r12487347 = EAccept;
        double r12487348 = r12487346 + r12487347;
        double r12487349 = -r12487336;
        double r12487350 = r12487348 + r12487349;
        double r12487351 = r12487350 / r12487339;
        double r12487352 = exp(r12487351);
        double r12487353 = r12487330 + r12487352;
        double r12487354 = r12487344 / r12487353;
        double r12487355 = r12487343 + r12487354;
        return r12487355;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r12487356 = 1.0;
        double r12487357 = Vef;
        double r12487358 = EDonor;
        double r12487359 = Ec;
        double r12487360 = r12487358 - r12487359;
        double r12487361 = r12487357 + r12487360;
        double r12487362 = mu;
        double r12487363 = r12487361 + r12487362;
        double r12487364 = KbT;
        double r12487365 = r12487363 / r12487364;
        double r12487366 = exp(r12487365);
        double r12487367 = 1.0;
        double r12487368 = r12487366 + r12487367;
        double r12487369 = NdChar;
        double r12487370 = r12487368 / r12487369;
        double r12487371 = r12487356 / r12487370;
        double r12487372 = NaChar;
        double r12487373 = Ev;
        double r12487374 = r12487373 + r12487357;
        double r12487375 = EAccept;
        double r12487376 = r12487375 - r12487362;
        double r12487377 = r12487374 + r12487376;
        double r12487378 = r12487377 / r12487364;
        double r12487379 = exp(r12487378);
        double r12487380 = r12487379 + r12487367;
        double r12487381 = r12487372 / r12487380;
        double r12487382 = r12487371 + r12487381;
        return r12487382;
}

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

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

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

Reproduce

herbie shell --seed 2019169 +o rules:numerics
(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))))))