Average Error: 0.0 → 0.0
Time: 23.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{NdChar}{1 + \sqrt[3]{e^{\mathsf{fma}\left(2, \frac{\left(EDonor - \left(Ec - Vef\right)\right) + mu}{KbT}, \frac{\left(EDonor - \left(Ec - Vef\right)\right) + mu}{KbT}\right)}}} + \frac{NaChar}{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{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{NdChar}{1 + \sqrt[3]{e^{\mathsf{fma}\left(2, \frac{\left(EDonor - \left(Ec - Vef\right)\right) + mu}{KbT}, \frac{\left(EDonor - \left(Ec - Vef\right)\right) + mu}{KbT}\right)}}} + \frac{NaChar}{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r2505368 = NdChar;
        double r2505369 = 1.0;
        double r2505370 = Ec;
        double r2505371 = Vef;
        double r2505372 = r2505370 - r2505371;
        double r2505373 = EDonor;
        double r2505374 = r2505372 - r2505373;
        double r2505375 = mu;
        double r2505376 = r2505374 - r2505375;
        double r2505377 = -r2505376;
        double r2505378 = KbT;
        double r2505379 = r2505377 / r2505378;
        double r2505380 = exp(r2505379);
        double r2505381 = r2505369 + r2505380;
        double r2505382 = r2505368 / r2505381;
        double r2505383 = NaChar;
        double r2505384 = Ev;
        double r2505385 = r2505384 + r2505371;
        double r2505386 = EAccept;
        double r2505387 = r2505385 + r2505386;
        double r2505388 = -r2505375;
        double r2505389 = r2505387 + r2505388;
        double r2505390 = r2505389 / r2505378;
        double r2505391 = exp(r2505390);
        double r2505392 = r2505369 + r2505391;
        double r2505393 = r2505383 / r2505392;
        double r2505394 = r2505382 + r2505393;
        return r2505394;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r2505395 = NdChar;
        double r2505396 = 1.0;
        double r2505397 = 2.0;
        double r2505398 = EDonor;
        double r2505399 = Ec;
        double r2505400 = Vef;
        double r2505401 = r2505399 - r2505400;
        double r2505402 = r2505398 - r2505401;
        double r2505403 = mu;
        double r2505404 = r2505402 + r2505403;
        double r2505405 = KbT;
        double r2505406 = r2505404 / r2505405;
        double r2505407 = fma(r2505397, r2505406, r2505406);
        double r2505408 = exp(r2505407);
        double r2505409 = cbrt(r2505408);
        double r2505410 = r2505396 + r2505409;
        double r2505411 = r2505395 / r2505410;
        double r2505412 = NaChar;
        double r2505413 = r2505400 - r2505403;
        double r2505414 = Ev;
        double r2505415 = r2505413 + r2505414;
        double r2505416 = EAccept;
        double r2505417 = r2505415 + r2505416;
        double r2505418 = r2505417 / r2505405;
        double r2505419 = exp(r2505418);
        double r2505420 = r2505419 + r2505396;
        double r2505421 = r2505412 / r2505420;
        double r2505422 = r2505411 + r2505421;
        return r2505422;
}

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

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

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

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

Reproduce

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