Average Error: 0.0 → 0.0
Time: 15.9s
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}{e^{\mathsf{log1p}\left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}}\right)}} + \frac{NaChar}{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}} + 1}\]
\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}{e^{\mathsf{log1p}\left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}}\right)}} + \frac{NaChar}{e^{\frac{\left(\left(Vef - mu\right) + Ev\right) + EAccept}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r4037101 = NdChar;
        double r4037102 = 1.0;
        double r4037103 = Ec;
        double r4037104 = Vef;
        double r4037105 = r4037103 - r4037104;
        double r4037106 = EDonor;
        double r4037107 = r4037105 - r4037106;
        double r4037108 = mu;
        double r4037109 = r4037107 - r4037108;
        double r4037110 = -r4037109;
        double r4037111 = KbT;
        double r4037112 = r4037110 / r4037111;
        double r4037113 = exp(r4037112);
        double r4037114 = r4037102 + r4037113;
        double r4037115 = r4037101 / r4037114;
        double r4037116 = NaChar;
        double r4037117 = Ev;
        double r4037118 = r4037117 + r4037104;
        double r4037119 = EAccept;
        double r4037120 = r4037118 + r4037119;
        double r4037121 = -r4037108;
        double r4037122 = r4037120 + r4037121;
        double r4037123 = r4037122 / r4037111;
        double r4037124 = exp(r4037123);
        double r4037125 = r4037102 + r4037124;
        double r4037126 = r4037116 / r4037125;
        double r4037127 = r4037115 + r4037126;
        return r4037127;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r4037128 = NdChar;
        double r4037129 = EDonor;
        double r4037130 = Ec;
        double r4037131 = Vef;
        double r4037132 = r4037130 - r4037131;
        double r4037133 = mu;
        double r4037134 = r4037132 - r4037133;
        double r4037135 = r4037129 - r4037134;
        double r4037136 = KbT;
        double r4037137 = r4037135 / r4037136;
        double r4037138 = exp(r4037137);
        double r4037139 = log1p(r4037138);
        double r4037140 = exp(r4037139);
        double r4037141 = r4037128 / r4037140;
        double r4037142 = NaChar;
        double r4037143 = r4037131 - r4037133;
        double r4037144 = Ev;
        double r4037145 = r4037143 + r4037144;
        double r4037146 = EAccept;
        double r4037147 = r4037145 + r4037146;
        double r4037148 = r4037147 / r4037136;
        double r4037149 = exp(r4037148);
        double r4037150 = 1.0;
        double r4037151 = r4037149 + r4037150;
        double r4037152 = r4037142 / r4037151;
        double r4037153 = r4037141 + r4037152;
        return r4037153;
}

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

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

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

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

Reproduce

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