Average Error: 0.0 → 0.2
Time: 32.2s
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{1}{\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot e^{\log \left(\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right)}} \cdot \frac{NdChar}{\sqrt[3]{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 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}
\frac{1}{\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot e^{\log \left(\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right)}} \cdot \frac{NdChar}{\sqrt[3]{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}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r346637 = NdChar;
        double r346638 = 1.0;
        double r346639 = Ec;
        double r346640 = Vef;
        double r346641 = r346639 - r346640;
        double r346642 = EDonor;
        double r346643 = r346641 - r346642;
        double r346644 = mu;
        double r346645 = r346643 - r346644;
        double r346646 = -r346645;
        double r346647 = KbT;
        double r346648 = r346646 / r346647;
        double r346649 = exp(r346648);
        double r346650 = r346638 + r346649;
        double r346651 = r346637 / r346650;
        double r346652 = NaChar;
        double r346653 = Ev;
        double r346654 = r346653 + r346640;
        double r346655 = EAccept;
        double r346656 = r346654 + r346655;
        double r346657 = -r346644;
        double r346658 = r346656 + r346657;
        double r346659 = r346658 / r346647;
        double r346660 = exp(r346659);
        double r346661 = r346638 + r346660;
        double r346662 = r346652 / r346661;
        double r346663 = r346651 + r346662;
        return r346663;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r346664 = 1.0;
        double r346665 = 1.0;
        double r346666 = Ec;
        double r346667 = Vef;
        double r346668 = r346666 - r346667;
        double r346669 = EDonor;
        double r346670 = r346668 - r346669;
        double r346671 = mu;
        double r346672 = r346670 - r346671;
        double r346673 = -r346672;
        double r346674 = KbT;
        double r346675 = r346673 / r346674;
        double r346676 = exp(r346675);
        double r346677 = r346665 + r346676;
        double r346678 = cbrt(r346677);
        double r346679 = log(r346678);
        double r346680 = exp(r346679);
        double r346681 = r346678 * r346680;
        double r346682 = r346664 / r346681;
        double r346683 = NdChar;
        double r346684 = r346683 / r346678;
        double r346685 = r346682 * r346684;
        double r346686 = NaChar;
        double r346687 = Ev;
        double r346688 = r346687 + r346667;
        double r346689 = EAccept;
        double r346690 = r346688 + r346689;
        double r346691 = -r346671;
        double r346692 = r346690 + r346691;
        double r346693 = r346692 / r346674;
        double r346694 = exp(r346693);
        double r346695 = r346665 + r346694;
        double r346696 = r346686 / r346695;
        double r346697 = r346685 + r346696;
        return r346697;
}

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-cube-cbrt0.2

    \[\leadsto \frac{NdChar}{\color{blue}{\left(\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right) \cdot \sqrt[3]{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}}}\]
  4. Applied *-un-lft-identity0.2

    \[\leadsto \frac{\color{blue}{1 \cdot NdChar}}{\left(\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right) \cdot \sqrt[3]{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}}}\]
  5. Applied times-frac0.2

    \[\leadsto \color{blue}{\frac{1}{\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}} \cdot \frac{NdChar}{\sqrt[3]{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}}}\]
  6. Using strategy rm
  7. Applied add-exp-log0.2

    \[\leadsto \frac{1}{\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \color{blue}{e^{\log \left(\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right)}}} \cdot \frac{NdChar}{\sqrt[3]{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}}}\]
  8. Final simplification0.2

    \[\leadsto \frac{1}{\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot e^{\log \left(\sqrt[3]{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right)}} \cdot \frac{NdChar}{\sqrt[3]{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}}}\]

Reproduce

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