Average Error: 0.0 → 0.0
Time: 9.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{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 + 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}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r110748 = NdChar;
        double r110749 = 1.0;
        double r110750 = Ec;
        double r110751 = Vef;
        double r110752 = r110750 - r110751;
        double r110753 = EDonor;
        double r110754 = r110752 - r110753;
        double r110755 = mu;
        double r110756 = r110754 - r110755;
        double r110757 = -r110756;
        double r110758 = KbT;
        double r110759 = r110757 / r110758;
        double r110760 = exp(r110759);
        double r110761 = r110749 + r110760;
        double r110762 = r110748 / r110761;
        double r110763 = NaChar;
        double r110764 = Ev;
        double r110765 = r110764 + r110751;
        double r110766 = EAccept;
        double r110767 = r110765 + r110766;
        double r110768 = -r110755;
        double r110769 = r110767 + r110768;
        double r110770 = r110769 / r110758;
        double r110771 = exp(r110770);
        double r110772 = r110749 + r110771;
        double r110773 = r110763 / r110772;
        double r110774 = r110762 + r110773;
        return r110774;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r110775 = NdChar;
        double r110776 = 1.0;
        double r110777 = Ec;
        double r110778 = Vef;
        double r110779 = r110777 - r110778;
        double r110780 = EDonor;
        double r110781 = r110779 - r110780;
        double r110782 = mu;
        double r110783 = r110781 - r110782;
        double r110784 = -r110783;
        double r110785 = KbT;
        double r110786 = r110784 / r110785;
        double r110787 = exp(r110786);
        double r110788 = r110776 + r110787;
        double r110789 = r110775 / r110788;
        double r110790 = NaChar;
        double r110791 = Ev;
        double r110792 = r110791 + r110778;
        double r110793 = EAccept;
        double r110794 = r110792 + r110793;
        double r110795 = -r110782;
        double r110796 = r110794 + r110795;
        double r110797 = r110796 / r110785;
        double r110798 = exp(r110797);
        double r110799 = r110776 + r110798;
        double r110800 = r110790 / r110799;
        double r110801 = r110789 + r110800;
        return r110801;
}

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. Final simplification0.0

    \[\leadsto \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}}}\]

Reproduce

herbie shell --seed 2019304 
(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))))))