Average Error: 0.0 → 0.0
Time: 28.7s
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}{\sqrt[3]{\left(\left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\right) \cdot \left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\right)\right) \cdot \left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\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}{\sqrt[3]{\left(\left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\right) \cdot \left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\right)\right) \cdot \left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\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 r4157124 = NdChar;
        double r4157125 = 1.0;
        double r4157126 = Ec;
        double r4157127 = Vef;
        double r4157128 = r4157126 - r4157127;
        double r4157129 = EDonor;
        double r4157130 = r4157128 - r4157129;
        double r4157131 = mu;
        double r4157132 = r4157130 - r4157131;
        double r4157133 = -r4157132;
        double r4157134 = KbT;
        double r4157135 = r4157133 / r4157134;
        double r4157136 = exp(r4157135);
        double r4157137 = r4157125 + r4157136;
        double r4157138 = r4157124 / r4157137;
        double r4157139 = NaChar;
        double r4157140 = Ev;
        double r4157141 = r4157140 + r4157127;
        double r4157142 = EAccept;
        double r4157143 = r4157141 + r4157142;
        double r4157144 = -r4157131;
        double r4157145 = r4157143 + r4157144;
        double r4157146 = r4157145 / r4157134;
        double r4157147 = exp(r4157146);
        double r4157148 = r4157125 + r4157147;
        double r4157149 = r4157139 / r4157148;
        double r4157150 = r4157138 + r4157149;
        return r4157150;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r4157151 = NdChar;
        double r4157152 = EDonor;
        double r4157153 = Ec;
        double r4157154 = Vef;
        double r4157155 = r4157153 - r4157154;
        double r4157156 = mu;
        double r4157157 = r4157155 - r4157156;
        double r4157158 = r4157152 - r4157157;
        double r4157159 = KbT;
        double r4157160 = r4157158 / r4157159;
        double r4157161 = exp(r4157160);
        double r4157162 = 1.0;
        double r4157163 = r4157161 + r4157162;
        double r4157164 = r4157163 * r4157163;
        double r4157165 = r4157164 * r4157163;
        double r4157166 = cbrt(r4157165);
        double r4157167 = r4157151 / r4157166;
        double r4157168 = NaChar;
        double r4157169 = r4157154 - r4157156;
        double r4157170 = Ev;
        double r4157171 = r4157169 + r4157170;
        double r4157172 = EAccept;
        double r4157173 = r4157171 + r4157172;
        double r4157174 = r4157173 / r4157159;
        double r4157175 = exp(r4157174);
        double r4157176 = r4157175 + r4157162;
        double r4157177 = r4157168 / r4157176;
        double r4157178 = r4157167 + r4157177;
        return r4157178;
}

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-cbrt-cube0.0

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

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

Reproduce

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