Average Error: 0.0 → 0.0
Time: 29.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}{e^{\frac{\left(Vef - mu\right) + \left(Ev + EAccept\right)}{KbT}} + 1} + \frac{NdChar}{1 + {\left(e^{\sqrt[3]{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT} \cdot \frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}\right)}^{\left(\sqrt[3]{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}\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}{e^{\frac{\left(Vef - mu\right) + \left(Ev + EAccept\right)}{KbT}} + 1} + \frac{NdChar}{1 + {\left(e^{\sqrt[3]{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT} \cdot \frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}\right)}^{\left(\sqrt[3]{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}\right)}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r5774991 = NdChar;
        double r5774992 = 1.0;
        double r5774993 = Ec;
        double r5774994 = Vef;
        double r5774995 = r5774993 - r5774994;
        double r5774996 = EDonor;
        double r5774997 = r5774995 - r5774996;
        double r5774998 = mu;
        double r5774999 = r5774997 - r5774998;
        double r5775000 = -r5774999;
        double r5775001 = KbT;
        double r5775002 = r5775000 / r5775001;
        double r5775003 = exp(r5775002);
        double r5775004 = r5774992 + r5775003;
        double r5775005 = r5774991 / r5775004;
        double r5775006 = NaChar;
        double r5775007 = Ev;
        double r5775008 = r5775007 + r5774994;
        double r5775009 = EAccept;
        double r5775010 = r5775008 + r5775009;
        double r5775011 = -r5774998;
        double r5775012 = r5775010 + r5775011;
        double r5775013 = r5775012 / r5775001;
        double r5775014 = exp(r5775013);
        double r5775015 = r5774992 + r5775014;
        double r5775016 = r5775006 / r5775015;
        double r5775017 = r5775005 + r5775016;
        return r5775017;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r5775018 = NaChar;
        double r5775019 = Vef;
        double r5775020 = mu;
        double r5775021 = r5775019 - r5775020;
        double r5775022 = Ev;
        double r5775023 = EAccept;
        double r5775024 = r5775022 + r5775023;
        double r5775025 = r5775021 + r5775024;
        double r5775026 = KbT;
        double r5775027 = r5775025 / r5775026;
        double r5775028 = exp(r5775027);
        double r5775029 = 1.0;
        double r5775030 = r5775028 + r5775029;
        double r5775031 = r5775018 / r5775030;
        double r5775032 = NdChar;
        double r5775033 = Ec;
        double r5775034 = r5775033 - r5775019;
        double r5775035 = EDonor;
        double r5775036 = r5775034 - r5775035;
        double r5775037 = r5775020 - r5775036;
        double r5775038 = r5775037 / r5775026;
        double r5775039 = r5775038 * r5775038;
        double r5775040 = cbrt(r5775039);
        double r5775041 = exp(r5775040);
        double r5775042 = cbrt(r5775038);
        double r5775043 = pow(r5775041, r5775042);
        double r5775044 = r5775029 + r5775043;
        double r5775045 = r5775032 / r5775044;
        double r5775046 = r5775031 + r5775045;
        return r5775046;
}

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

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

    \[\leadsto \frac{NaChar}{1 + e^{\frac{\left(EAccept + Ev\right) + \left(Vef - mu\right)}{KbT}}} + \frac{NdChar}{\color{blue}{{\left(e^{\sqrt[3]{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} \cdot \sqrt[3]{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}\right)}^{\left(\sqrt[3]{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}\right)}} + 1}\]
  6. Using strategy rm
  7. Applied cbrt-unprod0.0

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

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

Reproduce

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