Average Error: 0.0 → 0.0
Time: 44.1s
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 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1 + \sqrt[3]{\mathsf{expm1}\left(\mathsf{log1p}\left({\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{3}\right)\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{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1 + \sqrt[3]{\mathsf{expm1}\left(\mathsf{log1p}\left({\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{3}\right)\right)}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r167789 = NdChar;
        double r167790 = 1.0;
        double r167791 = Ec;
        double r167792 = Vef;
        double r167793 = r167791 - r167792;
        double r167794 = EDonor;
        double r167795 = r167793 - r167794;
        double r167796 = mu;
        double r167797 = r167795 - r167796;
        double r167798 = -r167797;
        double r167799 = KbT;
        double r167800 = r167798 / r167799;
        double r167801 = exp(r167800);
        double r167802 = r167790 + r167801;
        double r167803 = r167789 / r167802;
        double r167804 = NaChar;
        double r167805 = Ev;
        double r167806 = r167805 + r167792;
        double r167807 = EAccept;
        double r167808 = r167806 + r167807;
        double r167809 = -r167796;
        double r167810 = r167808 + r167809;
        double r167811 = r167810 / r167799;
        double r167812 = exp(r167811);
        double r167813 = r167790 + r167812;
        double r167814 = r167804 / r167813;
        double r167815 = r167803 + r167814;
        return r167815;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r167816 = NdChar;
        double r167817 = 1.0;
        double r167818 = Ec;
        double r167819 = Vef;
        double r167820 = r167818 - r167819;
        double r167821 = EDonor;
        double r167822 = r167820 - r167821;
        double r167823 = mu;
        double r167824 = r167822 - r167823;
        double r167825 = -r167824;
        double r167826 = KbT;
        double r167827 = r167825 / r167826;
        double r167828 = exp(r167827);
        double r167829 = r167817 + r167828;
        double r167830 = r167816 / r167829;
        double r167831 = NaChar;
        double r167832 = Ev;
        double r167833 = r167832 + r167819;
        double r167834 = EAccept;
        double r167835 = r167833 + r167834;
        double r167836 = r167835 - r167823;
        double r167837 = r167836 / r167826;
        double r167838 = exp(r167837);
        double r167839 = 3.0;
        double r167840 = pow(r167838, r167839);
        double r167841 = log1p(r167840);
        double r167842 = expm1(r167841);
        double r167843 = cbrt(r167842);
        double r167844 = r167817 + r167843;
        double r167845 = r167831 / r167844;
        double r167846 = r167830 + r167845;
        return r167846;
}

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. Using strategy rm
  3. Applied add-cbrt-cube0.0

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

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

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

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

Reproduce

herbie shell --seed 2019323 +o rules:numerics
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  :precision binary64
  (+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))