Bulmash initializePoisson

Percentage Accurate: 100.0% → 99.9%
Time: 26.4s
Alternatives: 27
Speedup: 1.0×

Specification

?
\[\begin{array}{l} \\ \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}}} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (+
  (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))
  (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    code = (ndchar / (1.0d0 + exp((-(((ec - vef) - edonor) - mu) / kbt)))) + (nachar / (1.0d0 + exp(((((ev + vef) + eaccept) + -mu) / kbt))))
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + Math.exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + Math.exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	return (NdChar / (1.0 + math.exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + math.exp(((((Ev + Vef) + EAccept) + -mu) / KbT))))
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	return Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Float64(Float64(Float64(Ec - Vef) - EDonor) - mu)) / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Float64(Ev + Vef) + EAccept) + Float64(-mu)) / KbT)))))
end
function tmp = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = (NdChar / (1.0 + exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := N[(N[(NdChar / N[(1.0 + N[Exp[N[((-N[(N[(N[(Ec - Vef), $MachinePrecision] - EDonor), $MachinePrecision] - mu), $MachinePrecision]) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(N[(Ev + Vef), $MachinePrecision] + EAccept), $MachinePrecision] + (-mu)), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\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}}}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 27 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 100.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \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}}} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (+
  (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))
  (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    code = (ndchar / (1.0d0 + exp((-(((ec - vef) - edonor) - mu) / kbt)))) + (nachar / (1.0d0 + exp(((((ev + vef) + eaccept) + -mu) / kbt))))
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + Math.exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + Math.exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	return (NdChar / (1.0 + math.exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + math.exp(((((Ev + Vef) + EAccept) + -mu) / KbT))))
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	return Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Float64(Float64(Float64(Ec - Vef) - EDonor) - mu)) / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Float64(Ev + Vef) + EAccept) + Float64(-mu)) / KbT)))))
end
function tmp = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = (NdChar / (1.0 + exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := N[(N[(NdChar / N[(1.0 + N[Exp[N[((-N[(N[(N[(Ec - Vef), $MachinePrecision] - EDonor), $MachinePrecision] - mu), $MachinePrecision]) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(N[(Ev + Vef), $MachinePrecision] + EAccept), $MachinePrecision] + (-mu)), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\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}}}
\end{array}

Alternative 1: 99.9% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \log \left(e^{e^{\frac{Vef + \left(Ev + \left(EAccept - mu\right)\right)}{KbT}}}\right)} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (+
  (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
  (/ NaChar (+ 1.0 (log (exp (exp (/ (+ Vef (+ Ev (- EAccept mu))) KbT))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + log(exp(exp(((Vef + (Ev + (EAccept - mu))) / KbT))))));
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    code = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + log(exp(exp(((vef + (ev + (eaccept - mu))) / kbt))))))
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + Math.log(Math.exp(Math.exp(((Vef + (Ev + (EAccept - mu))) / KbT))))));
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	return (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + math.log(math.exp(math.exp(((Vef + (Ev + (EAccept - mu))) / KbT))))))
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	return Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + log(exp(exp(Float64(Float64(Vef + Float64(Ev + Float64(EAccept - mu))) / KbT)))))))
end
function tmp = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + log(exp(exp(((Vef + (Ev + (EAccept - mu))) / KbT))))));
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := N[(N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Log[N[Exp[N[Exp[N[(N[(Vef + N[(Ev + N[(EAccept - mu), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \log \left(e^{e^{\frac{Vef + \left(Ev + \left(EAccept - mu\right)\right)}{KbT}}}\right)}
\end{array}
Derivation
  1. Initial program 100.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. Step-by-step derivation
    1. neg-sub0100.0%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
  4. Step-by-step derivation
    1. add-log-exp100.0%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\log \left(e^{e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}\right)}} \]
    2. associate--l+100.0%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \log \left(e^{e^{\frac{\color{blue}{Vef + \left(\left(Ev + EAccept\right) - mu\right)}}{KbT}}}\right)} \]
    3. associate--l+100.0%

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

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

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

Alternative 2: 67.4% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ t_1 := \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ t_2 := t_1 + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ t_3 := 1 + e^{\frac{Vef}{KbT}}\\ t_4 := \frac{NaChar}{t_3} + \frac{NdChar}{t_3}\\ t_5 := \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\ \mathbf{if}\;Vef \leq -2.85 \cdot 10^{+181}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;Vef \leq -1.05 \cdot 10^{-116}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq -9 \cdot 10^{-274}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + t_5\\ \mathbf{elif}\;Vef \leq 2.35 \cdot 10^{-256}:\\ \;\;\;\;t_1 + t_0\\ \mathbf{elif}\;Vef \leq 1.05 \cdot 10^{-203}:\\ \;\;\;\;t_5 + t_0\\ \mathbf{elif}\;Vef \leq 6.5 \cdot 10^{+127}:\\ \;\;\;\;t_2\\ \mathbf{else}:\\ \;\;\;\;t_4\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (- Ec) KbT)))))
        (t_1 (/ NaChar (+ 1.0 (exp (/ Ev KbT)))))
        (t_2 (+ t_1 (/ NdChar (+ 1.0 (exp (/ (+ Vef (+ mu EDonor)) KbT))))))
        (t_3 (+ 1.0 (exp (/ Vef KbT))))
        (t_4 (+ (/ NaChar t_3) (/ NdChar t_3)))
        (t_5 (/ NaChar (+ 1.0 (exp (- (/ mu KbT)))))))
   (if (<= Vef -2.85e+181)
     t_4
     (if (<= Vef -1.05e-116)
       t_2
       (if (<= Vef -9e-274)
         (+ (/ NdChar (+ 1.0 (exp (/ mu KbT)))) t_5)
         (if (<= Vef 2.35e-256)
           (+ t_1 t_0)
           (if (<= Vef 1.05e-203)
             (+ t_5 t_0)
             (if (<= Vef 6.5e+127) t_2 t_4))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp((-Ec / KbT)));
	double t_1 = NaChar / (1.0 + exp((Ev / KbT)));
	double t_2 = t_1 + (NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT))));
	double t_3 = 1.0 + exp((Vef / KbT));
	double t_4 = (NaChar / t_3) + (NdChar / t_3);
	double t_5 = NaChar / (1.0 + exp(-(mu / KbT)));
	double tmp;
	if (Vef <= -2.85e+181) {
		tmp = t_4;
	} else if (Vef <= -1.05e-116) {
		tmp = t_2;
	} else if (Vef <= -9e-274) {
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + t_5;
	} else if (Vef <= 2.35e-256) {
		tmp = t_1 + t_0;
	} else if (Vef <= 1.05e-203) {
		tmp = t_5 + t_0;
	} else if (Vef <= 6.5e+127) {
		tmp = t_2;
	} else {
		tmp = t_4;
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: t_4
    real(8) :: t_5
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp((-ec / kbt)))
    t_1 = nachar / (1.0d0 + exp((ev / kbt)))
    t_2 = t_1 + (ndchar / (1.0d0 + exp(((vef + (mu + edonor)) / kbt))))
    t_3 = 1.0d0 + exp((vef / kbt))
    t_4 = (nachar / t_3) + (ndchar / t_3)
    t_5 = nachar / (1.0d0 + exp(-(mu / kbt)))
    if (vef <= (-2.85d+181)) then
        tmp = t_4
    else if (vef <= (-1.05d-116)) then
        tmp = t_2
    else if (vef <= (-9d-274)) then
        tmp = (ndchar / (1.0d0 + exp((mu / kbt)))) + t_5
    else if (vef <= 2.35d-256) then
        tmp = t_1 + t_0
    else if (vef <= 1.05d-203) then
        tmp = t_5 + t_0
    else if (vef <= 6.5d+127) then
        tmp = t_2
    else
        tmp = t_4
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp((-Ec / KbT)));
	double t_1 = NaChar / (1.0 + Math.exp((Ev / KbT)));
	double t_2 = t_1 + (NdChar / (1.0 + Math.exp(((Vef + (mu + EDonor)) / KbT))));
	double t_3 = 1.0 + Math.exp((Vef / KbT));
	double t_4 = (NaChar / t_3) + (NdChar / t_3);
	double t_5 = NaChar / (1.0 + Math.exp(-(mu / KbT)));
	double tmp;
	if (Vef <= -2.85e+181) {
		tmp = t_4;
	} else if (Vef <= -1.05e-116) {
		tmp = t_2;
	} else if (Vef <= -9e-274) {
		tmp = (NdChar / (1.0 + Math.exp((mu / KbT)))) + t_5;
	} else if (Vef <= 2.35e-256) {
		tmp = t_1 + t_0;
	} else if (Vef <= 1.05e-203) {
		tmp = t_5 + t_0;
	} else if (Vef <= 6.5e+127) {
		tmp = t_2;
	} else {
		tmp = t_4;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp((-Ec / KbT)))
	t_1 = NaChar / (1.0 + math.exp((Ev / KbT)))
	t_2 = t_1 + (NdChar / (1.0 + math.exp(((Vef + (mu + EDonor)) / KbT))))
	t_3 = 1.0 + math.exp((Vef / KbT))
	t_4 = (NaChar / t_3) + (NdChar / t_3)
	t_5 = NaChar / (1.0 + math.exp(-(mu / KbT)))
	tmp = 0
	if Vef <= -2.85e+181:
		tmp = t_4
	elif Vef <= -1.05e-116:
		tmp = t_2
	elif Vef <= -9e-274:
		tmp = (NdChar / (1.0 + math.exp((mu / KbT)))) + t_5
	elif Vef <= 2.35e-256:
		tmp = t_1 + t_0
	elif Vef <= 1.05e-203:
		tmp = t_5 + t_0
	elif Vef <= 6.5e+127:
		tmp = t_2
	else:
		tmp = t_4
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Ec) / KbT))))
	t_1 = Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT))))
	t_2 = Float64(t_1 + Float64(NdChar / Float64(1.0 + exp(Float64(Float64(Vef + Float64(mu + EDonor)) / KbT)))))
	t_3 = Float64(1.0 + exp(Float64(Vef / KbT)))
	t_4 = Float64(Float64(NaChar / t_3) + Float64(NdChar / t_3))
	t_5 = Float64(NaChar / Float64(1.0 + exp(Float64(-Float64(mu / KbT)))))
	tmp = 0.0
	if (Vef <= -2.85e+181)
		tmp = t_4;
	elseif (Vef <= -1.05e-116)
		tmp = t_2;
	elseif (Vef <= -9e-274)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))) + t_5);
	elseif (Vef <= 2.35e-256)
		tmp = Float64(t_1 + t_0);
	elseif (Vef <= 1.05e-203)
		tmp = Float64(t_5 + t_0);
	elseif (Vef <= 6.5e+127)
		tmp = t_2;
	else
		tmp = t_4;
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp((-Ec / KbT)));
	t_1 = NaChar / (1.0 + exp((Ev / KbT)));
	t_2 = t_1 + (NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT))));
	t_3 = 1.0 + exp((Vef / KbT));
	t_4 = (NaChar / t_3) + (NdChar / t_3);
	t_5 = NaChar / (1.0 + exp(-(mu / KbT)));
	tmp = 0.0;
	if (Vef <= -2.85e+181)
		tmp = t_4;
	elseif (Vef <= -1.05e-116)
		tmp = t_2;
	elseif (Vef <= -9e-274)
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + t_5;
	elseif (Vef <= 2.35e-256)
		tmp = t_1 + t_0;
	elseif (Vef <= 1.05e-203)
		tmp = t_5 + t_0;
	elseif (Vef <= 6.5e+127)
		tmp = t_2;
	else
		tmp = t_4;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[((-Ec) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(NdChar / N[(1.0 + N[Exp[N[(N[(Vef + N[(mu + EDonor), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(NaChar / t$95$3), $MachinePrecision] + N[(NdChar / t$95$3), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(NaChar / N[(1.0 + N[Exp[(-N[(mu / KbT), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -2.85e+181], t$95$4, If[LessEqual[Vef, -1.05e-116], t$95$2, If[LessEqual[Vef, -9e-274], N[(N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$5), $MachinePrecision], If[LessEqual[Vef, 2.35e-256], N[(t$95$1 + t$95$0), $MachinePrecision], If[LessEqual[Vef, 1.05e-203], N[(t$95$5 + t$95$0), $MachinePrecision], If[LessEqual[Vef, 6.5e+127], t$95$2, t$95$4]]]]]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\
t_1 := \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\
t_2 := t_1 + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\
t_3 := 1 + e^{\frac{Vef}{KbT}}\\
t_4 := \frac{NaChar}{t_3} + \frac{NdChar}{t_3}\\
t_5 := \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\
\mathbf{if}\;Vef \leq -2.85 \cdot 10^{+181}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;Vef \leq -1.05 \cdot 10^{-116}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Vef \leq -9 \cdot 10^{-274}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + t_5\\

\mathbf{elif}\;Vef \leq 2.35 \cdot 10^{-256}:\\
\;\;\;\;t_1 + t_0\\

\mathbf{elif}\;Vef \leq 1.05 \cdot 10^{-203}:\\
\;\;\;\;t_5 + t_0\\

\mathbf{elif}\;Vef \leq 6.5 \cdot 10^{+127}:\\
\;\;\;\;t_2\\

\mathbf{else}:\\
\;\;\;\;t_4\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if Vef < -2.8500000000000001e181 or 6.5e127 < Vef

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 89.4%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Ec around 0 87.8%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 81.8%

      \[\leadsto \frac{NdChar}{e^{\color{blue}{\frac{Vef}{KbT}}} + 1} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]

    if -2.8500000000000001e181 < Vef < -1.05e-116 or 1.05000000000000001e-203 < Vef < 6.5e127

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 73.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ec around 0 68.0%

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

    if -1.05e-116 < Vef < -8.99999999999999982e-274

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 88.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-1 \cdot \frac{mu}{KbT}}}} \]
    5. Step-by-step derivation
      1. neg-mul-188.5%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-\frac{mu}{KbT}}}} \]
      2. distribute-neg-frac88.5%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    6. Simplified88.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    7. Taylor expanded in mu around inf 79.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} \]

    if -8.99999999999999982e-274 < Vef < 2.34999999999999991e-256

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 70.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ec around inf 66.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    6. Step-by-step derivation
      1. mul-1-neg43.9%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac43.9%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified66.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]

    if 2.34999999999999991e-256 < Vef < 1.05000000000000001e-203

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 94.3%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-1 \cdot \frac{mu}{KbT}}}} \]
    5. Step-by-step derivation
      1. neg-mul-194.3%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-\frac{mu}{KbT}}}} \]
      2. distribute-neg-frac94.3%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    6. Simplified94.3%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    7. Taylor expanded in Ec around inf 84.7%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} \]
    8. Step-by-step derivation
      1. mul-1-neg45.7%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac45.7%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    9. Simplified84.7%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification73.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -2.85 \cdot 10^{+181}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq -1.05 \cdot 10^{-116}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{elif}\;Vef \leq -9 \cdot 10^{-274}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\ \mathbf{elif}\;Vef \leq 2.35 \cdot 10^{-256}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{elif}\;Vef \leq 1.05 \cdot 10^{-203}:\\ \;\;\;\;\frac{NaChar}{1 + e^{-\frac{mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{elif}\;Vef \leq 6.5 \cdot 10^{+127}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \end{array} \]

Alternative 3: 78.4% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{if}\;mu \leq -1.36 \cdot 10^{+55}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;mu \leq -7.8 \cdot 10^{-44}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \mathbf{elif}\;mu \leq -1.9 \cdot 10^{-48} \lor \neg \left(mu \leq 2.8 \cdot 10^{+69}\right):\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (/ NdChar (+ 1.0 (exp (/ mu KbT)))))))
   (if (<= mu -1.36e+55)
     t_1
     (if (<= mu -7.8e-44)
       (+ t_0 (/ NaChar (+ 1.0 (exp (/ EAccept KbT)))))
       (if (or (<= mu -1.9e-48) (not (<= mu 2.8e+69)))
         t_1
         (+ t_0 (/ NaChar (+ 1.0 (exp (/ Ev KbT))))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	double tmp;
	if (mu <= -1.36e+55) {
		tmp = t_1;
	} else if (mu <= -7.8e-44) {
		tmp = t_0 + (NaChar / (1.0 + exp((EAccept / KbT))));
	} else if ((mu <= -1.9e-48) || !(mu <= 2.8e+69)) {
		tmp = t_1;
	} else {
		tmp = t_0 + (NaChar / (1.0 + exp((Ev / KbT))));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / (1.0d0 + exp((mu / kbt))))
    if (mu <= (-1.36d+55)) then
        tmp = t_1
    else if (mu <= (-7.8d-44)) then
        tmp = t_0 + (nachar / (1.0d0 + exp((eaccept / kbt))))
    else if ((mu <= (-1.9d-48)) .or. (.not. (mu <= 2.8d+69))) then
        tmp = t_1
    else
        tmp = t_0 + (nachar / (1.0d0 + exp((ev / kbt))))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double tmp;
	if (mu <= -1.36e+55) {
		tmp = t_1;
	} else if (mu <= -7.8e-44) {
		tmp = t_0 + (NaChar / (1.0 + Math.exp((EAccept / KbT))));
	} else if ((mu <= -1.9e-48) || !(mu <= 2.8e+69)) {
		tmp = t_1;
	} else {
		tmp = t_0 + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + math.exp((mu / KbT))))
	tmp = 0
	if mu <= -1.36e+55:
		tmp = t_1
	elif mu <= -7.8e-44:
		tmp = t_0 + (NaChar / (1.0 + math.exp((EAccept / KbT))))
	elif (mu <= -1.9e-48) or not (mu <= 2.8e+69):
		tmp = t_1
	else:
		tmp = t_0 + (NaChar / (1.0 + math.exp((Ev / KbT))))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))))
	tmp = 0.0
	if (mu <= -1.36e+55)
		tmp = t_1;
	elseif (mu <= -7.8e-44)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + exp(Float64(EAccept / KbT)))));
	elseif ((mu <= -1.9e-48) || !(mu <= 2.8e+69))
		tmp = t_1;
	else
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	tmp = 0.0;
	if (mu <= -1.36e+55)
		tmp = t_1;
	elseif (mu <= -7.8e-44)
		tmp = t_0 + (NaChar / (1.0 + exp((EAccept / KbT))));
	elseif ((mu <= -1.9e-48) || ~((mu <= 2.8e+69)))
		tmp = t_1;
	else
		tmp = t_0 + (NaChar / (1.0 + exp((Ev / KbT))));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[mu, -1.36e+55], t$95$1, If[LessEqual[mu, -7.8e-44], N[(t$95$0 + N[(NaChar / N[(1.0 + N[Exp[N[(EAccept / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[mu, -1.9e-48], N[Not[LessEqual[mu, 2.8e+69]], $MachinePrecision]], t$95$1, N[(t$95$0 + N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\
\mathbf{if}\;mu \leq -1.36 \cdot 10^{+55}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;mu \leq -7.8 \cdot 10^{-44}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\

\mathbf{elif}\;mu \leq -1.9 \cdot 10^{-48} \lor \neg \left(mu \leq 2.8 \cdot 10^{+69}\right):\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if mu < -1.36e55 or -7.8000000000000004e-44 < mu < -1.90000000000000001e-48 or 2.79999999999999982e69 < mu

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 89.8%

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

    if -1.36e55 < mu < -7.8000000000000004e-44

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in EAccept around inf 71.8%

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

    if -1.90000000000000001e-48 < mu < 2.79999999999999982e69

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 78.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification81.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;mu \leq -1.36 \cdot 10^{+55}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;mu \leq -7.8 \cdot 10^{-44}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \mathbf{elif}\;mu \leq -1.9 \cdot 10^{-48} \lor \neg \left(mu \leq 2.8 \cdot 10^{+69}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \end{array} \]

Alternative 4: 76.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ t_1 := \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{if}\;Vef \leq -1.55 \cdot 10^{+22}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq -2.4 \cdot 10^{-220}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;Vef \leq 3.5 \cdot 10^{-274}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \mathbf{elif}\;Vef \leq 5.8 \cdot 10^{+16}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (/ NdChar (+ 1.0 (exp (/ mu KbT))))))
        (t_1
         (+
          (/ NaChar (+ 1.0 (exp (/ Vef KbT))))
          (/ NdChar (+ 1.0 (exp (/ (+ Vef (+ mu EDonor)) KbT)))))))
   (if (<= Vef -1.55e+22)
     t_1
     (if (<= Vef -2.4e-220)
       t_0
       (if (<= Vef 3.5e-274)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/ NaChar (+ 1.0 (exp (/ EAccept KbT)))))
         (if (<= Vef 5.8e+16) t_0 t_1))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	double t_1 = (NaChar / (1.0 + exp((Vef / KbT)))) + (NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT))));
	double tmp;
	if (Vef <= -1.55e+22) {
		tmp = t_1;
	} else if (Vef <= -2.4e-220) {
		tmp = t_0;
	} else if (Vef <= 3.5e-274) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + exp((EAccept / KbT))));
	} else if (Vef <= 5.8e+16) {
		tmp = t_0;
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / (1.0d0 + exp((mu / kbt))))
    t_1 = (nachar / (1.0d0 + exp((vef / kbt)))) + (ndchar / (1.0d0 + exp(((vef + (mu + edonor)) / kbt))))
    if (vef <= (-1.55d+22)) then
        tmp = t_1
    else if (vef <= (-2.4d-220)) then
        tmp = t_0
    else if (vef <= 3.5d-274) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + exp((eaccept / kbt))))
    else if (vef <= 5.8d+16) then
        tmp = t_0
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double t_1 = (NaChar / (1.0 + Math.exp((Vef / KbT)))) + (NdChar / (1.0 + Math.exp(((Vef + (mu + EDonor)) / KbT))));
	double tmp;
	if (Vef <= -1.55e+22) {
		tmp = t_1;
	} else if (Vef <= -2.4e-220) {
		tmp = t_0;
	} else if (Vef <= 3.5e-274) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + Math.exp((EAccept / KbT))));
	} else if (Vef <= 5.8e+16) {
		tmp = t_0;
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + math.exp((mu / KbT))))
	t_1 = (NaChar / (1.0 + math.exp((Vef / KbT)))) + (NdChar / (1.0 + math.exp(((Vef + (mu + EDonor)) / KbT))))
	tmp = 0
	if Vef <= -1.55e+22:
		tmp = t_1
	elif Vef <= -2.4e-220:
		tmp = t_0
	elif Vef <= 3.5e-274:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + math.exp((EAccept / KbT))))
	elif Vef <= 5.8e+16:
		tmp = t_0
	else:
		tmp = t_1
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))))
	t_1 = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(Float64(Vef + Float64(mu + EDonor)) / KbT)))))
	tmp = 0.0
	if (Vef <= -1.55e+22)
		tmp = t_1;
	elseif (Vef <= -2.4e-220)
		tmp = t_0;
	elseif (Vef <= 3.5e-274)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(EAccept / KbT)))));
	elseif (Vef <= 5.8e+16)
		tmp = t_0;
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	t_1 = (NaChar / (1.0 + exp((Vef / KbT)))) + (NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT))));
	tmp = 0.0;
	if (Vef <= -1.55e+22)
		tmp = t_1;
	elseif (Vef <= -2.4e-220)
		tmp = t_0;
	elseif (Vef <= 3.5e-274)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + exp((EAccept / KbT))));
	elseif (Vef <= 5.8e+16)
		tmp = t_0;
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(N[(Vef + N[(mu + EDonor), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -1.55e+22], t$95$1, If[LessEqual[Vef, -2.4e-220], t$95$0, If[LessEqual[Vef, 3.5e-274], N[(N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(EAccept / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 5.8e+16], t$95$0, t$95$1]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\
t_1 := \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\
\mathbf{if}\;Vef \leq -1.55 \cdot 10^{+22}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq -2.4 \cdot 10^{-220}:\\
\;\;\;\;t_0\\

\mathbf{elif}\;Vef \leq 3.5 \cdot 10^{-274}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\

\mathbf{elif}\;Vef \leq 5.8 \cdot 10^{+16}:\\
\;\;\;\;t_0\\

\mathbf{else}:\\
\;\;\;\;t_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if Vef < -1.5500000000000001e22 or 5.8e16 < Vef

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 87.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Ec around 0 85.1%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]

    if -1.5500000000000001e22 < Vef < -2.4000000000000001e-220 or 3.49999999999999982e-274 < Vef < 5.8e16

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 81.1%

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

    if -2.4000000000000001e-220 < Vef < 3.49999999999999982e-274

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in EAccept around inf 76.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{EAccept}{KbT}}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification82.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -1.55 \cdot 10^{+22}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{elif}\;Vef \leq -2.4 \cdot 10^{-220}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Vef \leq 3.5 \cdot 10^{-274}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \mathbf{elif}\;Vef \leq 5.8 \cdot 10^{+16}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \end{array} \]

Alternative 5: 78.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{if}\;mu \leq -1.65 \cdot 10^{+55}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;mu \leq -1.15 \cdot 10^{-47}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \mathbf{elif}\;mu \leq -4.3 \cdot 10^{-167}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;mu \leq 2.85 \cdot 10^{+107}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (/ NdChar (+ 1.0 (exp (/ mu KbT)))))))
   (if (<= mu -1.65e+55)
     t_1
     (if (<= mu -1.15e-47)
       (+ t_0 (/ NaChar (+ 1.0 (exp (/ EAccept KbT)))))
       (if (<= mu -4.3e-167)
         (+ t_0 (/ NaChar (+ 1.0 (exp (/ Ev KbT)))))
         (if (<= mu 2.85e+107)
           (+ t_0 (/ NaChar (+ 1.0 (exp (/ Vef KbT)))))
           t_1))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	double tmp;
	if (mu <= -1.65e+55) {
		tmp = t_1;
	} else if (mu <= -1.15e-47) {
		tmp = t_0 + (NaChar / (1.0 + exp((EAccept / KbT))));
	} else if (mu <= -4.3e-167) {
		tmp = t_0 + (NaChar / (1.0 + exp((Ev / KbT))));
	} else if (mu <= 2.85e+107) {
		tmp = t_0 + (NaChar / (1.0 + exp((Vef / KbT))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / (1.0d0 + exp((mu / kbt))))
    if (mu <= (-1.65d+55)) then
        tmp = t_1
    else if (mu <= (-1.15d-47)) then
        tmp = t_0 + (nachar / (1.0d0 + exp((eaccept / kbt))))
    else if (mu <= (-4.3d-167)) then
        tmp = t_0 + (nachar / (1.0d0 + exp((ev / kbt))))
    else if (mu <= 2.85d+107) then
        tmp = t_0 + (nachar / (1.0d0 + exp((vef / kbt))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double tmp;
	if (mu <= -1.65e+55) {
		tmp = t_1;
	} else if (mu <= -1.15e-47) {
		tmp = t_0 + (NaChar / (1.0 + Math.exp((EAccept / KbT))));
	} else if (mu <= -4.3e-167) {
		tmp = t_0 + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	} else if (mu <= 2.85e+107) {
		tmp = t_0 + (NaChar / (1.0 + Math.exp((Vef / KbT))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + math.exp((mu / KbT))))
	tmp = 0
	if mu <= -1.65e+55:
		tmp = t_1
	elif mu <= -1.15e-47:
		tmp = t_0 + (NaChar / (1.0 + math.exp((EAccept / KbT))))
	elif mu <= -4.3e-167:
		tmp = t_0 + (NaChar / (1.0 + math.exp((Ev / KbT))))
	elif mu <= 2.85e+107:
		tmp = t_0 + (NaChar / (1.0 + math.exp((Vef / KbT))))
	else:
		tmp = t_1
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))))
	tmp = 0.0
	if (mu <= -1.65e+55)
		tmp = t_1;
	elseif (mu <= -1.15e-47)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + exp(Float64(EAccept / KbT)))));
	elseif (mu <= -4.3e-167)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))));
	elseif (mu <= 2.85e+107)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT)))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	tmp = 0.0;
	if (mu <= -1.65e+55)
		tmp = t_1;
	elseif (mu <= -1.15e-47)
		tmp = t_0 + (NaChar / (1.0 + exp((EAccept / KbT))));
	elseif (mu <= -4.3e-167)
		tmp = t_0 + (NaChar / (1.0 + exp((Ev / KbT))));
	elseif (mu <= 2.85e+107)
		tmp = t_0 + (NaChar / (1.0 + exp((Vef / KbT))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[mu, -1.65e+55], t$95$1, If[LessEqual[mu, -1.15e-47], N[(t$95$0 + N[(NaChar / N[(1.0 + N[Exp[N[(EAccept / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[mu, -4.3e-167], N[(t$95$0 + N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[mu, 2.85e+107], N[(t$95$0 + N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\
\mathbf{if}\;mu \leq -1.65 \cdot 10^{+55}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;mu \leq -1.15 \cdot 10^{-47}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\

\mathbf{elif}\;mu \leq -4.3 \cdot 10^{-167}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\

\mathbf{elif}\;mu \leq 2.85 \cdot 10^{+107}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\

\mathbf{else}:\\
\;\;\;\;t_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if mu < -1.65e55 or 2.84999999999999986e107 < mu

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 92.1%

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

    if -1.65e55 < mu < -1.14999999999999991e-47

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in EAccept around inf 69.2%

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

    if -1.14999999999999991e-47 < mu < -4.2999999999999998e-167

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 73.0%

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

    if -4.2999999999999998e-167 < mu < 2.84999999999999986e107

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 84.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification84.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;mu \leq -1.65 \cdot 10^{+55}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;mu \leq -1.15 \cdot 10^{-47}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \mathbf{elif}\;mu \leq -4.3 \cdot 10^{-167}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;mu \leq 2.85 \cdot 10^{+107}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \end{array} \]

Alternative 6: 57.7% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ t_2 := 1 + e^{\frac{Vef}{KbT}}\\ t_3 := \frac{NaChar}{t_2}\\ \mathbf{if}\;NdChar \leq -6.6 \cdot 10^{+149}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;NdChar \leq -3.1 \cdot 10^{+56}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + t_3\\ \mathbf{elif}\;NdChar \leq -6 \cdot 10^{-163}:\\ \;\;\;\;t_3 + \frac{NdChar}{t_2}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 3.3 \cdot 10^{+52}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1 (+ t_0 (/ NaChar (+ 1.0 (/ (* 0.5 (* Ev Ev)) (* KbT KbT))))))
        (t_2 (+ 1.0 (exp (/ Vef KbT))))
        (t_3 (/ NaChar t_2)))
   (if (<= NdChar -6.6e+149)
     t_1
     (if (<= NdChar -3.1e+56)
       (+ (/ NdChar (+ 1.0 (exp (/ mu KbT)))) t_3)
       (if (<= NdChar -6e-163)
         (+ t_3 (/ NdChar t_2))
         (if (<= NdChar 8.5e-156)
           (+
            (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
            (* NdChar 0.5))
           (if (<= NdChar 3.3e+52)
             (+
              t_0
              (/
               NaChar
               (+
                1.0
                (-
                 (+ (/ Ev KbT) (+ (/ EAccept KbT) (+ 1.0 (/ Vef KbT))))
                 (/ mu KbT)))))
             (if (<= NdChar 9.5e+277)
               t_1
               (+
                (/ NaChar (+ 1.0 (exp (/ Ev KbT))))
                (/ NdChar (+ 1.0 (exp (/ EDonor KbT)))))))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double t_2 = 1.0 + exp((Vef / KbT));
	double t_3 = NaChar / t_2;
	double tmp;
	if (NdChar <= -6.6e+149) {
		tmp = t_1;
	} else if (NdChar <= -3.1e+56) {
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + t_3;
	} else if (NdChar <= -6e-163) {
		tmp = t_3 + (NdChar / t_2);
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 3.3e+52) {
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 9.5e+277) {
		tmp = t_1;
	} else {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: t_3
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = t_0 + (nachar / (1.0d0 + ((0.5d0 * (ev * ev)) / (kbt * kbt))))
    t_2 = 1.0d0 + exp((vef / kbt))
    t_3 = nachar / t_2
    if (ndchar <= (-6.6d+149)) then
        tmp = t_1
    else if (ndchar <= (-3.1d+56)) then
        tmp = (ndchar / (1.0d0 + exp((mu / kbt)))) + t_3
    else if (ndchar <= (-6d-163)) then
        tmp = t_3 + (ndchar / t_2)
    else if (ndchar <= 8.5d-156) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else if (ndchar <= 3.3d+52) then
        tmp = t_0 + (nachar / (1.0d0 + (((ev / kbt) + ((eaccept / kbt) + (1.0d0 + (vef / kbt)))) - (mu / kbt))))
    else if (ndchar <= 9.5d+277) then
        tmp = t_1
    else
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar / (1.0d0 + exp((edonor / kbt))))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double t_2 = 1.0 + Math.exp((Vef / KbT));
	double t_3 = NaChar / t_2;
	double tmp;
	if (NdChar <= -6.6e+149) {
		tmp = t_1;
	} else if (NdChar <= -3.1e+56) {
		tmp = (NdChar / (1.0 + Math.exp((mu / KbT)))) + t_3;
	} else if (NdChar <= -6e-163) {
		tmp = t_3 + (NdChar / t_2);
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 3.3e+52) {
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 9.5e+277) {
		tmp = t_1;
	} else {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))))
	t_2 = 1.0 + math.exp((Vef / KbT))
	t_3 = NaChar / t_2
	tmp = 0
	if NdChar <= -6.6e+149:
		tmp = t_1
	elif NdChar <= -3.1e+56:
		tmp = (NdChar / (1.0 + math.exp((mu / KbT)))) + t_3
	elif NdChar <= -6e-163:
		tmp = t_3 + (NdChar / t_2)
	elif NdChar <= 8.5e-156:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	elif NdChar <= 3.3e+52:
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))))
	elif NdChar <= 9.5e+277:
		tmp = t_1
	else:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(0.5 * Float64(Ev * Ev)) / Float64(KbT * KbT)))))
	t_2 = Float64(1.0 + exp(Float64(Vef / KbT)))
	t_3 = Float64(NaChar / t_2)
	tmp = 0.0
	if (NdChar <= -6.6e+149)
		tmp = t_1;
	elseif (NdChar <= -3.1e+56)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))) + t_3);
	elseif (NdChar <= -6e-163)
		tmp = Float64(t_3 + Float64(NdChar / t_2));
	elseif (NdChar <= 8.5e-156)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	elseif (NdChar <= 3.3e+52)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(Float64(Ev / KbT) + Float64(Float64(EAccept / KbT) + Float64(1.0 + Float64(Vef / KbT)))) - Float64(mu / KbT)))));
	elseif (NdChar <= 9.5e+277)
		tmp = t_1;
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	t_2 = 1.0 + exp((Vef / KbT));
	t_3 = NaChar / t_2;
	tmp = 0.0;
	if (NdChar <= -6.6e+149)
		tmp = t_1;
	elseif (NdChar <= -3.1e+56)
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + t_3;
	elseif (NdChar <= -6e-163)
		tmp = t_3 + (NdChar / t_2);
	elseif (NdChar <= 8.5e-156)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	elseif (NdChar <= 3.3e+52)
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	elseif (NdChar <= 9.5e+277)
		tmp = t_1;
	else
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(0.5 * N[(Ev * Ev), $MachinePrecision]), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(NaChar / t$95$2), $MachinePrecision]}, If[LessEqual[NdChar, -6.6e+149], t$95$1, If[LessEqual[NdChar, -3.1e+56], N[(N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$3), $MachinePrecision], If[LessEqual[NdChar, -6e-163], N[(t$95$3 + N[(NdChar / t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 8.5e-156], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 3.3e+52], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(N[(Ev / KbT), $MachinePrecision] + N[(N[(EAccept / KbT), $MachinePrecision] + N[(1.0 + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 9.5e+277], t$95$1, N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\
t_2 := 1 + e^{\frac{Vef}{KbT}}\\
t_3 := \frac{NaChar}{t_2}\\
\mathbf{if}\;NdChar \leq -6.6 \cdot 10^{+149}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;NdChar \leq -3.1 \cdot 10^{+56}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + t_3\\

\mathbf{elif}\;NdChar \leq -6 \cdot 10^{-163}:\\
\;\;\;\;t_3 + \frac{NdChar}{t_2}\\

\mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{elif}\;NdChar \leq 3.3 \cdot 10^{+52}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\

\mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 6 regimes
  2. if NdChar < -6.6e149 or 3.3e52 < NdChar < 9.4999999999999997e277

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 74.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 59.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow259.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow259.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified59.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around inf 66.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}}} \]
    9. Step-by-step derivation
      1. associate-*r/66.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\frac{0.5 \cdot {Ev}^{2}}{{KbT}^{2}}}} \]
      2. unpow266.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \color{blue}{\left(Ev \cdot Ev\right)}}{{KbT}^{2}}} \]
      3. unpow266.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{\color{blue}{KbT \cdot KbT}}} \]
    10. Simplified66.8%

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

    if -6.6e149 < NdChar < -3.10000000000000005e56

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 87.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in Vef around inf 73.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]

    if -3.10000000000000005e56 < NdChar < -6.0000000000000005e-163

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 78.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Ec around 0 77.2%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 72.8%

      \[\leadsto \frac{NdChar}{e^{\color{blue}{\frac{Vef}{KbT}}} + 1} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]

    if -6.0000000000000005e-163 < NdChar < 8.5e-156

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 84.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 71.3%

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

    if 8.5e-156 < NdChar < 3.3e52

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 67.7%

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

    if 9.4999999999999997e277 < NdChar

    1. Initial program 99.8%

      \[\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. Step-by-step derivation
      1. neg-sub099.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-99.8%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 82.4%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in EDonor around inf 70.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{EDonor}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
  3. Recombined 6 regimes into one program.
  4. Final simplification70.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -6.6 \cdot 10^{+149}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{elif}\;NdChar \leq -3.1 \cdot 10^{+56}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;NdChar \leq -6 \cdot 10^{-163}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 3.3 \cdot 10^{+52}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \end{array} \]

Alternative 7: 58.3% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_2 := t_1 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{if}\;NdChar \leq -1.25 \cdot 10^{+149}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;NdChar \leq -4.5 \cdot 10^{+41}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\ \mathbf{elif}\;NdChar \leq -5.5 \cdot 10^{-164}:\\ \;\;\;\;\frac{NaChar}{t_0} + \frac{NdChar}{t_0}\\ \mathbf{elif}\;NdChar \leq 3.8 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 1.5 \cdot 10^{+52}:\\ \;\;\;\;t_1 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\ \;\;\;\;t_2\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (+ 1.0 (exp (/ Vef KbT))))
        (t_1 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_2 (+ t_1 (/ NaChar (+ 1.0 (/ (* 0.5 (* Ev Ev)) (* KbT KbT)))))))
   (if (<= NdChar -1.25e+149)
     t_2
     (if (<= NdChar -4.5e+41)
       (+
        (/ NdChar (+ 1.0 (exp (/ mu KbT))))
        (/ NaChar (+ 1.0 (exp (- (/ mu KbT))))))
       (if (<= NdChar -5.5e-164)
         (+ (/ NaChar t_0) (/ NdChar t_0))
         (if (<= NdChar 3.8e-156)
           (+
            (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
            (* NdChar 0.5))
           (if (<= NdChar 1.5e+52)
             (+
              t_1
              (/
               NaChar
               (+
                1.0
                (-
                 (+ (/ Ev KbT) (+ (/ EAccept KbT) (+ 1.0 (/ Vef KbT))))
                 (/ mu KbT)))))
             (if (<= NdChar 9.5e+277)
               t_2
               (+
                (/ NaChar (+ 1.0 (exp (/ Ev KbT))))
                (/ NdChar (+ 1.0 (exp (/ EDonor KbT)))))))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = 1.0 + exp((Vef / KbT));
	double t_1 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_2 = t_1 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -1.25e+149) {
		tmp = t_2;
	} else if (NdChar <= -4.5e+41) {
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / (1.0 + exp(-(mu / KbT))));
	} else if (NdChar <= -5.5e-164) {
		tmp = (NaChar / t_0) + (NdChar / t_0);
	} else if (NdChar <= 3.8e-156) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 1.5e+52) {
		tmp = t_1 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 9.5e+277) {
		tmp = t_2;
	} else {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_0 = 1.0d0 + exp((vef / kbt))
    t_1 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_2 = t_1 + (nachar / (1.0d0 + ((0.5d0 * (ev * ev)) / (kbt * kbt))))
    if (ndchar <= (-1.25d+149)) then
        tmp = t_2
    else if (ndchar <= (-4.5d+41)) then
        tmp = (ndchar / (1.0d0 + exp((mu / kbt)))) + (nachar / (1.0d0 + exp(-(mu / kbt))))
    else if (ndchar <= (-5.5d-164)) then
        tmp = (nachar / t_0) + (ndchar / t_0)
    else if (ndchar <= 3.8d-156) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else if (ndchar <= 1.5d+52) then
        tmp = t_1 + (nachar / (1.0d0 + (((ev / kbt) + ((eaccept / kbt) + (1.0d0 + (vef / kbt)))) - (mu / kbt))))
    else if (ndchar <= 9.5d+277) then
        tmp = t_2
    else
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar / (1.0d0 + exp((edonor / kbt))))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = 1.0 + Math.exp((Vef / KbT));
	double t_1 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_2 = t_1 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -1.25e+149) {
		tmp = t_2;
	} else if (NdChar <= -4.5e+41) {
		tmp = (NdChar / (1.0 + Math.exp((mu / KbT)))) + (NaChar / (1.0 + Math.exp(-(mu / KbT))));
	} else if (NdChar <= -5.5e-164) {
		tmp = (NaChar / t_0) + (NdChar / t_0);
	} else if (NdChar <= 3.8e-156) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 1.5e+52) {
		tmp = t_1 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 9.5e+277) {
		tmp = t_2;
	} else {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = 1.0 + math.exp((Vef / KbT))
	t_1 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_2 = t_1 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))))
	tmp = 0
	if NdChar <= -1.25e+149:
		tmp = t_2
	elif NdChar <= -4.5e+41:
		tmp = (NdChar / (1.0 + math.exp((mu / KbT)))) + (NaChar / (1.0 + math.exp(-(mu / KbT))))
	elif NdChar <= -5.5e-164:
		tmp = (NaChar / t_0) + (NdChar / t_0)
	elif NdChar <= 3.8e-156:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	elif NdChar <= 1.5e+52:
		tmp = t_1 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))))
	elif NdChar <= 9.5e+277:
		tmp = t_2
	else:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(1.0 + exp(Float64(Vef / KbT)))
	t_1 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_2 = Float64(t_1 + Float64(NaChar / Float64(1.0 + Float64(Float64(0.5 * Float64(Ev * Ev)) / Float64(KbT * KbT)))))
	tmp = 0.0
	if (NdChar <= -1.25e+149)
		tmp = t_2;
	elseif (NdChar <= -4.5e+41)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(-Float64(mu / KbT))))));
	elseif (NdChar <= -5.5e-164)
		tmp = Float64(Float64(NaChar / t_0) + Float64(NdChar / t_0));
	elseif (NdChar <= 3.8e-156)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	elseif (NdChar <= 1.5e+52)
		tmp = Float64(t_1 + Float64(NaChar / Float64(1.0 + Float64(Float64(Float64(Ev / KbT) + Float64(Float64(EAccept / KbT) + Float64(1.0 + Float64(Vef / KbT)))) - Float64(mu / KbT)))));
	elseif (NdChar <= 9.5e+277)
		tmp = t_2;
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = 1.0 + exp((Vef / KbT));
	t_1 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_2 = t_1 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	tmp = 0.0;
	if (NdChar <= -1.25e+149)
		tmp = t_2;
	elseif (NdChar <= -4.5e+41)
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / (1.0 + exp(-(mu / KbT))));
	elseif (NdChar <= -5.5e-164)
		tmp = (NaChar / t_0) + (NdChar / t_0);
	elseif (NdChar <= 3.8e-156)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	elseif (NdChar <= 1.5e+52)
		tmp = t_1 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	elseif (NdChar <= 9.5e+277)
		tmp = t_2;
	else
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(NaChar / N[(1.0 + N[(N[(0.5 * N[(Ev * Ev), $MachinePrecision]), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[NdChar, -1.25e+149], t$95$2, If[LessEqual[NdChar, -4.5e+41], N[(N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[(-N[(mu / KbT), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, -5.5e-164], N[(N[(NaChar / t$95$0), $MachinePrecision] + N[(NdChar / t$95$0), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 3.8e-156], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 1.5e+52], N[(t$95$1 + N[(NaChar / N[(1.0 + N[(N[(N[(Ev / KbT), $MachinePrecision] + N[(N[(EAccept / KbT), $MachinePrecision] + N[(1.0 + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 9.5e+277], t$95$2, N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := 1 + e^{\frac{Vef}{KbT}}\\
t_1 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_2 := t_1 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\
\mathbf{if}\;NdChar \leq -1.25 \cdot 10^{+149}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;NdChar \leq -4.5 \cdot 10^{+41}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\

\mathbf{elif}\;NdChar \leq -5.5 \cdot 10^{-164}:\\
\;\;\;\;\frac{NaChar}{t_0} + \frac{NdChar}{t_0}\\

\mathbf{elif}\;NdChar \leq 3.8 \cdot 10^{-156}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{elif}\;NdChar \leq 1.5 \cdot 10^{+52}:\\
\;\;\;\;t_1 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\

\mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\
\;\;\;\;t_2\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 6 regimes
  2. if NdChar < -1.24999999999999998e149 or 1.5e52 < NdChar < 9.4999999999999997e277

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 74.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 59.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow259.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow259.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified59.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around inf 66.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}}} \]
    9. Step-by-step derivation
      1. associate-*r/66.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\frac{0.5 \cdot {Ev}^{2}}{{KbT}^{2}}}} \]
      2. unpow266.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \color{blue}{\left(Ev \cdot Ev\right)}}{{KbT}^{2}}} \]
      3. unpow266.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{\color{blue}{KbT \cdot KbT}}} \]
    10. Simplified66.8%

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

    if -1.24999999999999998e149 < NdChar < -4.5000000000000001e41

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 85.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-1 \cdot \frac{mu}{KbT}}}} \]
    5. Step-by-step derivation
      1. neg-mul-185.1%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-\frac{mu}{KbT}}}} \]
      2. distribute-neg-frac85.1%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    6. Simplified85.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    7. Taylor expanded in mu around inf 74.1%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} \]

    if -4.5000000000000001e41 < NdChar < -5.50000000000000027e-164

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 79.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Ec around 0 77.8%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 73.1%

      \[\leadsto \frac{NdChar}{e^{\color{blue}{\frac{Vef}{KbT}}} + 1} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]

    if -5.50000000000000027e-164 < NdChar < 3.80000000000000008e-156

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 84.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 71.3%

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

    if 3.80000000000000008e-156 < NdChar < 1.5e52

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 67.7%

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

    if 9.4999999999999997e277 < NdChar

    1. Initial program 99.8%

      \[\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. Step-by-step derivation
      1. neg-sub099.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-99.8%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 82.4%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in EDonor around inf 70.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{EDonor}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
  3. Recombined 6 regimes into one program.
  4. Final simplification70.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -1.25 \cdot 10^{+149}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{elif}\;NdChar \leq -4.5 \cdot 10^{+41}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\ \mathbf{elif}\;NdChar \leq -5.5 \cdot 10^{-164}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;NdChar \leq 3.8 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 1.5 \cdot 10^{+52}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \end{array} \]

Alternative 8: 69.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ t_1 := \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\ t_2 := \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + t_0\\ \mathbf{if}\;mu \leq -6 \cdot 10^{+224}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;mu \leq -3.3 \cdot 10^{-109}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;mu \leq -2.35 \cdot 10^{-191}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + t_0\\ \mathbf{elif}\;mu \leq 3.2 \cdot 10^{+158}:\\ \;\;\;\;t_2\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ Vef (+ mu EDonor)) KbT)))))
        (t_1
         (+
          (/ NdChar (+ 1.0 (exp (/ mu KbT))))
          (/ NaChar (+ 1.0 (exp (- (/ mu KbT)))))))
        (t_2 (+ (/ NaChar (+ 1.0 (exp (/ Vef KbT)))) t_0)))
   (if (<= mu -6e+224)
     t_1
     (if (<= mu -3.3e-109)
       t_2
       (if (<= mu -2.35e-191)
         (+ (/ NaChar (+ 1.0 (exp (/ Ev KbT)))) t_0)
         (if (<= mu 3.2e+158) t_2 t_1))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT)));
	double t_1 = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / (1.0 + exp(-(mu / KbT))));
	double t_2 = (NaChar / (1.0 + exp((Vef / KbT)))) + t_0;
	double tmp;
	if (mu <= -6e+224) {
		tmp = t_1;
	} else if (mu <= -3.3e-109) {
		tmp = t_2;
	} else if (mu <= -2.35e-191) {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + t_0;
	} else if (mu <= 3.2e+158) {
		tmp = t_2;
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: t_2
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((vef + (mu + edonor)) / kbt)))
    t_1 = (ndchar / (1.0d0 + exp((mu / kbt)))) + (nachar / (1.0d0 + exp(-(mu / kbt))))
    t_2 = (nachar / (1.0d0 + exp((vef / kbt)))) + t_0
    if (mu <= (-6d+224)) then
        tmp = t_1
    else if (mu <= (-3.3d-109)) then
        tmp = t_2
    else if (mu <= (-2.35d-191)) then
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + t_0
    else if (mu <= 3.2d+158) then
        tmp = t_2
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((Vef + (mu + EDonor)) / KbT)));
	double t_1 = (NdChar / (1.0 + Math.exp((mu / KbT)))) + (NaChar / (1.0 + Math.exp(-(mu / KbT))));
	double t_2 = (NaChar / (1.0 + Math.exp((Vef / KbT)))) + t_0;
	double tmp;
	if (mu <= -6e+224) {
		tmp = t_1;
	} else if (mu <= -3.3e-109) {
		tmp = t_2;
	} else if (mu <= -2.35e-191) {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + t_0;
	} else if (mu <= 3.2e+158) {
		tmp = t_2;
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((Vef + (mu + EDonor)) / KbT)))
	t_1 = (NdChar / (1.0 + math.exp((mu / KbT)))) + (NaChar / (1.0 + math.exp(-(mu / KbT))))
	t_2 = (NaChar / (1.0 + math.exp((Vef / KbT)))) + t_0
	tmp = 0
	if mu <= -6e+224:
		tmp = t_1
	elif mu <= -3.3e-109:
		tmp = t_2
	elif mu <= -2.35e-191:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + t_0
	elif mu <= 3.2e+158:
		tmp = t_2
	else:
		tmp = t_1
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(Vef + Float64(mu + EDonor)) / KbT))))
	t_1 = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(-Float64(mu / KbT))))))
	t_2 = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT)))) + t_0)
	tmp = 0.0
	if (mu <= -6e+224)
		tmp = t_1;
	elseif (mu <= -3.3e-109)
		tmp = t_2;
	elseif (mu <= -2.35e-191)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + t_0);
	elseif (mu <= 3.2e+158)
		tmp = t_2;
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT)));
	t_1 = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / (1.0 + exp(-(mu / KbT))));
	t_2 = (NaChar / (1.0 + exp((Vef / KbT)))) + t_0;
	tmp = 0.0;
	if (mu <= -6e+224)
		tmp = t_1;
	elseif (mu <= -3.3e-109)
		tmp = t_2;
	elseif (mu <= -2.35e-191)
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + t_0;
	elseif (mu <= 3.2e+158)
		tmp = t_2;
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(Vef + N[(mu + EDonor), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[(-N[(mu / KbT), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$0), $MachinePrecision]}, If[LessEqual[mu, -6e+224], t$95$1, If[LessEqual[mu, -3.3e-109], t$95$2, If[LessEqual[mu, -2.35e-191], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$0), $MachinePrecision], If[LessEqual[mu, 3.2e+158], t$95$2, t$95$1]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\
t_1 := \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\
t_2 := \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + t_0\\
\mathbf{if}\;mu \leq -6 \cdot 10^{+224}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;mu \leq -3.3 \cdot 10^{-109}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;mu \leq -2.35 \cdot 10^{-191}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + t_0\\

\mathbf{elif}\;mu \leq 3.2 \cdot 10^{+158}:\\
\;\;\;\;t_2\\

\mathbf{else}:\\
\;\;\;\;t_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if mu < -6.0000000000000002e224 or 3.19999999999999995e158 < mu

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 83.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-1 \cdot \frac{mu}{KbT}}}} \]
    5. Step-by-step derivation
      1. neg-mul-183.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-\frac{mu}{KbT}}}} \]
      2. distribute-neg-frac83.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    6. Simplified83.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    7. Taylor expanded in mu around inf 81.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} \]

    if -6.0000000000000002e224 < mu < -3.2999999999999999e-109 or -2.3499999999999999e-191 < mu < 3.19999999999999995e158

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 81.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Ec around 0 75.2%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]

    if -3.2999999999999999e-109 < mu < -2.3499999999999999e-191

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 79.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ec around 0 74.3%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification76.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;mu \leq -6 \cdot 10^{+224}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\ \mathbf{elif}\;mu \leq -3.3 \cdot 10^{-109}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{elif}\;mu \leq -2.35 \cdot 10^{-191}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{elif}\;mu \leq 3.2 \cdot 10^{+158}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{-\frac{mu}{KbT}}}\\ \end{array} \]

Alternative 9: 100.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (+
  (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
  (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT))));
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    code = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt))))
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT))));
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	return (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT))))
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	return Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))))
end
function tmp = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT))));
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := N[(N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}
\end{array}
Derivation
  1. Initial program 100.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. Step-by-step derivation
    1. neg-sub0100.0%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

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

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

Alternative 10: 58.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{if}\;NdChar \leq -9.6 \cdot 10^{+98}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;NdChar \leq -1.95 \cdot 10^{-12}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 4.5 \cdot 10^{+53}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1 (+ t_0 (/ NaChar (+ 1.0 (/ (* 0.5 (* Ev Ev)) (* KbT KbT)))))))
   (if (<= NdChar -9.6e+98)
     t_1
     (if (<= NdChar -1.95e-12)
       (+
        t_0
        (/
         NaChar
         (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (* (/ Ev KbT) (/ Ev KbT))))))))
       (if (<= NdChar 8.5e-156)
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (* NdChar 0.5))
         (if (<= NdChar 4.5e+53)
           (+
            t_0
            (/
             NaChar
             (+
              1.0
              (-
               (+ (/ Ev KbT) (+ (/ EAccept KbT) (+ 1.0 (/ Vef KbT))))
               (/ mu KbT)))))
           (if (<= NdChar 9.5e+277)
             t_1
             (+
              (/ NaChar (+ 1.0 (exp (/ Ev KbT))))
              (/ NdChar (+ 1.0 (exp (/ EDonor KbT))))))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -9.6e+98) {
		tmp = t_1;
	} else if (NdChar <= -1.95e-12) {
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 4.5e+53) {
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 9.5e+277) {
		tmp = t_1;
	} else {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = t_0 + (nachar / (1.0d0 + ((0.5d0 * (ev * ev)) / (kbt * kbt))))
    if (ndchar <= (-9.6d+98)) then
        tmp = t_1
    else if (ndchar <= (-1.95d-12)) then
        tmp = t_0 + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev / kbt) * (ev / kbt)))))))
    else if (ndchar <= 8.5d-156) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else if (ndchar <= 4.5d+53) then
        tmp = t_0 + (nachar / (1.0d0 + (((ev / kbt) + ((eaccept / kbt) + (1.0d0 + (vef / kbt)))) - (mu / kbt))))
    else if (ndchar <= 9.5d+277) then
        tmp = t_1
    else
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar / (1.0d0 + exp((edonor / kbt))))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -9.6e+98) {
		tmp = t_1;
	} else if (NdChar <= -1.95e-12) {
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 4.5e+53) {
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 9.5e+277) {
		tmp = t_1;
	} else {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))))
	tmp = 0
	if NdChar <= -9.6e+98:
		tmp = t_1
	elif NdChar <= -1.95e-12:
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))))
	elif NdChar <= 8.5e-156:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	elif NdChar <= 4.5e+53:
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))))
	elif NdChar <= 9.5e+277:
		tmp = t_1
	else:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(0.5 * Float64(Ev * Ev)) / Float64(KbT * KbT)))))
	tmp = 0.0
	if (NdChar <= -9.6e+98)
		tmp = t_1;
	elseif (NdChar <= -1.95e-12)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev / KbT) * Float64(Ev / KbT))))))));
	elseif (NdChar <= 8.5e-156)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	elseif (NdChar <= 4.5e+53)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(Float64(Ev / KbT) + Float64(Float64(EAccept / KbT) + Float64(1.0 + Float64(Vef / KbT)))) - Float64(mu / KbT)))));
	elseif (NdChar <= 9.5e+277)
		tmp = t_1;
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	tmp = 0.0;
	if (NdChar <= -9.6e+98)
		tmp = t_1;
	elseif (NdChar <= -1.95e-12)
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	elseif (NdChar <= 8.5e-156)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	elseif (NdChar <= 4.5e+53)
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	elseif (NdChar <= 9.5e+277)
		tmp = t_1;
	else
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(0.5 * N[(Ev * Ev), $MachinePrecision]), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[NdChar, -9.6e+98], t$95$1, If[LessEqual[NdChar, -1.95e-12], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev / KbT), $MachinePrecision] * N[(Ev / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 8.5e-156], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 4.5e+53], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(N[(Ev / KbT), $MachinePrecision] + N[(N[(EAccept / KbT), $MachinePrecision] + N[(1.0 + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 9.5e+277], t$95$1, N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\
\mathbf{if}\;NdChar \leq -9.6 \cdot 10^{+98}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;NdChar \leq -1.95 \cdot 10^{-12}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\

\mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{elif}\;NdChar \leq 4.5 \cdot 10^{+53}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\

\mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if NdChar < -9.5999999999999995e98 or 4.5000000000000002e53 < NdChar < 9.4999999999999997e277

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 73.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 57.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow257.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow257.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified57.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around inf 65.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}}} \]
    9. Step-by-step derivation
      1. associate-*r/65.1%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\frac{0.5 \cdot {Ev}^{2}}{{KbT}^{2}}}} \]
      2. unpow265.1%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \color{blue}{\left(Ev \cdot Ev\right)}}{{KbT}^{2}}} \]
      3. unpow265.1%

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

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

    if -9.5999999999999995e98 < NdChar < -1.94999999999999997e-12

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 74.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around 0 60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \color{blue}{\frac{{Ev}^{2}}{{KbT}^{2}}}\right)\right)} \]
    9. Step-by-step derivation
      1. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
      3. times-frac61.1%

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

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

    if -1.94999999999999997e-12 < NdChar < 8.5e-156

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 83.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 67.6%

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

    if 8.5e-156 < NdChar < 4.5000000000000002e53

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 67.7%

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

    if 9.4999999999999997e277 < NdChar

    1. Initial program 99.8%

      \[\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. Step-by-step derivation
      1. neg-sub099.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-99.8%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 82.4%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in EDonor around inf 70.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{EDonor}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification66.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -9.6 \cdot 10^{+98}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{elif}\;NdChar \leq -1.95 \cdot 10^{-12}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 4.5 \cdot 10^{+53}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \end{array} \]

Alternative 11: 57.7% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{if}\;NdChar \leq -1 \cdot 10^{+149}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;NdChar \leq -2.06 \cdot 10^{-10}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 3.8 \cdot 10^{+53}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1 (+ t_0 (/ NaChar (+ 1.0 (/ (* 0.5 (* Ev Ev)) (* KbT KbT)))))))
   (if (<= NdChar -1e+149)
     t_1
     (if (<= NdChar -2.06e-10)
       (+
        (/ NdChar (+ 1.0 (exp (/ mu KbT))))
        (/ NaChar (+ 1.0 (exp (/ Vef KbT)))))
       (if (<= NdChar 8.5e-156)
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (* NdChar 0.5))
         (if (<= NdChar 3.8e+53)
           (+
            t_0
            (/
             NaChar
             (+
              1.0
              (-
               (+ (/ Ev KbT) (+ (/ EAccept KbT) (+ 1.0 (/ Vef KbT))))
               (/ mu KbT)))))
           (if (<= NdChar 9.5e+277)
             t_1
             (+
              (/ NaChar (+ 1.0 (exp (/ Ev KbT))))
              (/ NdChar (+ 1.0 (exp (/ EDonor KbT))))))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -1e+149) {
		tmp = t_1;
	} else if (NdChar <= -2.06e-10) {
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / (1.0 + exp((Vef / KbT))));
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 3.8e+53) {
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 9.5e+277) {
		tmp = t_1;
	} else {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = t_0 + (nachar / (1.0d0 + ((0.5d0 * (ev * ev)) / (kbt * kbt))))
    if (ndchar <= (-1d+149)) then
        tmp = t_1
    else if (ndchar <= (-2.06d-10)) then
        tmp = (ndchar / (1.0d0 + exp((mu / kbt)))) + (nachar / (1.0d0 + exp((vef / kbt))))
    else if (ndchar <= 8.5d-156) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else if (ndchar <= 3.8d+53) then
        tmp = t_0 + (nachar / (1.0d0 + (((ev / kbt) + ((eaccept / kbt) + (1.0d0 + (vef / kbt)))) - (mu / kbt))))
    else if (ndchar <= 9.5d+277) then
        tmp = t_1
    else
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar / (1.0d0 + exp((edonor / kbt))))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -1e+149) {
		tmp = t_1;
	} else if (NdChar <= -2.06e-10) {
		tmp = (NdChar / (1.0 + Math.exp((mu / KbT)))) + (NaChar / (1.0 + Math.exp((Vef / KbT))));
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 3.8e+53) {
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 9.5e+277) {
		tmp = t_1;
	} else {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))))
	tmp = 0
	if NdChar <= -1e+149:
		tmp = t_1
	elif NdChar <= -2.06e-10:
		tmp = (NdChar / (1.0 + math.exp((mu / KbT)))) + (NaChar / (1.0 + math.exp((Vef / KbT))))
	elif NdChar <= 8.5e-156:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	elif NdChar <= 3.8e+53:
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))))
	elif NdChar <= 9.5e+277:
		tmp = t_1
	else:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(0.5 * Float64(Ev * Ev)) / Float64(KbT * KbT)))))
	tmp = 0.0
	if (NdChar <= -1e+149)
		tmp = t_1;
	elseif (NdChar <= -2.06e-10)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT)))));
	elseif (NdChar <= 8.5e-156)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	elseif (NdChar <= 3.8e+53)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(Float64(Ev / KbT) + Float64(Float64(EAccept / KbT) + Float64(1.0 + Float64(Vef / KbT)))) - Float64(mu / KbT)))));
	elseif (NdChar <= 9.5e+277)
		tmp = t_1;
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	tmp = 0.0;
	if (NdChar <= -1e+149)
		tmp = t_1;
	elseif (NdChar <= -2.06e-10)
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / (1.0 + exp((Vef / KbT))));
	elseif (NdChar <= 8.5e-156)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	elseif (NdChar <= 3.8e+53)
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	elseif (NdChar <= 9.5e+277)
		tmp = t_1;
	else
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(0.5 * N[(Ev * Ev), $MachinePrecision]), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[NdChar, -1e+149], t$95$1, If[LessEqual[NdChar, -2.06e-10], N[(N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 8.5e-156], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 3.8e+53], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(N[(Ev / KbT), $MachinePrecision] + N[(N[(EAccept / KbT), $MachinePrecision] + N[(1.0 + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 9.5e+277], t$95$1, N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\
\mathbf{if}\;NdChar \leq -1 \cdot 10^{+149}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;NdChar \leq -2.06 \cdot 10^{-10}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\

\mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{elif}\;NdChar \leq 3.8 \cdot 10^{+53}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\

\mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if NdChar < -1.00000000000000005e149 or 3.79999999999999997e53 < NdChar < 9.4999999999999997e277

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 74.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 59.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow259.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow259.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified59.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around inf 66.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}}} \]
    9. Step-by-step derivation
      1. associate-*r/66.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\frac{0.5 \cdot {Ev}^{2}}{{KbT}^{2}}}} \]
      2. unpow266.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \color{blue}{\left(Ev \cdot Ev\right)}}{{KbT}^{2}}} \]
      3. unpow266.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{\color{blue}{KbT \cdot KbT}}} \]
    10. Simplified66.8%

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

    if -1.00000000000000005e149 < NdChar < -2.0600000000000001e-10

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 79.4%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in Vef around inf 69.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]

    if -2.0600000000000001e-10 < NdChar < 8.5e-156

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 82.4%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 67.0%

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

    if 8.5e-156 < NdChar < 3.79999999999999997e53

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 67.7%

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

    if 9.4999999999999997e277 < NdChar

    1. Initial program 99.8%

      \[\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. Step-by-step derivation
      1. neg-sub099.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-99.8%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 82.4%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in EDonor around inf 70.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{EDonor}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification67.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -1 \cdot 10^{+149}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{elif}\;NdChar \leq -2.06 \cdot 10^{-10}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 3.8 \cdot 10^{+53}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 9.5 \cdot 10^{+277}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \end{array} \]

Alternative 12: 76.3% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;Vef \leq -1.4 \cdot 10^{+22} \lor \neg \left(Vef \leq 1.95 \cdot 10^{+17}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= Vef -1.4e+22) (not (<= Vef 1.95e+17)))
   (+
    (/ NaChar (+ 1.0 (exp (/ Vef KbT))))
    (/ NdChar (+ 1.0 (exp (/ (+ Vef (+ mu EDonor)) KbT)))))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (/ NdChar (+ 1.0 (exp (/ mu KbT)))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((Vef <= -1.4e+22) || !(Vef <= 1.95e+17)) {
		tmp = (NaChar / (1.0 + exp((Vef / KbT)))) + (NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT))));
	} else {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if ((vef <= (-1.4d+22)) .or. (.not. (vef <= 1.95d+17))) then
        tmp = (nachar / (1.0d0 + exp((vef / kbt)))) + (ndchar / (1.0d0 + exp(((vef + (mu + edonor)) / kbt))))
    else
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / (1.0d0 + exp((mu / kbt))))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((Vef <= -1.4e+22) || !(Vef <= 1.95e+17)) {
		tmp = (NaChar / (1.0 + Math.exp((Vef / KbT)))) + (NdChar / (1.0 + Math.exp(((Vef + (mu + EDonor)) / KbT))));
	} else {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + Math.exp((mu / KbT))));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (Vef <= -1.4e+22) or not (Vef <= 1.95e+17):
		tmp = (NaChar / (1.0 + math.exp((Vef / KbT)))) + (NdChar / (1.0 + math.exp(((Vef + (mu + EDonor)) / KbT))))
	else:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + math.exp((mu / KbT))))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((Vef <= -1.4e+22) || !(Vef <= 1.95e+17))
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(Float64(Vef + Float64(mu + EDonor)) / KbT)))));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((Vef <= -1.4e+22) || ~((Vef <= 1.95e+17)))
		tmp = (NaChar / (1.0 + exp((Vef / KbT)))) + (NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT))));
	else
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[Vef, -1.4e+22], N[Not[LessEqual[Vef, 1.95e+17]], $MachinePrecision]], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(N[(Vef + N[(mu + EDonor), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;Vef \leq -1.4 \cdot 10^{+22} \lor \neg \left(Vef \leq 1.95 \cdot 10^{+17}\right):\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if Vef < -1.4e22 or 1.95e17 < Vef

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 87.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Ec around 0 85.1%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]

    if -1.4e22 < Vef < 1.95e17

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 79.1%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification81.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -1.4 \cdot 10^{+22} \lor \neg \left(Vef \leq 1.95 \cdot 10^{+17}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \end{array} \]

Alternative 13: 59.5% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{if}\;NdChar \leq -5 \cdot 10^{+98}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;NdChar \leq -8.5 \cdot 10^{-14}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 4.5 \cdot 10^{+51}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 1.85 \cdot 10^{+272}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_0 + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1 (+ t_0 (/ NaChar (+ 1.0 (/ (* 0.5 (* Ev Ev)) (* KbT KbT)))))))
   (if (<= NdChar -5e+98)
     t_1
     (if (<= NdChar -8.5e-14)
       (+
        t_0
        (/
         NaChar
         (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (* (/ Ev KbT) (/ Ev KbT))))))))
       (if (<= NdChar 8.5e-156)
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (* NdChar 0.5))
         (if (<= NdChar 4.5e+51)
           (+
            t_0
            (/
             NaChar
             (+
              1.0
              (-
               (+ (/ Ev KbT) (+ (/ EAccept KbT) (+ 1.0 (/ Vef KbT))))
               (/ mu KbT)))))
           (if (<= NdChar 1.85e+272)
             t_1
             (+ t_0 (/ NaChar (+ (/ Vef KbT) 2.0))))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -5e+98) {
		tmp = t_1;
	} else if (NdChar <= -8.5e-14) {
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 4.5e+51) {
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 1.85e+272) {
		tmp = t_1;
	} else {
		tmp = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = t_0 + (nachar / (1.0d0 + ((0.5d0 * (ev * ev)) / (kbt * kbt))))
    if (ndchar <= (-5d+98)) then
        tmp = t_1
    else if (ndchar <= (-8.5d-14)) then
        tmp = t_0 + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev / kbt) * (ev / kbt)))))))
    else if (ndchar <= 8.5d-156) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else if (ndchar <= 4.5d+51) then
        tmp = t_0 + (nachar / (1.0d0 + (((ev / kbt) + ((eaccept / kbt) + (1.0d0 + (vef / kbt)))) - (mu / kbt))))
    else if (ndchar <= 1.85d+272) then
        tmp = t_1
    else
        tmp = t_0 + (nachar / ((vef / kbt) + 2.0d0))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -5e+98) {
		tmp = t_1;
	} else if (NdChar <= -8.5e-14) {
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 4.5e+51) {
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	} else if (NdChar <= 1.85e+272) {
		tmp = t_1;
	} else {
		tmp = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))))
	tmp = 0
	if NdChar <= -5e+98:
		tmp = t_1
	elif NdChar <= -8.5e-14:
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))))
	elif NdChar <= 8.5e-156:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	elif NdChar <= 4.5e+51:
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))))
	elif NdChar <= 1.85e+272:
		tmp = t_1
	else:
		tmp = t_0 + (NaChar / ((Vef / KbT) + 2.0))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(0.5 * Float64(Ev * Ev)) / Float64(KbT * KbT)))))
	tmp = 0.0
	if (NdChar <= -5e+98)
		tmp = t_1;
	elseif (NdChar <= -8.5e-14)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev / KbT) * Float64(Ev / KbT))))))));
	elseif (NdChar <= 8.5e-156)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	elseif (NdChar <= 4.5e+51)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(Float64(Ev / KbT) + Float64(Float64(EAccept / KbT) + Float64(1.0 + Float64(Vef / KbT)))) - Float64(mu / KbT)))));
	elseif (NdChar <= 1.85e+272)
		tmp = t_1;
	else
		tmp = Float64(t_0 + Float64(NaChar / Float64(Float64(Vef / KbT) + 2.0)));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	tmp = 0.0;
	if (NdChar <= -5e+98)
		tmp = t_1;
	elseif (NdChar <= -8.5e-14)
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	elseif (NdChar <= 8.5e-156)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	elseif (NdChar <= 4.5e+51)
		tmp = t_0 + (NaChar / (1.0 + (((Ev / KbT) + ((EAccept / KbT) + (1.0 + (Vef / KbT)))) - (mu / KbT))));
	elseif (NdChar <= 1.85e+272)
		tmp = t_1;
	else
		tmp = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(0.5 * N[(Ev * Ev), $MachinePrecision]), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[NdChar, -5e+98], t$95$1, If[LessEqual[NdChar, -8.5e-14], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev / KbT), $MachinePrecision] * N[(Ev / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 8.5e-156], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 4.5e+51], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(N[(Ev / KbT), $MachinePrecision] + N[(N[(EAccept / KbT), $MachinePrecision] + N[(1.0 + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 1.85e+272], t$95$1, N[(t$95$0 + N[(NaChar / N[(N[(Vef / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\
\mathbf{if}\;NdChar \leq -5 \cdot 10^{+98}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;NdChar \leq -8.5 \cdot 10^{-14}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\

\mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{elif}\;NdChar \leq 4.5 \cdot 10^{+51}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\

\mathbf{elif}\;NdChar \leq 1.85 \cdot 10^{+272}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;t_0 + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if NdChar < -4.9999999999999998e98 or 4.5e51 < NdChar < 1.8499999999999999e272

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 73.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 57.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow257.2%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow257.2%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified57.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around inf 64.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}}} \]
    9. Step-by-step derivation
      1. associate-*r/64.6%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\frac{0.5 \cdot {Ev}^{2}}{{KbT}^{2}}}} \]
      2. unpow264.6%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \color{blue}{\left(Ev \cdot Ev\right)}}{{KbT}^{2}}} \]
      3. unpow264.6%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{\color{blue}{KbT \cdot KbT}}} \]
    10. Simplified64.6%

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

    if -4.9999999999999998e98 < NdChar < -8.50000000000000038e-14

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 74.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around 0 60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \color{blue}{\frac{{Ev}^{2}}{{KbT}^{2}}}\right)\right)} \]
    9. Step-by-step derivation
      1. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
      3. times-frac61.1%

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

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

    if -8.50000000000000038e-14 < NdChar < 8.5e-156

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 83.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 67.6%

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

    if 8.5e-156 < NdChar < 4.5e51

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 67.7%

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

    if 1.8499999999999999e272 < NdChar

    1. Initial program 99.8%

      \[\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. Step-by-step derivation
      1. neg-sub099.8%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-99.8%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 90.8%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Vef around 0 68.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{\color{blue}{2 + \frac{Vef}{KbT}}} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification66.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -5 \cdot 10^{+98}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{elif}\;NdChar \leq -8.5 \cdot 10^{-14}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 4.5 \cdot 10^{+51}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(1 + \frac{Vef}{KbT}\right)\right)\right) - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;NdChar \leq 1.85 \cdot 10^{+272}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \end{array} \]

Alternative 14: 58.9% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{if}\;NdChar \leq -1.45 \cdot 10^{+98}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;NdChar \leq -8.5 \cdot 10^{-12}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 1.35 \cdot 10^{+53}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1 (+ t_0 (/ NaChar (+ 1.0 (/ (* 0.5 (* Ev Ev)) (* KbT KbT)))))))
   (if (<= NdChar -1.45e+98)
     t_1
     (if (<= NdChar -8.5e-12)
       (+
        t_0
        (/
         NaChar
         (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (* (/ Ev KbT) (/ Ev KbT))))))))
       (if (<= NdChar 8.5e-156)
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (* NdChar 0.5))
         (if (<= NdChar 1.35e+53)
           (+ t_0 (/ NaChar (+ 1.0 (- 1.0 (/ mu KbT)))))
           t_1))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -1.45e+98) {
		tmp = t_1;
	} else if (NdChar <= -8.5e-12) {
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 1.35e+53) {
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = t_0 + (nachar / (1.0d0 + ((0.5d0 * (ev * ev)) / (kbt * kbt))))
    if (ndchar <= (-1.45d+98)) then
        tmp = t_1
    else if (ndchar <= (-8.5d-12)) then
        tmp = t_0 + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev / kbt) * (ev / kbt)))))))
    else if (ndchar <= 8.5d-156) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else if (ndchar <= 1.35d+53) then
        tmp = t_0 + (nachar / (1.0d0 + (1.0d0 - (mu / kbt))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -1.45e+98) {
		tmp = t_1;
	} else if (NdChar <= -8.5e-12) {
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	} else if (NdChar <= 8.5e-156) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 1.35e+53) {
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))))
	tmp = 0
	if NdChar <= -1.45e+98:
		tmp = t_1
	elif NdChar <= -8.5e-12:
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))))
	elif NdChar <= 8.5e-156:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	elif NdChar <= 1.35e+53:
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))))
	else:
		tmp = t_1
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(0.5 * Float64(Ev * Ev)) / Float64(KbT * KbT)))))
	tmp = 0.0
	if (NdChar <= -1.45e+98)
		tmp = t_1;
	elseif (NdChar <= -8.5e-12)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev / KbT) * Float64(Ev / KbT))))))));
	elseif (NdChar <= 8.5e-156)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	elseif (NdChar <= 1.35e+53)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(1.0 - Float64(mu / KbT)))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	tmp = 0.0;
	if (NdChar <= -1.45e+98)
		tmp = t_1;
	elseif (NdChar <= -8.5e-12)
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev / KbT) * (Ev / KbT)))))));
	elseif (NdChar <= 8.5e-156)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	elseif (NdChar <= 1.35e+53)
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(0.5 * N[(Ev * Ev), $MachinePrecision]), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[NdChar, -1.45e+98], t$95$1, If[LessEqual[NdChar, -8.5e-12], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev / KbT), $MachinePrecision] * N[(Ev / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 8.5e-156], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 1.35e+53], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(1.0 - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\
\mathbf{if}\;NdChar \leq -1.45 \cdot 10^{+98}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;NdChar \leq -8.5 \cdot 10^{-12}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\

\mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{elif}\;NdChar \leq 1.35 \cdot 10^{+53}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\

\mathbf{else}:\\
\;\;\;\;t_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if NdChar < -1.45000000000000005e98 or 1.3500000000000001e53 < NdChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 74.3%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 56.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow256.6%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow256.6%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified56.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around inf 64.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}}} \]
    9. Step-by-step derivation
      1. associate-*r/64.2%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\frac{0.5 \cdot {Ev}^{2}}{{KbT}^{2}}}} \]
      2. unpow264.2%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \color{blue}{\left(Ev \cdot Ev\right)}}{{KbT}^{2}}} \]
      3. unpow264.2%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{\color{blue}{KbT \cdot KbT}}} \]
    10. Simplified64.2%

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

    if -1.45000000000000005e98 < NdChar < -8.4999999999999997e-12

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 74.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around 0 60.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \color{blue}{\frac{{Ev}^{2}}{{KbT}^{2}}}\right)\right)} \]
    9. Step-by-step derivation
      1. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow260.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
      3. times-frac61.1%

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

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

    if -8.4999999999999997e-12 < NdChar < 8.5e-156

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 83.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 67.6%

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

    if 8.5e-156 < NdChar < 1.3500000000000001e53

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 83.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-1 \cdot \frac{mu}{KbT}}}} \]
    5. Step-by-step derivation
      1. neg-mul-183.1%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-\frac{mu}{KbT}}}} \]
      2. distribute-neg-frac83.1%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    6. Simplified83.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    7. Taylor expanded in mu around 0 65.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 + -1 \cdot \frac{mu}{KbT}\right)}} \]
    8. Step-by-step derivation
      1. mul-1-neg65.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 + \color{blue}{\left(-\frac{mu}{KbT}\right)}\right)} \]
      2. unsub-neg65.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 - \frac{mu}{KbT}\right)}} \]
    9. Simplified65.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 - \frac{mu}{KbT}\right)}} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification65.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -1.45 \cdot 10^{+98}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{elif}\;NdChar \leq -8.5 \cdot 10^{-12}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \left(\frac{Ev}{KbT} \cdot \frac{Ev}{KbT}\right)\right)\right)}\\ \mathbf{elif}\;NdChar \leq 8.5 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 1.35 \cdot 10^{+53}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \end{array} \]

Alternative 15: 58.7% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{if}\;NdChar \leq -4.3 \cdot 10^{+89}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;NdChar \leq -5.5 \cdot 10^{-14}:\\ \;\;\;\;t_0 + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;NdChar \leq 5.8 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 7 \cdot 10^{+52}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1 (+ t_0 (/ NaChar (+ 1.0 (/ (* 0.5 (* Ev Ev)) (* KbT KbT)))))))
   (if (<= NdChar -4.3e+89)
     t_1
     (if (<= NdChar -5.5e-14)
       (+ t_0 (/ NaChar (+ (/ Vef KbT) 2.0)))
       (if (<= NdChar 5.8e-156)
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (* NdChar 0.5))
         (if (<= NdChar 7e+52)
           (+ t_0 (/ NaChar (+ 1.0 (- 1.0 (/ mu KbT)))))
           t_1))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -4.3e+89) {
		tmp = t_1;
	} else if (NdChar <= -5.5e-14) {
		tmp = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	} else if (NdChar <= 5.8e-156) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 7e+52) {
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = t_0 + (nachar / (1.0d0 + ((0.5d0 * (ev * ev)) / (kbt * kbt))))
    if (ndchar <= (-4.3d+89)) then
        tmp = t_1
    else if (ndchar <= (-5.5d-14)) then
        tmp = t_0 + (nachar / ((vef / kbt) + 2.0d0))
    else if (ndchar <= 5.8d-156) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else if (ndchar <= 7d+52) then
        tmp = t_0 + (nachar / (1.0d0 + (1.0d0 - (mu / kbt))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	double tmp;
	if (NdChar <= -4.3e+89) {
		tmp = t_1;
	} else if (NdChar <= -5.5e-14) {
		tmp = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	} else if (NdChar <= 5.8e-156) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 7e+52) {
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))))
	tmp = 0
	if NdChar <= -4.3e+89:
		tmp = t_1
	elif NdChar <= -5.5e-14:
		tmp = t_0 + (NaChar / ((Vef / KbT) + 2.0))
	elif NdChar <= 5.8e-156:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	elif NdChar <= 7e+52:
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))))
	else:
		tmp = t_1
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(0.5 * Float64(Ev * Ev)) / Float64(KbT * KbT)))))
	tmp = 0.0
	if (NdChar <= -4.3e+89)
		tmp = t_1;
	elseif (NdChar <= -5.5e-14)
		tmp = Float64(t_0 + Float64(NaChar / Float64(Float64(Vef / KbT) + 2.0)));
	elseif (NdChar <= 5.8e-156)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	elseif (NdChar <= 7e+52)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(1.0 - Float64(mu / KbT)))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = t_0 + (NaChar / (1.0 + ((0.5 * (Ev * Ev)) / (KbT * KbT))));
	tmp = 0.0;
	if (NdChar <= -4.3e+89)
		tmp = t_1;
	elseif (NdChar <= -5.5e-14)
		tmp = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	elseif (NdChar <= 5.8e-156)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	elseif (NdChar <= 7e+52)
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(0.5 * N[(Ev * Ev), $MachinePrecision]), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[NdChar, -4.3e+89], t$95$1, If[LessEqual[NdChar, -5.5e-14], N[(t$95$0 + N[(NaChar / N[(N[(Vef / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 5.8e-156], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 7e+52], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(1.0 - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := t_0 + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\
\mathbf{if}\;NdChar \leq -4.3 \cdot 10^{+89}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;NdChar \leq -5.5 \cdot 10^{-14}:\\
\;\;\;\;t_0 + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\

\mathbf{elif}\;NdChar \leq 5.8 \cdot 10^{-156}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{elif}\;NdChar \leq 7 \cdot 10^{+52}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\

\mathbf{else}:\\
\;\;\;\;t_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if NdChar < -4.3000000000000002e89 or 7e52 < NdChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 74.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in Ev around 0 56.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}\right)\right)}} \]
    6. Step-by-step derivation
      1. unpow256.5%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow256.5%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified56.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}} \]
    8. Taylor expanded in Ev around inf 63.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{0.5 \cdot \frac{{Ev}^{2}}{{KbT}^{2}}}} \]
    9. Step-by-step derivation
      1. associate-*r/63.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\frac{0.5 \cdot {Ev}^{2}}{{KbT}^{2}}}} \]
      2. unpow263.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \color{blue}{\left(Ev \cdot Ev\right)}}{{KbT}^{2}}} \]
      3. unpow263.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{\color{blue}{KbT \cdot KbT}}} \]
    10. Simplified63.9%

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

    if -4.3000000000000002e89 < NdChar < -5.49999999999999991e-14

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 93.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Vef around 0 72.3%

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

    if -5.49999999999999991e-14 < NdChar < 5.80000000000000041e-156

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 83.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 67.6%

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

    if 5.80000000000000041e-156 < NdChar < 7e52

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 83.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-1 \cdot \frac{mu}{KbT}}}} \]
    5. Step-by-step derivation
      1. neg-mul-183.1%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-\frac{mu}{KbT}}}} \]
      2. distribute-neg-frac83.1%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    6. Simplified83.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    7. Taylor expanded in mu around 0 65.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 + -1 \cdot \frac{mu}{KbT}\right)}} \]
    8. Step-by-step derivation
      1. mul-1-neg65.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 + \color{blue}{\left(-\frac{mu}{KbT}\right)}\right)} \]
      2. unsub-neg65.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 - \frac{mu}{KbT}\right)}} \]
    9. Simplified65.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 - \frac{mu}{KbT}\right)}} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification66.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -4.3 \cdot 10^{+89}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \mathbf{elif}\;NdChar \leq -5.5 \cdot 10^{-14}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;NdChar \leq 5.8 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 7 \cdot 10^{+52}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \frac{0.5 \cdot \left(Ev \cdot Ev\right)}{KbT \cdot KbT}}\\ \end{array} \]

Alternative 16: 60.2% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_1 := t_0 + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{if}\;NdChar \leq -1.65 \cdot 10^{-11}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;NdChar \leq 3.75 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 2.9 \cdot 10^{+31}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_1 (+ t_0 (/ NaChar (+ (/ Vef KbT) 2.0)))))
   (if (<= NdChar -1.65e-11)
     t_1
     (if (<= NdChar 3.75e-156)
       (+
        (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
        (* NdChar 0.5))
       (if (<= NdChar 2.9e+31)
         (+ t_0 (/ NaChar (+ 1.0 (- 1.0 (/ mu KbT)))))
         t_1)))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	double tmp;
	if (NdChar <= -1.65e-11) {
		tmp = t_1;
	} else if (NdChar <= 3.75e-156) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 2.9e+31) {
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_1 = t_0 + (nachar / ((vef / kbt) + 2.0d0))
    if (ndchar <= (-1.65d-11)) then
        tmp = t_1
    else if (ndchar <= 3.75d-156) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else if (ndchar <= 2.9d+31) then
        tmp = t_0 + (nachar / (1.0d0 + (1.0d0 - (mu / kbt))))
    else
        tmp = t_1
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_1 = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	double tmp;
	if (NdChar <= -1.65e-11) {
		tmp = t_1;
	} else if (NdChar <= 3.75e-156) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else if (NdChar <= 2.9e+31) {
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_1 = t_0 + (NaChar / ((Vef / KbT) + 2.0))
	tmp = 0
	if NdChar <= -1.65e-11:
		tmp = t_1
	elif NdChar <= 3.75e-156:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	elif NdChar <= 2.9e+31:
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))))
	else:
		tmp = t_1
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT))))
	t_1 = Float64(t_0 + Float64(NaChar / Float64(Float64(Vef / KbT) + 2.0)))
	tmp = 0.0
	if (NdChar <= -1.65e-11)
		tmp = t_1;
	elseif (NdChar <= 3.75e-156)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	elseif (NdChar <= 2.9e+31)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(1.0 - Float64(mu / KbT)))));
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_1 = t_0 + (NaChar / ((Vef / KbT) + 2.0));
	tmp = 0.0;
	if (NdChar <= -1.65e-11)
		tmp = t_1;
	elseif (NdChar <= 3.75e-156)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	elseif (NdChar <= 2.9e+31)
		tmp = t_0 + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	else
		tmp = t_1;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NaChar / N[(N[(Vef / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[NdChar, -1.65e-11], t$95$1, If[LessEqual[NdChar, 3.75e-156], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[NdChar, 2.9e+31], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(1.0 - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_1 := t_0 + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\
\mathbf{if}\;NdChar \leq -1.65 \cdot 10^{-11}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;NdChar \leq 3.75 \cdot 10^{-156}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{elif}\;NdChar \leq 2.9 \cdot 10^{+31}:\\
\;\;\;\;t_0 + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\

\mathbf{else}:\\
\;\;\;\;t_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if NdChar < -1.6500000000000001e-11 or 2.9e31 < NdChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 82.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Vef around 0 64.5%

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

    if -1.6500000000000001e-11 < NdChar < 3.74999999999999979e-156

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 83.2%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 67.6%

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

    if 3.74999999999999979e-156 < NdChar < 2.9e31

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 84.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-1 \cdot \frac{mu}{KbT}}}} \]
    5. Step-by-step derivation
      1. neg-mul-184.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-\frac{mu}{KbT}}}} \]
      2. distribute-neg-frac84.7%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    6. Simplified84.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    7. Taylor expanded in mu around 0 68.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 + -1 \cdot \frac{mu}{KbT}\right)}} \]
    8. Step-by-step derivation
      1. mul-1-neg68.2%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 + \color{blue}{\left(-\frac{mu}{KbT}\right)}\right)} \]
      2. unsub-neg68.2%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 - \frac{mu}{KbT}\right)}} \]
    9. Simplified68.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 - \frac{mu}{KbT}\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification66.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -1.65 \cdot 10^{-11}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;NdChar \leq 3.75 \cdot 10^{-156}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{elif}\;NdChar \leq 2.9 \cdot 10^{+31}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \end{array} \]

Alternative 17: 60.1% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NaChar \leq -4.5 \cdot 10^{-116} \lor \neg \left(NaChar \leq 3.4 \cdot 10^{+69}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= NaChar -4.5e-116) (not (<= NaChar 3.4e+69)))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (* NdChar 0.5))
   (+
    (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
    (/ NaChar (+ (/ Vef KbT) 2.0)))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NaChar <= -4.5e-116) || !(NaChar <= 3.4e+69)) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if ((nachar <= (-4.5d-116)) .or. (.not. (nachar <= 3.4d+69))) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    else
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / ((vef / kbt) + 2.0d0))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NaChar <= -4.5e-116) || !(NaChar <= 3.4e+69)) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	} else {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (NaChar <= -4.5e-116) or not (NaChar <= 3.4e+69):
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	else:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((NaChar <= -4.5e-116) || !(NaChar <= 3.4e+69))
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	else
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(Float64(Vef / KbT) + 2.0)));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((NaChar <= -4.5e-116) || ~((NaChar <= 3.4e+69)))
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	else
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[NaChar, -4.5e-116], N[Not[LessEqual[NaChar, 3.4e+69]], $MachinePrecision]], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision], N[(N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(N[(Vef / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NaChar \leq -4.5 \cdot 10^{-116} \lor \neg \left(NaChar \leq 3.4 \cdot 10^{+69}\right):\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\

\mathbf{else}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NaChar < -4.50000000000000012e-116 or 3.39999999999999986e69 < NaChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 78.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 59.2%

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

    if -4.50000000000000012e-116 < NaChar < 3.39999999999999986e69

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 78.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in Vef around 0 70.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{\color{blue}{2 + \frac{Vef}{KbT}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification64.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NaChar \leq -4.5 \cdot 10^{-116} \lor \neg \left(NaChar \leq 3.4 \cdot 10^{+69}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \end{array} \]

Alternative 18: 49.5% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NdChar \leq -1.35 \cdot 10^{+149} \lor \neg \left(NdChar \leq 2.05 \cdot 10^{-38}\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= NdChar -1.35e+149) (not (<= NdChar 2.05e-38)))
   (/ NdChar (+ 1.0 (exp (/ (- Ec) KbT))))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (* NdChar 0.5))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NdChar <= -1.35e+149) || !(NdChar <= 2.05e-38)) {
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	} else {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if ((ndchar <= (-1.35d+149)) .or. (.not. (ndchar <= 2.05d-38))) then
        tmp = ndchar / (1.0d0 + exp((-ec / kbt)))
    else
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NdChar <= -1.35e+149) || !(NdChar <= 2.05e-38)) {
		tmp = NdChar / (1.0 + Math.exp((-Ec / KbT)));
	} else {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (NdChar <= -1.35e+149) or not (NdChar <= 2.05e-38):
		tmp = NdChar / (1.0 + math.exp((-Ec / KbT)))
	else:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((NdChar <= -1.35e+149) || !(NdChar <= 2.05e-38))
		tmp = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Ec) / KbT))));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((NdChar <= -1.35e+149) || ~((NdChar <= 2.05e-38)))
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	else
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[NdChar, -1.35e+149], N[Not[LessEqual[NdChar, 2.05e-38]], $MachinePrecision]], N[(NdChar / N[(1.0 + N[Exp[N[((-Ec) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NdChar \leq -1.35 \cdot 10^{+149} \lor \neg \left(NdChar \leq 2.05 \cdot 10^{-38}\right):\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NdChar < -1.35e149 or 2.0499999999999999e-38 < NdChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 57.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around inf 40.1%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    6. Step-by-step derivation
      1. mul-1-neg40.1%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac40.1%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified40.1%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    8. Taylor expanded in NdChar around inf 48.6%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{-1 \cdot \frac{Ec}{KbT}}}} \]
    9. Step-by-step derivation
      1. mul-1-neg48.6%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} \]
      2. distribute-frac-neg48.6%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} \]
    10. Simplified48.6%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}} \]

    if -1.35e149 < NdChar < 2.0499999999999999e-38

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 80.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 60.0%

      \[\leadsto \color{blue}{0.5 \cdot NdChar} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification55.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -1.35 \cdot 10^{+149} \lor \neg \left(NdChar \leq 2.05 \cdot 10^{-38}\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \end{array} \]

Alternative 19: 54.7% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NdChar \leq -1.6 \cdot 10^{+14} \lor \neg \left(NdChar \leq 4 \cdot 10^{-42}\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}} + \frac{NaChar}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= NdChar -1.6e+14) (not (<= NdChar 4e-42)))
   (+ (/ NdChar (+ 1.0 (exp (/ (+ Vef (+ mu EDonor)) KbT)))) (/ NaChar 2.0))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (* NdChar 0.5))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NdChar <= -1.6e+14) || !(NdChar <= 4e-42)) {
		tmp = (NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT)))) + (NaChar / 2.0);
	} else {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if ((ndchar <= (-1.6d+14)) .or. (.not. (ndchar <= 4d-42))) then
        tmp = (ndchar / (1.0d0 + exp(((vef + (mu + edonor)) / kbt)))) + (nachar / 2.0d0)
    else
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NdChar <= -1.6e+14) || !(NdChar <= 4e-42)) {
		tmp = (NdChar / (1.0 + Math.exp(((Vef + (mu + EDonor)) / KbT)))) + (NaChar / 2.0);
	} else {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (NdChar <= -1.6e+14) or not (NdChar <= 4e-42):
		tmp = (NdChar / (1.0 + math.exp(((Vef + (mu + EDonor)) / KbT)))) + (NaChar / 2.0)
	else:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((NdChar <= -1.6e+14) || !(NdChar <= 4e-42))
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(Vef + Float64(mu + EDonor)) / KbT)))) + Float64(NaChar / 2.0));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((NdChar <= -1.6e+14) || ~((NdChar <= 4e-42)))
		tmp = (NdChar / (1.0 + exp(((Vef + (mu + EDonor)) / KbT)))) + (NaChar / 2.0);
	else
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[NdChar, -1.6e+14], N[Not[LessEqual[NdChar, 4e-42]], $MachinePrecision]], N[(N[(NdChar / N[(1.0 + N[Exp[N[(N[(Vef + N[(mu + EDonor), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / 2.0), $MachinePrecision]), $MachinePrecision], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NdChar \leq -1.6 \cdot 10^{+14} \lor \neg \left(NdChar \leq 4 \cdot 10^{-42}\right):\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}} + \frac{NaChar}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NdChar < -1.6e14 or 4.00000000000000015e-42 < NdChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 59.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around 0 54.5%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + 1} \]

    if -1.6e14 < NdChar < 4.00000000000000015e-42

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 80.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 61.9%

      \[\leadsto \color{blue}{0.5 \cdot NdChar} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification58.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -1.6 \cdot 10^{+14} \lor \neg \left(NdChar \leq 4 \cdot 10^{-42}\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}}} + \frac{NaChar}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \end{array} \]

Alternative 20: 56.5% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NdChar \leq -750000000000 \lor \neg \left(NdChar \leq 1.7 \cdot 10^{-152}\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= NdChar -750000000000.0) (not (<= NdChar 1.7e-152)))
   (+
    (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
    (/ NaChar 2.0))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (* NdChar 0.5))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NdChar <= -750000000000.0) || !(NdChar <= 1.7e-152)) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / 2.0);
	} else {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if ((ndchar <= (-750000000000.0d0)) .or. (.not. (ndchar <= 1.7d-152))) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / 2.0d0)
    else
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar * 0.5d0)
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NdChar <= -750000000000.0) || !(NdChar <= 1.7e-152)) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / 2.0);
	} else {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (NdChar <= -750000000000.0) or not (NdChar <= 1.7e-152):
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / 2.0)
	else:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5)
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((NdChar <= -750000000000.0) || !(NdChar <= 1.7e-152))
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / 2.0));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar * 0.5));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((NdChar <= -750000000000.0) || ~((NdChar <= 1.7e-152)))
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / 2.0);
	else
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar * 0.5);
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[NdChar, -750000000000.0], N[Not[LessEqual[NdChar, 1.7e-152]], $MachinePrecision]], N[(N[(NdChar / N[(1.0 + N[Exp[N[(N[(mu + N[(N[(Vef + EDonor), $MachinePrecision] - Ec), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / 2.0), $MachinePrecision]), $MachinePrecision], N[(N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * 0.5), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NdChar \leq -750000000000 \lor \neg \left(NdChar \leq 1.7 \cdot 10^{-152}\right):\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NdChar < -7.5e11 or 1.69999999999999992e-152 < NdChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 59.1%

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

    if -7.5e11 < NdChar < 1.69999999999999992e-152

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 82.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in mu around 0 64.2%

      \[\leadsto \color{blue}{0.5 \cdot NdChar} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification61.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NdChar \leq -750000000000 \lor \neg \left(NdChar \leq 1.7 \cdot 10^{-152}\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + NdChar \cdot 0.5\\ \end{array} \]

Alternative 21: 40.8% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{if}\;KbT \leq -6.5 \cdot 10^{-21}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + NaChar \cdot 0.5\\ \mathbf{elif}\;KbT \leq -3.3 \cdot 10^{-264}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;KbT \leq 1.7 \cdot 10^{-174}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + NdChar \cdot \frac{KbT}{Vef}\\ \mathbf{elif}\;KbT \leq 1.15 \cdot 10^{+103}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (- Ec) KbT))))))
   (if (<= KbT -6.5e-21)
     (+ (/ NdChar (+ 1.0 (exp (/ mu KbT)))) (* NaChar 0.5))
     (if (<= KbT -3.3e-264)
       t_0
       (if (<= KbT 1.7e-174)
         (+ (/ NaChar (+ 1.0 (exp (/ Ev KbT)))) (* NdChar (/ KbT Vef)))
         (if (<= KbT 1.15e+103)
           t_0
           (+ (/ NdChar (+ 1.0 (exp (/ EDonor KbT)))) (/ NaChar 2.0))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp((-Ec / KbT)));
	double tmp;
	if (KbT <= -6.5e-21) {
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar * 0.5);
	} else if (KbT <= -3.3e-264) {
		tmp = t_0;
	} else if (KbT <= 1.7e-174) {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar * (KbT / Vef));
	} else if (KbT <= 1.15e+103) {
		tmp = t_0;
	} else {
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / 2.0);
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp((-ec / kbt)))
    if (kbt <= (-6.5d-21)) then
        tmp = (ndchar / (1.0d0 + exp((mu / kbt)))) + (nachar * 0.5d0)
    else if (kbt <= (-3.3d-264)) then
        tmp = t_0
    else if (kbt <= 1.7d-174) then
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar * (kbt / vef))
    else if (kbt <= 1.15d+103) then
        tmp = t_0
    else
        tmp = (ndchar / (1.0d0 + exp((edonor / kbt)))) + (nachar / 2.0d0)
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp((-Ec / KbT)));
	double tmp;
	if (KbT <= -6.5e-21) {
		tmp = (NdChar / (1.0 + Math.exp((mu / KbT)))) + (NaChar * 0.5);
	} else if (KbT <= -3.3e-264) {
		tmp = t_0;
	} else if (KbT <= 1.7e-174) {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar * (KbT / Vef));
	} else if (KbT <= 1.15e+103) {
		tmp = t_0;
	} else {
		tmp = (NdChar / (1.0 + Math.exp((EDonor / KbT)))) + (NaChar / 2.0);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp((-Ec / KbT)))
	tmp = 0
	if KbT <= -6.5e-21:
		tmp = (NdChar / (1.0 + math.exp((mu / KbT)))) + (NaChar * 0.5)
	elif KbT <= -3.3e-264:
		tmp = t_0
	elif KbT <= 1.7e-174:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar * (KbT / Vef))
	elif KbT <= 1.15e+103:
		tmp = t_0
	else:
		tmp = (NdChar / (1.0 + math.exp((EDonor / KbT)))) + (NaChar / 2.0)
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Ec) / KbT))))
	tmp = 0.0
	if (KbT <= -6.5e-21)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))) + Float64(NaChar * 0.5));
	elseif (KbT <= -3.3e-264)
		tmp = t_0;
	elseif (KbT <= 1.7e-174)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar * Float64(KbT / Vef)));
	elseif (KbT <= 1.15e+103)
		tmp = t_0;
	else
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))) + Float64(NaChar / 2.0));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp((-Ec / KbT)));
	tmp = 0.0;
	if (KbT <= -6.5e-21)
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar * 0.5);
	elseif (KbT <= -3.3e-264)
		tmp = t_0;
	elseif (KbT <= 1.7e-174)
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar * (KbT / Vef));
	elseif (KbT <= 1.15e+103)
		tmp = t_0;
	else
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / 2.0);
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[((-Ec) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[KbT, -6.5e-21], N[(N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[KbT, -3.3e-264], t$95$0, If[LessEqual[KbT, 1.7e-174], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * N[(KbT / Vef), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[KbT, 1.15e+103], t$95$0, N[(N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / 2.0), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\
\mathbf{if}\;KbT \leq -6.5 \cdot 10^{-21}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + NaChar \cdot 0.5\\

\mathbf{elif}\;KbT \leq -3.3 \cdot 10^{-264}:\\
\;\;\;\;t_0\\

\mathbf{elif}\;KbT \leq 1.7 \cdot 10^{-174}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + NdChar \cdot \frac{KbT}{Vef}\\

\mathbf{elif}\;KbT \leq 1.15 \cdot 10^{+103}:\\
\;\;\;\;t_0\\

\mathbf{else}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{2}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if KbT < -6.49999999999999987e-21

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 81.0%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in Vef around inf 59.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    6. Taylor expanded in Vef around 0 54.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \color{blue}{0.5 \cdot NaChar} \]

    if -6.49999999999999987e-21 < KbT < -3.30000000000000013e-264 or 1.7000000000000001e-174 < KbT < 1.15000000000000004e103

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 41.4%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around inf 32.9%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    6. Step-by-step derivation
      1. mul-1-neg32.9%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac32.9%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified32.9%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    8. Taylor expanded in NdChar around inf 43.2%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{-1 \cdot \frac{Ec}{KbT}}}} \]
    9. Step-by-step derivation
      1. mul-1-neg43.2%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} \]
      2. distribute-frac-neg43.2%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} \]
    10. Simplified43.2%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}} \]

    if -3.30000000000000013e-264 < KbT < 1.7000000000000001e-174

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 58.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in KbT around inf 35.0%

      \[\leadsto \frac{NdChar}{\color{blue}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{Vef}{KbT} + \frac{EDonor}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    6. Taylor expanded in Vef around inf 41.2%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*38.7%

        \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    8. Simplified38.7%

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    9. Step-by-step derivation
      1. associate-/r/41.2%

        \[\leadsto \color{blue}{\frac{KbT}{Vef} \cdot NdChar} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    10. Applied egg-rr41.2%

      \[\leadsto \color{blue}{\frac{KbT}{Vef} \cdot NdChar} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]

    if 1.15000000000000004e103 < KbT

    1. Initial program 99.9%

      \[\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. Step-by-step derivation
      1. neg-sub099.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-99.9%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 74.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in EDonor around inf 65.6%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{EDonor}{KbT}}}} + \frac{NaChar}{1 + 1} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification48.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;KbT \leq -6.5 \cdot 10^{-21}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + NaChar \cdot 0.5\\ \mathbf{elif}\;KbT \leq -3.3 \cdot 10^{-264}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{elif}\;KbT \leq 1.7 \cdot 10^{-174}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + NdChar \cdot \frac{KbT}{Vef}\\ \mathbf{elif}\;KbT \leq 1.15 \cdot 10^{+103}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{2}\\ \end{array} \]

Alternative 22: 40.1% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{if}\;KbT \leq -2.3 \cdot 10^{-103}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;KbT \leq -9.2 \cdot 10^{-265}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;KbT \leq 6.5 \cdot 10^{-177}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + NdChar \cdot \frac{KbT}{Vef}\\ \mathbf{elif}\;KbT \leq 3.4 \cdot 10^{+101}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0 (/ NdChar (+ 1.0 (exp (/ (- Ec) KbT))))))
   (if (<= KbT -2.3e-103)
     (+ (/ NdChar (+ 1.0 (exp (/ mu KbT)))) (/ NaChar (+ (/ Vef KbT) 2.0)))
     (if (<= KbT -9.2e-265)
       t_0
       (if (<= KbT 6.5e-177)
         (+ (/ NaChar (+ 1.0 (exp (/ Ev KbT)))) (* NdChar (/ KbT Vef)))
         (if (<= KbT 3.4e+101)
           t_0
           (+ (/ NdChar (+ 1.0 (exp (/ EDonor KbT)))) (/ NaChar 2.0))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + exp((-Ec / KbT)));
	double tmp;
	if (KbT <= -2.3e-103) {
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	} else if (KbT <= -9.2e-265) {
		tmp = t_0;
	} else if (KbT <= 6.5e-177) {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar * (KbT / Vef));
	} else if (KbT <= 3.4e+101) {
		tmp = t_0;
	} else {
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / 2.0);
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: t_0
    real(8) :: tmp
    t_0 = ndchar / (1.0d0 + exp((-ec / kbt)))
    if (kbt <= (-2.3d-103)) then
        tmp = (ndchar / (1.0d0 + exp((mu / kbt)))) + (nachar / ((vef / kbt) + 2.0d0))
    else if (kbt <= (-9.2d-265)) then
        tmp = t_0
    else if (kbt <= 6.5d-177) then
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar * (kbt / vef))
    else if (kbt <= 3.4d+101) then
        tmp = t_0
    else
        tmp = (ndchar / (1.0d0 + exp((edonor / kbt)))) + (nachar / 2.0d0)
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double t_0 = NdChar / (1.0 + Math.exp((-Ec / KbT)));
	double tmp;
	if (KbT <= -2.3e-103) {
		tmp = (NdChar / (1.0 + Math.exp((mu / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	} else if (KbT <= -9.2e-265) {
		tmp = t_0;
	} else if (KbT <= 6.5e-177) {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar * (KbT / Vef));
	} else if (KbT <= 3.4e+101) {
		tmp = t_0;
	} else {
		tmp = (NdChar / (1.0 + Math.exp((EDonor / KbT)))) + (NaChar / 2.0);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = NdChar / (1.0 + math.exp((-Ec / KbT)))
	tmp = 0
	if KbT <= -2.3e-103:
		tmp = (NdChar / (1.0 + math.exp((mu / KbT)))) + (NaChar / ((Vef / KbT) + 2.0))
	elif KbT <= -9.2e-265:
		tmp = t_0
	elif KbT <= 6.5e-177:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar * (KbT / Vef))
	elif KbT <= 3.4e+101:
		tmp = t_0
	else:
		tmp = (NdChar / (1.0 + math.exp((EDonor / KbT)))) + (NaChar / 2.0)
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Ec) / KbT))))
	tmp = 0.0
	if (KbT <= -2.3e-103)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))) + Float64(NaChar / Float64(Float64(Vef / KbT) + 2.0)));
	elseif (KbT <= -9.2e-265)
		tmp = t_0;
	elseif (KbT <= 6.5e-177)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar * Float64(KbT / Vef)));
	elseif (KbT <= 3.4e+101)
		tmp = t_0;
	else
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))) + Float64(NaChar / 2.0));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = NdChar / (1.0 + exp((-Ec / KbT)));
	tmp = 0.0;
	if (KbT <= -2.3e-103)
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	elseif (KbT <= -9.2e-265)
		tmp = t_0;
	elseif (KbT <= 6.5e-177)
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar * (KbT / Vef));
	elseif (KbT <= 3.4e+101)
		tmp = t_0;
	else
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / 2.0);
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NdChar / N[(1.0 + N[Exp[N[((-Ec) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[KbT, -2.3e-103], N[(N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(N[(Vef / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[KbT, -9.2e-265], t$95$0, If[LessEqual[KbT, 6.5e-177], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar * N[(KbT / Vef), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[KbT, 3.4e+101], t$95$0, N[(N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / 2.0), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\
\mathbf{if}\;KbT \leq -2.3 \cdot 10^{-103}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\

\mathbf{elif}\;KbT \leq -9.2 \cdot 10^{-265}:\\
\;\;\;\;t_0\\

\mathbf{elif}\;KbT \leq 6.5 \cdot 10^{-177}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + NdChar \cdot \frac{KbT}{Vef}\\

\mathbf{elif}\;KbT \leq 3.4 \cdot 10^{+101}:\\
\;\;\;\;t_0\\

\mathbf{else}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{2}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if KbT < -2.3000000000000001e-103

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 79.7%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
    5. Taylor expanded in Vef around inf 55.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    6. Taylor expanded in Vef around 0 52.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{\color{blue}{2 + \frac{Vef}{KbT}}} \]

    if -2.3000000000000001e-103 < KbT < -9.1999999999999996e-265 or 6.4999999999999998e-177 < KbT < 3.40000000000000017e101

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 41.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around inf 34.7%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    6. Step-by-step derivation
      1. mul-1-neg34.7%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac34.7%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified34.7%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    8. Taylor expanded in NdChar around inf 45.1%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{-1 \cdot \frac{Ec}{KbT}}}} \]
    9. Step-by-step derivation
      1. mul-1-neg45.1%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} \]
      2. distribute-frac-neg45.1%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} \]
    10. Simplified45.1%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}} \]

    if -9.1999999999999996e-265 < KbT < 6.4999999999999998e-177

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 58.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in KbT around inf 35.0%

      \[\leadsto \frac{NdChar}{\color{blue}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{Vef}{KbT} + \frac{EDonor}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    6. Taylor expanded in Vef around inf 41.2%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*38.7%

        \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    8. Simplified38.7%

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    9. Step-by-step derivation
      1. associate-/r/41.2%

        \[\leadsto \color{blue}{\frac{KbT}{Vef} \cdot NdChar} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]
    10. Applied egg-rr41.2%

      \[\leadsto \color{blue}{\frac{KbT}{Vef} \cdot NdChar} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]

    if 3.40000000000000017e101 < KbT

    1. Initial program 99.9%

      \[\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. Step-by-step derivation
      1. neg-sub099.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-99.9%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 74.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in EDonor around inf 65.6%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{EDonor}{KbT}}}} + \frac{NaChar}{1 + 1} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification49.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;KbT \leq -2.3 \cdot 10^{-103}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;KbT \leq -9.2 \cdot 10^{-265}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{elif}\;KbT \leq 6.5 \cdot 10^{-177}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + NdChar \cdot \frac{KbT}{Vef}\\ \mathbf{elif}\;KbT \leq 3.4 \cdot 10^{+101}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{2}\\ \end{array} \]

Alternative 23: 40.4% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NaChar \leq -9.2 \cdot 10^{-116}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;NaChar \leq 8.5 \cdot 10^{+77}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{-\frac{mu}{KbT}}} + \frac{NdChar}{2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (<= NaChar -9.2e-116)
   (+ (/ NaChar (+ 1.0 (exp (/ Ev KbT)))) (/ NdChar 2.0))
   (if (<= NaChar 8.5e+77)
     (/ NdChar (+ 1.0 (exp (/ (- Ec) KbT))))
     (+ (/ NaChar (+ 1.0 (exp (- (/ mu KbT))))) (/ NdChar 2.0)))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if (NaChar <= -9.2e-116) {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	} else if (NaChar <= 8.5e+77) {
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	} else {
		tmp = (NaChar / (1.0 + exp(-(mu / KbT)))) + (NdChar / 2.0);
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if (nachar <= (-9.2d-116)) then
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar / 2.0d0)
    else if (nachar <= 8.5d+77) then
        tmp = ndchar / (1.0d0 + exp((-ec / kbt)))
    else
        tmp = (nachar / (1.0d0 + exp(-(mu / kbt)))) + (ndchar / 2.0d0)
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if (NaChar <= -9.2e-116) {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / 2.0);
	} else if (NaChar <= 8.5e+77) {
		tmp = NdChar / (1.0 + Math.exp((-Ec / KbT)));
	} else {
		tmp = (NaChar / (1.0 + Math.exp(-(mu / KbT)))) + (NdChar / 2.0);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if NaChar <= -9.2e-116:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / 2.0)
	elif NaChar <= 8.5e+77:
		tmp = NdChar / (1.0 + math.exp((-Ec / KbT)))
	else:
		tmp = (NaChar / (1.0 + math.exp(-(mu / KbT)))) + (NdChar / 2.0)
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if (NaChar <= -9.2e-116)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar / 2.0));
	elseif (NaChar <= 8.5e+77)
		tmp = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Ec) / KbT))));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(-Float64(mu / KbT))))) + Float64(NdChar / 2.0));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if (NaChar <= -9.2e-116)
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	elseif (NaChar <= 8.5e+77)
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	else
		tmp = (NaChar / (1.0 + exp(-(mu / KbT)))) + (NdChar / 2.0);
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[LessEqual[NaChar, -9.2e-116], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[NaChar, 8.5e+77], N[(NdChar / N[(1.0 + N[Exp[N[((-Ec) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(NaChar / N[(1.0 + N[Exp[(-N[(mu / KbT), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NaChar \leq -9.2 \cdot 10^{-116}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\

\mathbf{elif}\;NaChar \leq 8.5 \cdot 10^{+77}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{-\frac{mu}{KbT}}} + \frac{NdChar}{2}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if NaChar < -9.20000000000000006e-116

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 68.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in KbT around inf 45.2%

      \[\leadsto \frac{NdChar}{\color{blue}{2}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]

    if -9.20000000000000006e-116 < NaChar < 8.50000000000000018e77

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 60.1%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around inf 44.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    6. Step-by-step derivation
      1. mul-1-neg44.8%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac44.8%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified44.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    8. Taylor expanded in NdChar around inf 46.9%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{-1 \cdot \frac{Ec}{KbT}}}} \]
    9. Step-by-step derivation
      1. mul-1-neg46.9%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} \]
      2. distribute-frac-neg46.9%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} \]
    10. Simplified46.9%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}} \]

    if 8.50000000000000018e77 < NaChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in mu around inf 68.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-1 \cdot \frac{mu}{KbT}}}} \]
    5. Step-by-step derivation
      1. neg-mul-168.5%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{-\frac{mu}{KbT}}}} \]
      2. distribute-neg-frac68.5%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    6. Simplified68.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{-mu}{KbT}}}} \]
    7. Taylor expanded in KbT around inf 45.3%

      \[\leadsto \frac{NdChar}{\color{blue}{2}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification46.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NaChar \leq -9.2 \cdot 10^{-116}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;NaChar \leq 8.5 \cdot 10^{+77}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{-\frac{mu}{KbT}}} + \frac{NdChar}{2}\\ \end{array} \]

Alternative 24: 40.4% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NaChar \leq -6.6 \cdot 10^{-118} \lor \neg \left(NaChar \leq 9.5 \cdot 10^{+67}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= NaChar -6.6e-118) (not (<= NaChar 9.5e+67)))
   (+ (/ NaChar (+ 1.0 (exp (/ Ev KbT)))) (/ NdChar 2.0))
   (/ NdChar (+ 1.0 (exp (/ (- Ec) KbT))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NaChar <= -6.6e-118) || !(NaChar <= 9.5e+67)) {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	} else {
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if ((nachar <= (-6.6d-118)) .or. (.not. (nachar <= 9.5d+67))) then
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar / 2.0d0)
    else
        tmp = ndchar / (1.0d0 + exp((-ec / kbt)))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if ((NaChar <= -6.6e-118) || !(NaChar <= 9.5e+67)) {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / 2.0);
	} else {
		tmp = NdChar / (1.0 + Math.exp((-Ec / KbT)));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (NaChar <= -6.6e-118) or not (NaChar <= 9.5e+67):
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / 2.0)
	else:
		tmp = NdChar / (1.0 + math.exp((-Ec / KbT)))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((NaChar <= -6.6e-118) || !(NaChar <= 9.5e+67))
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar / 2.0));
	else
		tmp = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Ec) / KbT))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((NaChar <= -6.6e-118) || ~((NaChar <= 9.5e+67)))
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	else
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[NaChar, -6.6e-118], N[Not[LessEqual[NaChar, 9.5e+67]], $MachinePrecision]], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision], N[(NdChar / N[(1.0 + N[Exp[N[((-Ec) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NaChar \leq -6.6 \cdot 10^{-118} \lor \neg \left(NaChar \leq 9.5 \cdot 10^{+67}\right):\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NaChar < -6.5999999999999999e-118 or 9.5000000000000002e67 < NaChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 64.7%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in KbT around inf 44.6%

      \[\leadsto \frac{NdChar}{\color{blue}{2}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]

    if -6.5999999999999999e-118 < NaChar < 9.5000000000000002e67

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 60.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around inf 45.5%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    6. Step-by-step derivation
      1. mul-1-neg45.5%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac45.5%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified45.5%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    8. Taylor expanded in NdChar around inf 47.8%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{-1 \cdot \frac{Ec}{KbT}}}} \]
    9. Step-by-step derivation
      1. mul-1-neg47.8%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} \]
      2. distribute-frac-neg47.8%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} \]
    10. Simplified47.8%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification46.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NaChar \leq -6.6 \cdot 10^{-118} \lor \neg \left(NaChar \leq 9.5 \cdot 10^{+67}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \end{array} \]

Alternative 25: 40.4% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NaChar \leq -4.3 \cdot 10^{-116}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;NaChar \leq 3 \cdot 10^{+70}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (<= NaChar -4.3e-116)
   (+ (/ NaChar (+ 1.0 (exp (/ Ev KbT)))) (/ NdChar 2.0))
   (if (<= NaChar 3e+70)
     (/ NdChar (+ 1.0 (exp (/ (- Ec) KbT))))
     (+ (/ NaChar (+ 1.0 (exp (/ Vef KbT)))) (/ NdChar 2.0)))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if (NaChar <= -4.3e-116) {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	} else if (NaChar <= 3e+70) {
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	} else {
		tmp = (NaChar / (1.0 + exp((Vef / KbT)))) + (NdChar / 2.0);
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if (nachar <= (-4.3d-116)) then
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar / 2.0d0)
    else if (nachar <= 3d+70) then
        tmp = ndchar / (1.0d0 + exp((-ec / kbt)))
    else
        tmp = (nachar / (1.0d0 + exp((vef / kbt)))) + (ndchar / 2.0d0)
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if (NaChar <= -4.3e-116) {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / 2.0);
	} else if (NaChar <= 3e+70) {
		tmp = NdChar / (1.0 + Math.exp((-Ec / KbT)));
	} else {
		tmp = (NaChar / (1.0 + Math.exp((Vef / KbT)))) + (NdChar / 2.0);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if NaChar <= -4.3e-116:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / 2.0)
	elif NaChar <= 3e+70:
		tmp = NdChar / (1.0 + math.exp((-Ec / KbT)))
	else:
		tmp = (NaChar / (1.0 + math.exp((Vef / KbT)))) + (NdChar / 2.0)
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if (NaChar <= -4.3e-116)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar / 2.0));
	elseif (NaChar <= 3e+70)
		tmp = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Ec) / KbT))));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT)))) + Float64(NdChar / 2.0));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if (NaChar <= -4.3e-116)
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	elseif (NaChar <= 3e+70)
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	else
		tmp = (NaChar / (1.0 + exp((Vef / KbT)))) + (NdChar / 2.0);
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[LessEqual[NaChar, -4.3e-116], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[NaChar, 3e+70], N[(NdChar / N[(1.0 + N[Exp[N[((-Ec) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NaChar \leq -4.3 \cdot 10^{-116}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\

\mathbf{elif}\;NaChar \leq 3 \cdot 10^{+70}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{2}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if NaChar < -4.2999999999999997e-116

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Ev around inf 68.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Ev}{KbT}}}} \]
    5. Taylor expanded in KbT around inf 45.2%

      \[\leadsto \frac{NdChar}{\color{blue}{2}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} \]

    if -4.2999999999999997e-116 < NaChar < 2.99999999999999976e70

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 60.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around inf 45.5%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    6. Step-by-step derivation
      1. mul-1-neg45.5%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac45.5%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified45.5%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    8. Taylor expanded in NdChar around inf 47.8%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{-1 \cdot \frac{Ec}{KbT}}}} \]
    9. Step-by-step derivation
      1. mul-1-neg47.8%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} \]
      2. distribute-frac-neg47.8%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} \]
    10. Simplified47.8%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}} \]

    if 2.99999999999999976e70 < NaChar

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in Vef around inf 71.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} \]
    5. Taylor expanded in KbT around inf 43.3%

      \[\leadsto \frac{NdChar}{\color{blue}{2}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification46.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NaChar \leq -4.3 \cdot 10^{-116}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;NaChar \leq 3 \cdot 10^{+70}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{2}\\ \end{array} \]

Alternative 26: 40.3% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;KbT \leq -2.6 \cdot 10^{+20}:\\ \;\;\;\;0.5 \cdot \left(NdChar + NaChar\right)\\ \mathbf{elif}\;KbT \leq 5.4 \cdot 10^{+104}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{2} + \frac{NdChar}{\frac{mu}{KbT} + \left(\frac{EDonor}{KbT} + \left(\frac{Vef}{KbT} + 2\right)\right)}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (<= KbT -2.6e+20)
   (* 0.5 (+ NdChar NaChar))
   (if (<= KbT 5.4e+104)
     (/ NdChar (+ 1.0 (exp (/ (- Ec) KbT))))
     (+
      (/ NaChar 2.0)
      (/ NdChar (+ (/ mu KbT) (+ (/ EDonor KbT) (+ (/ Vef KbT) 2.0))))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if (KbT <= -2.6e+20) {
		tmp = 0.5 * (NdChar + NaChar);
	} else if (KbT <= 5.4e+104) {
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	} else {
		tmp = (NaChar / 2.0) + (NdChar / ((mu / KbT) + ((EDonor / KbT) + ((Vef / KbT) + 2.0))));
	}
	return tmp;
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    real(8) :: tmp
    if (kbt <= (-2.6d+20)) then
        tmp = 0.5d0 * (ndchar + nachar)
    else if (kbt <= 5.4d+104) then
        tmp = ndchar / (1.0d0 + exp((-ec / kbt)))
    else
        tmp = (nachar / 2.0d0) + (ndchar / ((mu / kbt) + ((edonor / kbt) + ((vef / kbt) + 2.0d0))))
    end if
    code = tmp
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	double tmp;
	if (KbT <= -2.6e+20) {
		tmp = 0.5 * (NdChar + NaChar);
	} else if (KbT <= 5.4e+104) {
		tmp = NdChar / (1.0 + Math.exp((-Ec / KbT)));
	} else {
		tmp = (NaChar / 2.0) + (NdChar / ((mu / KbT) + ((EDonor / KbT) + ((Vef / KbT) + 2.0))));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if KbT <= -2.6e+20:
		tmp = 0.5 * (NdChar + NaChar)
	elif KbT <= 5.4e+104:
		tmp = NdChar / (1.0 + math.exp((-Ec / KbT)))
	else:
		tmp = (NaChar / 2.0) + (NdChar / ((mu / KbT) + ((EDonor / KbT) + ((Vef / KbT) + 2.0))))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if (KbT <= -2.6e+20)
		tmp = Float64(0.5 * Float64(NdChar + NaChar));
	elseif (KbT <= 5.4e+104)
		tmp = Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Ec) / KbT))));
	else
		tmp = Float64(Float64(NaChar / 2.0) + Float64(NdChar / Float64(Float64(mu / KbT) + Float64(Float64(EDonor / KbT) + Float64(Float64(Vef / KbT) + 2.0)))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if (KbT <= -2.6e+20)
		tmp = 0.5 * (NdChar + NaChar);
	elseif (KbT <= 5.4e+104)
		tmp = NdChar / (1.0 + exp((-Ec / KbT)));
	else
		tmp = (NaChar / 2.0) + (NdChar / ((mu / KbT) + ((EDonor / KbT) + ((Vef / KbT) + 2.0))));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[LessEqual[KbT, -2.6e+20], N[(0.5 * N[(NdChar + NaChar), $MachinePrecision]), $MachinePrecision], If[LessEqual[KbT, 5.4e+104], N[(NdChar / N[(1.0 + N[Exp[N[((-Ec) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(NaChar / 2.0), $MachinePrecision] + N[(NdChar / N[(N[(mu / KbT), $MachinePrecision] + N[(N[(EDonor / KbT), $MachinePrecision] + N[(N[(Vef / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;KbT \leq -2.6 \cdot 10^{+20}:\\
\;\;\;\;0.5 \cdot \left(NdChar + NaChar\right)\\

\mathbf{elif}\;KbT \leq 5.4 \cdot 10^{+104}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{NaChar}{2} + \frac{NdChar}{\frac{mu}{KbT} + \left(\frac{EDonor}{KbT} + \left(\frac{Vef}{KbT} + 2\right)\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if KbT < -2.6e20

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 59.9%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around inf 50.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    6. Step-by-step derivation
      1. mul-1-neg50.3%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac50.3%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified50.3%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    8. Taylor expanded in Ec around 0 50.6%

      \[\leadsto \color{blue}{0.5 \cdot NdChar + 0.5 \cdot NaChar} \]
    9. Step-by-step derivation
      1. distribute-lft-out50.6%

        \[\leadsto \color{blue}{0.5 \cdot \left(NdChar + NaChar\right)} \]
    10. Simplified50.6%

      \[\leadsto \color{blue}{0.5 \cdot \left(NdChar + NaChar\right)} \]

    if -2.6e20 < KbT < 5.39999999999999969e104

    1. Initial program 100.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. Step-by-step derivation
      1. neg-sub0100.0%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 38.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around inf 29.5%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    6. Step-by-step derivation
      1. mul-1-neg29.5%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
      2. distribute-neg-frac29.5%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    7. Simplified29.5%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    8. Taylor expanded in NdChar around inf 38.7%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{-1 \cdot \frac{Ec}{KbT}}}} \]
    9. Step-by-step derivation
      1. mul-1-neg38.7%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} \]
      2. distribute-frac-neg38.7%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} \]
    10. Simplified38.7%

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}} \]

    if 5.39999999999999969e104 < KbT

    1. Initial program 99.9%

      \[\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. Step-by-step derivation
      1. neg-sub099.9%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-99.9%

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
    4. Taylor expanded in KbT around inf 74.5%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
    5. Taylor expanded in Ec around 0 71.7%

      \[\leadsto \frac{NdChar}{\color{blue}{e^{\frac{Vef + \left(mu + EDonor\right)}{KbT}} + 1}} + \frac{NaChar}{1 + 1} \]
    6. Taylor expanded in KbT around inf 58.3%

      \[\leadsto \frac{NdChar}{\color{blue}{\frac{mu}{KbT} + \left(2 + \left(\frac{Vef}{KbT} + \frac{EDonor}{KbT}\right)\right)}} + \frac{NaChar}{1 + 1} \]
    7. Step-by-step derivation
      1. +-commutative58.3%

        \[\leadsto \frac{NdChar}{\frac{mu}{KbT} + \color{blue}{\left(\left(\frac{Vef}{KbT} + \frac{EDonor}{KbT}\right) + 2\right)}} + \frac{NaChar}{1 + 1} \]
      2. +-commutative58.3%

        \[\leadsto \frac{NdChar}{\frac{mu}{KbT} + \left(\color{blue}{\left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)} + 2\right)} + \frac{NaChar}{1 + 1} \]
      3. associate-+l+58.3%

        \[\leadsto \frac{NdChar}{\frac{mu}{KbT} + \color{blue}{\left(\frac{EDonor}{KbT} + \left(\frac{Vef}{KbT} + 2\right)\right)}} + \frac{NaChar}{1 + 1} \]
    8. Simplified58.3%

      \[\leadsto \frac{NdChar}{\color{blue}{\frac{mu}{KbT} + \left(\frac{EDonor}{KbT} + \left(\frac{Vef}{KbT} + 2\right)\right)}} + \frac{NaChar}{1 + 1} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification43.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;KbT \leq -2.6 \cdot 10^{+20}:\\ \;\;\;\;0.5 \cdot \left(NdChar + NaChar\right)\\ \mathbf{elif}\;KbT \leq 5.4 \cdot 10^{+104}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{-Ec}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{2} + \frac{NdChar}{\frac{mu}{KbT} + \left(\frac{EDonor}{KbT} + \left(\frac{Vef}{KbT} + 2\right)\right)}\\ \end{array} \]

Alternative 27: 28.1% accurate, 45.8× speedup?

\[\begin{array}{l} \\ 0.5 \cdot \left(NdChar + NaChar\right) \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (* 0.5 (+ NdChar NaChar)))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return 0.5 * (NdChar + NaChar);
}
real(8) function code(ndchar, ec, vef, edonor, mu, kbt, nachar, ev, eaccept)
    real(8), intent (in) :: ndchar
    real(8), intent (in) :: ec
    real(8), intent (in) :: vef
    real(8), intent (in) :: edonor
    real(8), intent (in) :: mu
    real(8), intent (in) :: kbt
    real(8), intent (in) :: nachar
    real(8), intent (in) :: ev
    real(8), intent (in) :: eaccept
    code = 0.5d0 * (ndchar + nachar)
end function
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return 0.5 * (NdChar + NaChar);
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	return 0.5 * (NdChar + NaChar)
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	return Float64(0.5 * Float64(NdChar + NaChar))
end
function tmp = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.5 * (NdChar + NaChar);
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := N[(0.5 * N[(NdChar + NaChar), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
0.5 \cdot \left(NdChar + NaChar\right)
\end{array}
Derivation
  1. Initial program 100.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. Step-by-step derivation
    1. neg-sub0100.0%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{0 - \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. associate--r-100.0%

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

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

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}} \]
  4. Taylor expanded in KbT around inf 47.7%

    \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + \color{blue}{1}} \]
  5. Taylor expanded in Ec around inf 37.8%

    \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
  6. Step-by-step derivation
    1. mul-1-neg37.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-\frac{Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
    2. distribute-neg-frac37.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
  7. Simplified37.8%

    \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-Ec}{KbT}}}} + \frac{NaChar}{1 + 1} \]
  8. Taylor expanded in Ec around 0 27.6%

    \[\leadsto \color{blue}{0.5 \cdot NdChar + 0.5 \cdot NaChar} \]
  9. Step-by-step derivation
    1. distribute-lft-out27.6%

      \[\leadsto \color{blue}{0.5 \cdot \left(NdChar + NaChar\right)} \]
  10. Simplified27.6%

    \[\leadsto \color{blue}{0.5 \cdot \left(NdChar + NaChar\right)} \]
  11. Final simplification27.6%

    \[\leadsto 0.5 \cdot \left(NdChar + NaChar\right) \]

Reproduce

?
herbie shell --seed 2023182 
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  :precision binary64
  (+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))