Average Error: 0.0 → 0.1
Time: 2.1m
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{\frac{\frac{NaChar}{\sqrt{\sqrt{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1}}}}{\sqrt{\sqrt{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1}}}}{\sqrt{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1}} + \frac{1}{1 + e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}} \cdot NdChar\]
\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{\frac{\frac{NaChar}{\sqrt{\sqrt{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1}}}}{\sqrt{\sqrt{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1}}}}{\sqrt{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1}} + \frac{1}{1 + e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}} \cdot NdChar
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r8408116 = NdChar;
        double r8408117 = 1.0;
        double r8408118 = Ec;
        double r8408119 = Vef;
        double r8408120 = r8408118 - r8408119;
        double r8408121 = EDonor;
        double r8408122 = r8408120 - r8408121;
        double r8408123 = mu;
        double r8408124 = r8408122 - r8408123;
        double r8408125 = -r8408124;
        double r8408126 = KbT;
        double r8408127 = r8408125 / r8408126;
        double r8408128 = exp(r8408127);
        double r8408129 = r8408117 + r8408128;
        double r8408130 = r8408116 / r8408129;
        double r8408131 = NaChar;
        double r8408132 = Ev;
        double r8408133 = r8408132 + r8408119;
        double r8408134 = EAccept;
        double r8408135 = r8408133 + r8408134;
        double r8408136 = -r8408123;
        double r8408137 = r8408135 + r8408136;
        double r8408138 = r8408137 / r8408126;
        double r8408139 = exp(r8408138);
        double r8408140 = r8408117 + r8408139;
        double r8408141 = r8408131 / r8408140;
        double r8408142 = r8408130 + r8408141;
        return r8408142;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r8408143 = NaChar;
        double r8408144 = Ev;
        double r8408145 = Vef;
        double r8408146 = r8408144 + r8408145;
        double r8408147 = mu;
        double r8408148 = r8408146 - r8408147;
        double r8408149 = EAccept;
        double r8408150 = r8408148 + r8408149;
        double r8408151 = KbT;
        double r8408152 = r8408150 / r8408151;
        double r8408153 = exp(r8408152);
        double r8408154 = 1.0;
        double r8408155 = r8408153 + r8408154;
        double r8408156 = sqrt(r8408155);
        double r8408157 = sqrt(r8408156);
        double r8408158 = r8408143 / r8408157;
        double r8408159 = r8408158 / r8408157;
        double r8408160 = r8408159 / r8408156;
        double r8408161 = Ec;
        double r8408162 = r8408161 - r8408145;
        double r8408163 = EDonor;
        double r8408164 = r8408162 - r8408163;
        double r8408165 = r8408147 - r8408164;
        double r8408166 = r8408165 / r8408151;
        double r8408167 = exp(r8408166);
        double r8408168 = r8408154 + r8408167;
        double r8408169 = r8408154 / r8408168;
        double r8408170 = NdChar;
        double r8408171 = r8408169 * r8408170;
        double r8408172 = r8408160 + r8408171;
        return r8408172;
}

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

    \[\leadsto \frac{NaChar}{1 + e^{\frac{EAccept + \left(\left(Ev + Vef\right) - mu\right)}{KbT}}} + \color{blue}{NdChar \cdot \frac{1}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}}\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt0.2

    \[\leadsto \frac{NaChar}{\color{blue}{\sqrt{1 + e^{\frac{EAccept + \left(\left(Ev + Vef\right) - mu\right)}{KbT}}} \cdot \sqrt{1 + e^{\frac{EAccept + \left(\left(Ev + Vef\right) - mu\right)}{KbT}}}}} + NdChar \cdot \frac{1}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}\]
  7. Applied associate-/r*0.1

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

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

    \[\leadsto \frac{\frac{NaChar}{\color{blue}{\sqrt{\sqrt{1 + e^{\frac{EAccept + \left(\left(Ev + Vef\right) - mu\right)}{KbT}}}} \cdot \sqrt{\sqrt{1 + e^{\frac{EAccept + \left(\left(Ev + Vef\right) - mu\right)}{KbT}}}}}}}{\sqrt{1 + e^{\frac{EAccept + \left(\left(Ev + Vef\right) - mu\right)}{KbT}}}} + NdChar \cdot \frac{1}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}\]
  11. Applied associate-/r*0.1

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

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

Reproduce

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