Average Error: 0.0 → 0.0
Time: 22.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{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}} + \frac{NdChar}{\mathsf{fma}\left(\sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} \cdot \sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}}, \sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}}, 1\right)}\]
\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}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}} + \frac{NdChar}{\mathsf{fma}\left(\sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}} \cdot \sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}}, \sqrt[3]{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}}, 1\right)}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r7698423 = NdChar;
        double r7698424 = 1.0;
        double r7698425 = Ec;
        double r7698426 = Vef;
        double r7698427 = r7698425 - r7698426;
        double r7698428 = EDonor;
        double r7698429 = r7698427 - r7698428;
        double r7698430 = mu;
        double r7698431 = r7698429 - r7698430;
        double r7698432 = -r7698431;
        double r7698433 = KbT;
        double r7698434 = r7698432 / r7698433;
        double r7698435 = exp(r7698434);
        double r7698436 = r7698424 + r7698435;
        double r7698437 = r7698423 / r7698436;
        double r7698438 = NaChar;
        double r7698439 = Ev;
        double r7698440 = r7698439 + r7698426;
        double r7698441 = EAccept;
        double r7698442 = r7698440 + r7698441;
        double r7698443 = -r7698430;
        double r7698444 = r7698442 + r7698443;
        double r7698445 = r7698444 / r7698433;
        double r7698446 = exp(r7698445);
        double r7698447 = r7698424 + r7698446;
        double r7698448 = r7698438 / r7698447;
        double r7698449 = r7698437 + r7698448;
        return r7698449;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r7698450 = NaChar;
        double r7698451 = 1.0;
        double r7698452 = Ev;
        double r7698453 = Vef;
        double r7698454 = r7698452 + r7698453;
        double r7698455 = EAccept;
        double r7698456 = r7698454 + r7698455;
        double r7698457 = mu;
        double r7698458 = r7698456 - r7698457;
        double r7698459 = KbT;
        double r7698460 = r7698458 / r7698459;
        double r7698461 = exp(r7698460);
        double r7698462 = r7698451 + r7698461;
        double r7698463 = r7698450 / r7698462;
        double r7698464 = NdChar;
        double r7698465 = EDonor;
        double r7698466 = Ec;
        double r7698467 = r7698466 - r7698453;
        double r7698468 = r7698465 - r7698467;
        double r7698469 = r7698457 + r7698468;
        double r7698470 = r7698469 / r7698459;
        double r7698471 = exp(r7698470);
        double r7698472 = cbrt(r7698471);
        double r7698473 = r7698472 * r7698472;
        double r7698474 = fma(r7698473, r7698472, r7698451);
        double r7698475 = r7698464 / r7698474;
        double r7698476 = r7698463 + r7698475;
        return r7698476;
}

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

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

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

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

Reproduce

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