Average Error: 0.0 → 0.0
Time: 17.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{NdChar}{\mathsf{expm1}\left(\mathsf{log1p}\left(e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}\right)\right) + 1} + \frac{NaChar}{1 + \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{\frac{3}{2}}} \cdot \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{\frac{3}{2}}}}\]
\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}{\mathsf{expm1}\left(\mathsf{log1p}\left(e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}}\right)\right) + 1} + \frac{NaChar}{1 + \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{\frac{3}{2}}} \cdot \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{\frac{3}{2}}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r248848 = NdChar;
        double r248849 = 1.0;
        double r248850 = Ec;
        double r248851 = Vef;
        double r248852 = r248850 - r248851;
        double r248853 = EDonor;
        double r248854 = r248852 - r248853;
        double r248855 = mu;
        double r248856 = r248854 - r248855;
        double r248857 = -r248856;
        double r248858 = KbT;
        double r248859 = r248857 / r248858;
        double r248860 = exp(r248859);
        double r248861 = r248849 + r248860;
        double r248862 = r248848 / r248861;
        double r248863 = NaChar;
        double r248864 = Ev;
        double r248865 = r248864 + r248851;
        double r248866 = EAccept;
        double r248867 = r248865 + r248866;
        double r248868 = -r248855;
        double r248869 = r248867 + r248868;
        double r248870 = r248869 / r248858;
        double r248871 = exp(r248870);
        double r248872 = r248849 + r248871;
        double r248873 = r248863 / r248872;
        double r248874 = r248862 + r248873;
        return r248874;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r248875 = NdChar;
        double r248876 = mu;
        double r248877 = EDonor;
        double r248878 = Ec;
        double r248879 = Vef;
        double r248880 = r248878 - r248879;
        double r248881 = r248877 - r248880;
        double r248882 = r248876 + r248881;
        double r248883 = KbT;
        double r248884 = r248882 / r248883;
        double r248885 = exp(r248884);
        double r248886 = log1p(r248885);
        double r248887 = expm1(r248886);
        double r248888 = 1.0;
        double r248889 = r248887 + r248888;
        double r248890 = r248875 / r248889;
        double r248891 = NaChar;
        double r248892 = Ev;
        double r248893 = r248892 + r248879;
        double r248894 = EAccept;
        double r248895 = r248893 + r248894;
        double r248896 = r248895 - r248876;
        double r248897 = r248896 / r248883;
        double r248898 = exp(r248897);
        double r248899 = 1.5;
        double r248900 = pow(r248898, r248899);
        double r248901 = cbrt(r248900);
        double r248902 = r248901 * r248901;
        double r248903 = r248888 + r248902;
        double r248904 = r248891 / r248903;
        double r248905 = r248890 + r248904;
        return r248905;
}

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

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

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

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

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

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

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

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

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

Reproduce

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