Average Error: 0.0 → 0.1
Time: 1.0m
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{1}{\frac{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}{NaChar}}\]
\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{1}{\frac{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}{NaChar}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r220624 = NdChar;
        double r220625 = 1.0;
        double r220626 = Ec;
        double r220627 = Vef;
        double r220628 = r220626 - r220627;
        double r220629 = EDonor;
        double r220630 = r220628 - r220629;
        double r220631 = mu;
        double r220632 = r220630 - r220631;
        double r220633 = -r220632;
        double r220634 = KbT;
        double r220635 = r220633 / r220634;
        double r220636 = exp(r220635);
        double r220637 = r220625 + r220636;
        double r220638 = r220624 / r220637;
        double r220639 = NaChar;
        double r220640 = Ev;
        double r220641 = r220640 + r220627;
        double r220642 = EAccept;
        double r220643 = r220641 + r220642;
        double r220644 = -r220631;
        double r220645 = r220643 + r220644;
        double r220646 = r220645 / r220634;
        double r220647 = exp(r220646);
        double r220648 = r220625 + r220647;
        double r220649 = r220639 / r220648;
        double r220650 = r220638 + r220649;
        return r220650;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r220651 = NdChar;
        double r220652 = 1.0;
        double r220653 = Ec;
        double r220654 = Vef;
        double r220655 = r220653 - r220654;
        double r220656 = EDonor;
        double r220657 = r220655 - r220656;
        double r220658 = mu;
        double r220659 = r220657 - r220658;
        double r220660 = -r220659;
        double r220661 = KbT;
        double r220662 = r220660 / r220661;
        double r220663 = exp(r220662);
        double r220664 = r220652 + r220663;
        double r220665 = r220651 / r220664;
        double r220666 = 1.0;
        double r220667 = Ev;
        double r220668 = r220667 + r220654;
        double r220669 = EAccept;
        double r220670 = r220668 + r220669;
        double r220671 = r220670 - r220658;
        double r220672 = r220671 / r220661;
        double r220673 = exp(r220672);
        double r220674 = r220652 + r220673;
        double r220675 = NaChar;
        double r220676 = r220674 / r220675;
        double r220677 = r220666 / r220676;
        double r220678 = r220665 + r220677;
        return r220678;
}

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 clear-num0.1

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

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

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

Reproduce

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