Bulmash initializePoisson

Percentage Accurate: 99.9% → 99.9%
Time: 24.4s
Alternatives: 25
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 25 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: 99.9% 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, 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 2: 62.1% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}\\ t_2 := t_1 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ t_3 := \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ t_4 := \frac{NaChar}{t_0} + \frac{NdChar}{t_0}\\ \mathbf{if}\;Vef \leq -6.5 \cdot 10^{+117}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;Vef \leq -1.35 \cdot 10^{-57}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq -1.5 \cdot 10^{-75}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -1.8 \cdot 10^{-162}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq -7.2 \cdot 10^{-234}:\\ \;\;\;\;t_3 + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq -1.05 \cdot 10^{-302}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq 7 \cdot 10^{-107}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + t_3\\ \mathbf{elif}\;Vef \leq 10^{-84}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;Vef \leq 2.2 \cdot 10^{+89}:\\ \;\;\;\;t_1 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;t_4\\ \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 (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT)))))
        (t_2
         (+
          t_1
          (/
           NdChar
           (-
            (+ (/ mu KbT) (+ 2.0 (+ (/ EDonor KbT) (/ Vef KbT))))
            (/ Ec KbT)))))
        (t_3 (/ NdChar (+ 1.0 (exp (/ EDonor KbT)))))
        (t_4 (+ (/ NaChar t_0) (/ NdChar t_0))))
   (if (<= Vef -6.5e+117)
     t_4
     (if (<= Vef -1.35e-57)
       t_2
       (if (<= Vef -1.5e-75)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/
           NaChar
           (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (/ (* Ev Ev) (* KbT KbT))))))))
         (if (<= Vef -1.8e-162)
           t_2
           (if (<= Vef -7.2e-234)
             (+ t_3 (/ NaChar (+ 1.0 (exp (/ Ev KbT)))))
             (if (<= Vef -1.05e-302)
               t_2
               (if (<= Vef 7e-107)
                 (+ (/ NaChar (+ 1.0 (exp (/ (- mu) KbT)))) t_3)
                 (if (<= Vef 1e-84)
                   (+
                    (/ NdChar (+ 1.0 (exp (/ mu KbT))))
                    (/ NaChar (+ 1.0 (- 1.0 (/ mu KbT)))))
                   (if (<= Vef 2.2e+89)
                     (+ t_1 (/ NdChar (+ (/ EDonor KbT) 2.0)))
                     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 = 1.0 + exp((Vef / KbT));
	double t_1 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	double t_3 = NdChar / (1.0 + exp((EDonor / KbT)));
	double t_4 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -6.5e+117) {
		tmp = t_4;
	} else if (Vef <= -1.35e-57) {
		tmp = t_2;
	} else if (Vef <= -1.5e-75) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -1.8e-162) {
		tmp = t_2;
	} else if (Vef <= -7.2e-234) {
		tmp = t_3 + (NaChar / (1.0 + exp((Ev / KbT))));
	} else if (Vef <= -1.05e-302) {
		tmp = t_2;
	} else if (Vef <= 7e-107) {
		tmp = (NaChar / (1.0 + exp((-mu / KbT)))) + t_3;
	} else if (Vef <= 1e-84) {
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	} else if (Vef <= 2.2e+89) {
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	} 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) :: tmp
    t_0 = 1.0d0 + exp((vef / kbt))
    t_1 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_2 = t_1 + (ndchar / (((mu / kbt) + (2.0d0 + ((edonor / kbt) + (vef / kbt)))) - (ec / kbt)))
    t_3 = ndchar / (1.0d0 + exp((edonor / kbt)))
    t_4 = (nachar / t_0) + (ndchar / t_0)
    if (vef <= (-6.5d+117)) then
        tmp = t_4
    else if (vef <= (-1.35d-57)) then
        tmp = t_2
    else if (vef <= (-1.5d-75)) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev * ev) / (kbt * kbt)))))))
    else if (vef <= (-1.8d-162)) then
        tmp = t_2
    else if (vef <= (-7.2d-234)) then
        tmp = t_3 + (nachar / (1.0d0 + exp((ev / kbt))))
    else if (vef <= (-1.05d-302)) then
        tmp = t_2
    else if (vef <= 7d-107) then
        tmp = (nachar / (1.0d0 + exp((-mu / kbt)))) + t_3
    else if (vef <= 1d-84) then
        tmp = (ndchar / (1.0d0 + exp((mu / kbt)))) + (nachar / (1.0d0 + (1.0d0 - (mu / kbt))))
    else if (vef <= 2.2d+89) then
        tmp = t_1 + (ndchar / ((edonor / kbt) + 2.0d0))
    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 = 1.0 + Math.exp((Vef / KbT));
	double t_1 = NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	double t_3 = NdChar / (1.0 + Math.exp((EDonor / KbT)));
	double t_4 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -6.5e+117) {
		tmp = t_4;
	} else if (Vef <= -1.35e-57) {
		tmp = t_2;
	} else if (Vef <= -1.5e-75) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -1.8e-162) {
		tmp = t_2;
	} else if (Vef <= -7.2e-234) {
		tmp = t_3 + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	} else if (Vef <= -1.05e-302) {
		tmp = t_2;
	} else if (Vef <= 7e-107) {
		tmp = (NaChar / (1.0 + Math.exp((-mu / KbT)))) + t_3;
	} else if (Vef <= 1e-84) {
		tmp = (NdChar / (1.0 + Math.exp((mu / KbT)))) + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	} else if (Vef <= 2.2e+89) {
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	} else {
		tmp = t_4;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = 1.0 + math.exp((Vef / KbT))
	t_1 = NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))
	t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)))
	t_3 = NdChar / (1.0 + math.exp((EDonor / KbT)))
	t_4 = (NaChar / t_0) + (NdChar / t_0)
	tmp = 0
	if Vef <= -6.5e+117:
		tmp = t_4
	elif Vef <= -1.35e-57:
		tmp = t_2
	elif Vef <= -1.5e-75:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))))
	elif Vef <= -1.8e-162:
		tmp = t_2
	elif Vef <= -7.2e-234:
		tmp = t_3 + (NaChar / (1.0 + math.exp((Ev / KbT))))
	elif Vef <= -1.05e-302:
		tmp = t_2
	elif Vef <= 7e-107:
		tmp = (NaChar / (1.0 + math.exp((-mu / KbT)))) + t_3
	elif Vef <= 1e-84:
		tmp = (NdChar / (1.0 + math.exp((mu / KbT)))) + (NaChar / (1.0 + (1.0 - (mu / KbT))))
	elif Vef <= 2.2e+89:
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0))
	else:
		tmp = t_4
	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(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_2 = Float64(t_1 + Float64(NdChar / Float64(Float64(Float64(mu / KbT) + Float64(2.0 + Float64(Float64(EDonor / KbT) + Float64(Vef / KbT)))) - Float64(Ec / KbT))))
	t_3 = Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT))))
	t_4 = Float64(Float64(NaChar / t_0) + Float64(NdChar / t_0))
	tmp = 0.0
	if (Vef <= -6.5e+117)
		tmp = t_4;
	elseif (Vef <= -1.35e-57)
		tmp = t_2;
	elseif (Vef <= -1.5e-75)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev * Ev) / Float64(KbT * KbT))))))));
	elseif (Vef <= -1.8e-162)
		tmp = t_2;
	elseif (Vef <= -7.2e-234)
		tmp = Float64(t_3 + Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))));
	elseif (Vef <= -1.05e-302)
		tmp = t_2;
	elseif (Vef <= 7e-107)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(-mu) / KbT)))) + t_3);
	elseif (Vef <= 1e-84)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))) + Float64(NaChar / Float64(1.0 + Float64(1.0 - Float64(mu / KbT)))));
	elseif (Vef <= 2.2e+89)
		tmp = Float64(t_1 + Float64(NdChar / Float64(Float64(EDonor / KbT) + 2.0)));
	else
		tmp = t_4;
	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 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	t_3 = NdChar / (1.0 + exp((EDonor / KbT)));
	t_4 = (NaChar / t_0) + (NdChar / t_0);
	tmp = 0.0;
	if (Vef <= -6.5e+117)
		tmp = t_4;
	elseif (Vef <= -1.35e-57)
		tmp = t_2;
	elseif (Vef <= -1.5e-75)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	elseif (Vef <= -1.8e-162)
		tmp = t_2;
	elseif (Vef <= -7.2e-234)
		tmp = t_3 + (NaChar / (1.0 + exp((Ev / KbT))));
	elseif (Vef <= -1.05e-302)
		tmp = t_2;
	elseif (Vef <= 7e-107)
		tmp = (NaChar / (1.0 + exp((-mu / KbT)))) + t_3;
	elseif (Vef <= 1e-84)
		tmp = (NdChar / (1.0 + exp((mu / KbT)))) + (NaChar / (1.0 + (1.0 - (mu / KbT))));
	elseif (Vef <= 2.2e+89)
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	else
		tmp = t_4;
	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[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(NdChar / N[(N[(N[(mu / KbT), $MachinePrecision] + N[(2.0 + N[(N[(EDonor / KbT), $MachinePrecision] + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(Ec / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(NaChar / t$95$0), $MachinePrecision] + N[(NdChar / t$95$0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -6.5e+117], t$95$4, If[LessEqual[Vef, -1.35e-57], t$95$2, If[LessEqual[Vef, -1.5e-75], 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[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev * Ev), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -1.8e-162], t$95$2, If[LessEqual[Vef, -7.2e-234], N[(t$95$3 + N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -1.05e-302], t$95$2, If[LessEqual[Vef, 7e-107], N[(N[(NaChar / N[(1.0 + N[Exp[N[((-mu) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + t$95$3), $MachinePrecision], If[LessEqual[Vef, 1e-84], N[(N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[(1.0 - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 2.2e+89], N[(t$95$1 + N[(NdChar / N[(N[(EDonor / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;Vef \leq -1.35 \cdot 10^{-57}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Vef \leq -1.5 \cdot 10^{-75}:\\
\;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\

\mathbf{elif}\;Vef \leq -1.8 \cdot 10^{-162}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Vef \leq -7.2 \cdot 10^{-234}:\\
\;\;\;\;t_3 + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\

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

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

\mathbf{elif}\;Vef \leq 10^{-84}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\

\mathbf{elif}\;Vef \leq 2.2 \cdot 10^{+89}:\\
\;\;\;\;t_1 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 7 regimes
  2. if Vef < -6.5000000000000004e117 or 2.2e89 < 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.8%

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

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

    if -6.5000000000000004e117 < Vef < -1.3500000000000001e-57 or -1.4999999999999999e-75 < Vef < -1.7999999999999999e-162 or -7.1999999999999997e-234 < Vef < -1.05000000000000006e-302

    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 71.2%

      \[\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{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]

    if -1.3500000000000001e-57 < Vef < -1.4999999999999999e-75

    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.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 Ev around 0 73.1%

      \[\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. unpow273.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 \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow273.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 \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified73.1%

      \[\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)}} \]

    if -1.7999999999999999e-162 < Vef < -7.1999999999999997e-234

    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 EDonor around inf 95.9%

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

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

    if -1.05000000000000006e-302 < Vef < 6.99999999999999971e-107

    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.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-180.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-frac80.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. Simplified80.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 EDonor around inf 59.3%

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

    if 6.99999999999999971e-107 < Vef < 1e-84

    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 86.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-186.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-frac86.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. Simplified86.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 67.4%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} \]
    8. Taylor expanded in mu around 0 67.4%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 + -1 \cdot \frac{mu}{KbT}\right)}} \]
    9. Step-by-step derivation
      1. mul-1-neg67.4%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + \left(1 + \color{blue}{\left(-\frac{mu}{KbT}\right)}\right)} \]
      2. unsub-neg67.4%

        \[\leadsto \frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + \color{blue}{\left(1 - \frac{mu}{KbT}\right)}} \]
    10. Simplified67.4%

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

    if 1e-84 < Vef < 2.2e89

    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 EDonor around inf 74.8%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -6.5 \cdot 10^{+117}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq -1.35 \cdot 10^{-57}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -1.5 \cdot 10^{-75}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -1.8 \cdot 10^{-162}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -7.2 \cdot 10^{-234}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq -1.05 \cdot 10^{-302}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq 7 \cdot 10^{-107}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{elif}\;Vef \leq 10^{-84}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu}{KbT}}} + \frac{NaChar}{1 + \left(1 - \frac{mu}{KbT}\right)}\\ \mathbf{elif}\;Vef \leq 2.2 \cdot 10^{+89}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \end{array} \]

Alternative 3: 62.7% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ t_2 := \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ t_3 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}\\ t_4 := \frac{NaChar}{t_0} + \frac{NdChar}{t_0}\\ \mathbf{if}\;Vef \leq -3 \cdot 10^{+117}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;Vef \leq -1.05 \cdot 10^{-53}:\\ \;\;\;\;t_3 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -2.2 \cdot 10^{-73}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -7.8 \cdot 10^{-162}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq -3 \cdot 10^{-251}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 6 \cdot 10^{-254}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{1 + e^{-\frac{Ec}{KbT}}}\\ \mathbf{elif}\;Vef \leq 1.4 \cdot 10^{-198}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 3.6 \cdot 10^{-55}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq 6.4 \cdot 10^{+86}:\\ \;\;\;\;t_3 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;t_4\\ \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 (/ EDonor KbT))))
          (/ NaChar (+ 1.0 (exp (/ Ev KbT))))))
        (t_2
         (+
          (/ NaChar (+ 1.0 (exp (/ (- mu) KbT))))
          (/ NdChar (+ 1.0 (exp (/ mu KbT))))))
        (t_3 (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT)))))
        (t_4 (+ (/ NaChar t_0) (/ NdChar t_0))))
   (if (<= Vef -3e+117)
     t_4
     (if (<= Vef -1.05e-53)
       (+
        t_3
        (/
         NdChar
         (- (+ (/ mu KbT) (+ 2.0 (+ (/ EDonor KbT) (/ Vef KbT)))) (/ Ec KbT))))
       (if (<= Vef -2.2e-73)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/
           NaChar
           (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (/ (* Ev Ev) (* KbT KbT))))))))
         (if (<= Vef -7.8e-162)
           t_2
           (if (<= Vef -3e-251)
             t_1
             (if (<= Vef 6e-254)
               (+
                (/ NaChar (+ 1.0 (exp (/ EAccept KbT))))
                (/ NdChar (+ 1.0 (exp (- (/ Ec KbT))))))
               (if (<= Vef 1.4e-198)
                 t_1
                 (if (<= Vef 3.6e-55)
                   t_2
                   (if (<= Vef 6.4e+86)
                     (+ t_3 (/ NdChar (+ (/ EDonor KbT) 2.0)))
                     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 = 1.0 + exp((Vef / KbT));
	double t_1 = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	double t_2 = (NaChar / (1.0 + exp((-mu / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	double t_3 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_4 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -3e+117) {
		tmp = t_4;
	} else if (Vef <= -1.05e-53) {
		tmp = t_3 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	} else if (Vef <= -2.2e-73) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -7.8e-162) {
		tmp = t_2;
	} else if (Vef <= -3e-251) {
		tmp = t_1;
	} else if (Vef <= 6e-254) {
		tmp = (NaChar / (1.0 + exp((EAccept / KbT)))) + (NdChar / (1.0 + exp(-(Ec / KbT))));
	} else if (Vef <= 1.4e-198) {
		tmp = t_1;
	} else if (Vef <= 3.6e-55) {
		tmp = t_2;
	} else if (Vef <= 6.4e+86) {
		tmp = t_3 + (NdChar / ((EDonor / KbT) + 2.0));
	} 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) :: tmp
    t_0 = 1.0d0 + exp((vef / kbt))
    t_1 = (ndchar / (1.0d0 + exp((edonor / kbt)))) + (nachar / (1.0d0 + exp((ev / kbt))))
    t_2 = (nachar / (1.0d0 + exp((-mu / kbt)))) + (ndchar / (1.0d0 + exp((mu / kbt))))
    t_3 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_4 = (nachar / t_0) + (ndchar / t_0)
    if (vef <= (-3d+117)) then
        tmp = t_4
    else if (vef <= (-1.05d-53)) then
        tmp = t_3 + (ndchar / (((mu / kbt) + (2.0d0 + ((edonor / kbt) + (vef / kbt)))) - (ec / kbt)))
    else if (vef <= (-2.2d-73)) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev * ev) / (kbt * kbt)))))))
    else if (vef <= (-7.8d-162)) then
        tmp = t_2
    else if (vef <= (-3d-251)) then
        tmp = t_1
    else if (vef <= 6d-254) then
        tmp = (nachar / (1.0d0 + exp((eaccept / kbt)))) + (ndchar / (1.0d0 + exp(-(ec / kbt))))
    else if (vef <= 1.4d-198) then
        tmp = t_1
    else if (vef <= 3.6d-55) then
        tmp = t_2
    else if (vef <= 6.4d+86) then
        tmp = t_3 + (ndchar / ((edonor / kbt) + 2.0d0))
    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 = 1.0 + Math.exp((Vef / KbT));
	double t_1 = (NdChar / (1.0 + Math.exp((EDonor / KbT)))) + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	double t_2 = (NaChar / (1.0 + Math.exp((-mu / KbT)))) + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double t_3 = NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_4 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -3e+117) {
		tmp = t_4;
	} else if (Vef <= -1.05e-53) {
		tmp = t_3 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	} else if (Vef <= -2.2e-73) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -7.8e-162) {
		tmp = t_2;
	} else if (Vef <= -3e-251) {
		tmp = t_1;
	} else if (Vef <= 6e-254) {
		tmp = (NaChar / (1.0 + Math.exp((EAccept / KbT)))) + (NdChar / (1.0 + Math.exp(-(Ec / KbT))));
	} else if (Vef <= 1.4e-198) {
		tmp = t_1;
	} else if (Vef <= 3.6e-55) {
		tmp = t_2;
	} else if (Vef <= 6.4e+86) {
		tmp = t_3 + (NdChar / ((EDonor / KbT) + 2.0));
	} else {
		tmp = t_4;
	}
	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((EDonor / KbT)))) + (NaChar / (1.0 + math.exp((Ev / KbT))))
	t_2 = (NaChar / (1.0 + math.exp((-mu / KbT)))) + (NdChar / (1.0 + math.exp((mu / KbT))))
	t_3 = NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))
	t_4 = (NaChar / t_0) + (NdChar / t_0)
	tmp = 0
	if Vef <= -3e+117:
		tmp = t_4
	elif Vef <= -1.05e-53:
		tmp = t_3 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)))
	elif Vef <= -2.2e-73:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))))
	elif Vef <= -7.8e-162:
		tmp = t_2
	elif Vef <= -3e-251:
		tmp = t_1
	elif Vef <= 6e-254:
		tmp = (NaChar / (1.0 + math.exp((EAccept / KbT)))) + (NdChar / (1.0 + math.exp(-(Ec / KbT))))
	elif Vef <= 1.4e-198:
		tmp = t_1
	elif Vef <= 3.6e-55:
		tmp = t_2
	elif Vef <= 6.4e+86:
		tmp = t_3 + (NdChar / ((EDonor / KbT) + 2.0))
	else:
		tmp = t_4
	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(Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))))
	t_2 = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(-mu) / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))))
	t_3 = Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_4 = Float64(Float64(NaChar / t_0) + Float64(NdChar / t_0))
	tmp = 0.0
	if (Vef <= -3e+117)
		tmp = t_4;
	elseif (Vef <= -1.05e-53)
		tmp = Float64(t_3 + Float64(NdChar / Float64(Float64(Float64(mu / KbT) + Float64(2.0 + Float64(Float64(EDonor / KbT) + Float64(Vef / KbT)))) - Float64(Ec / KbT))));
	elseif (Vef <= -2.2e-73)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev * Ev) / Float64(KbT * KbT))))))));
	elseif (Vef <= -7.8e-162)
		tmp = t_2;
	elseif (Vef <= -3e-251)
		tmp = t_1;
	elseif (Vef <= 6e-254)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(EAccept / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(-Float64(Ec / KbT))))));
	elseif (Vef <= 1.4e-198)
		tmp = t_1;
	elseif (Vef <= 3.6e-55)
		tmp = t_2;
	elseif (Vef <= 6.4e+86)
		tmp = Float64(t_3 + Float64(NdChar / Float64(Float64(EDonor / KbT) + 2.0)));
	else
		tmp = t_4;
	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((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	t_2 = (NaChar / (1.0 + exp((-mu / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	t_3 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	t_4 = (NaChar / t_0) + (NdChar / t_0);
	tmp = 0.0;
	if (Vef <= -3e+117)
		tmp = t_4;
	elseif (Vef <= -1.05e-53)
		tmp = t_3 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	elseif (Vef <= -2.2e-73)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	elseif (Vef <= -7.8e-162)
		tmp = t_2;
	elseif (Vef <= -3e-251)
		tmp = t_1;
	elseif (Vef <= 6e-254)
		tmp = (NaChar / (1.0 + exp((EAccept / KbT)))) + (NdChar / (1.0 + exp(-(Ec / KbT))));
	elseif (Vef <= 1.4e-198)
		tmp = t_1;
	elseif (Vef <= 3.6e-55)
		tmp = t_2;
	elseif (Vef <= 6.4e+86)
		tmp = t_3 + (NdChar / ((EDonor / KbT) + 2.0));
	else
		tmp = t_4;
	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[(N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(NaChar / N[(1.0 + N[Exp[N[((-mu) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(NaChar / t$95$0), $MachinePrecision] + N[(NdChar / t$95$0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -3e+117], t$95$4, If[LessEqual[Vef, -1.05e-53], N[(t$95$3 + N[(NdChar / N[(N[(N[(mu / KbT), $MachinePrecision] + N[(2.0 + N[(N[(EDonor / KbT), $MachinePrecision] + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(Ec / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -2.2e-73], 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[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev * Ev), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -7.8e-162], t$95$2, If[LessEqual[Vef, -3e-251], t$95$1, If[LessEqual[Vef, 6e-254], N[(N[(NaChar / N[(1.0 + N[Exp[N[(EAccept / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[(-N[(Ec / KbT), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 1.4e-198], t$95$1, If[LessEqual[Vef, 3.6e-55], t$95$2, If[LessEqual[Vef, 6.4e+86], N[(t$95$3 + N[(NdChar / N[(N[(EDonor / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$4]]]]]]]]]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;Vef \leq -1.05 \cdot 10^{-53}:\\
\;\;\;\;t_3 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\

\mathbf{elif}\;Vef \leq -2.2 \cdot 10^{-73}:\\
\;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\

\mathbf{elif}\;Vef \leq -7.8 \cdot 10^{-162}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Vef \leq -3 \cdot 10^{-251}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq 6 \cdot 10^{-254}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{1 + e^{-\frac{Ec}{KbT}}}\\

\mathbf{elif}\;Vef \leq 1.4 \cdot 10^{-198}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq 3.6 \cdot 10^{-55}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Vef \leq 6.4 \cdot 10^{+86}:\\
\;\;\;\;t_3 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 7 regimes
  2. if Vef < -3e117 or 6.4000000000000001e86 < 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.8%

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

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

    if -3e117 < Vef < -1.04999999999999989e-53

    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 68.4%

      \[\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{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]

    if -1.04999999999999989e-53 < Vef < -2.2e-73

    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.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 Ev around 0 73.1%

      \[\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. unpow273.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 \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow273.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 \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified73.1%

      \[\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)}} \]

    if -2.2e-73 < Vef < -7.7999999999999999e-162 or 1.4e-198 < Vef < 3.6000000000000001e-55

    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.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-189.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-frac89.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. Simplified89.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 84.1%

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

    if -7.7999999999999999e-162 < Vef < -2.9999999999999999e-251 or 6.00000000000000023e-254 < Vef < 1.4e-198

    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 EDonor around inf 92.2%

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

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

    if -2.9999999999999999e-251 < Vef < 6.00000000000000023e-254

    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 58.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}}}} \]
    5. Taylor expanded in Ec around inf 58.8%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{-1 \cdot \frac{Ec}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} \]
    6. Step-by-step derivation
      1. associate-*r/58.8%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-1 \cdot Ec}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} \]
      2. mul-1-neg58.8%

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

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

    if 3.6000000000000001e-55 < Vef < 6.4000000000000001e86

    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 EDonor around inf 74.6%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -3 \cdot 10^{+117}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq -1.05 \cdot 10^{-53}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -2.2 \cdot 10^{-73}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -7.8 \cdot 10^{-162}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Vef \leq -3 \cdot 10^{-251}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 6 \cdot 10^{-254}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{1 + e^{-\frac{Ec}{KbT}}}\\ \mathbf{elif}\;Vef \leq 1.4 \cdot 10^{-198}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 3.6 \cdot 10^{-55}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Vef \leq 6.4 \cdot 10^{+86}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \end{array} \]

Alternative 4: 62.5% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ t_2 := \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}}\\ t_3 := t_2 + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ t_4 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}\\ t_5 := \frac{NaChar}{t_0} + \frac{NdChar}{t_0}\\ \mathbf{if}\;Vef \leq -8.2 \cdot 10^{+116}:\\ \;\;\;\;t_5\\ \mathbf{elif}\;Vef \leq -1.42 \cdot 10^{-54}:\\ \;\;\;\;t_4 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -1.5 \cdot 10^{-75}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -8.2 \cdot 10^{-162}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;Vef \leq 1.75 \cdot 10^{-293}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 7 \cdot 10^{-254}:\\ \;\;\;\;t_2 + \frac{NdChar}{1 + e^{-\frac{Ec}{KbT}}}\\ \mathbf{elif}\;Vef \leq 6.2 \cdot 10^{-196}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 3.6 \cdot 10^{-55}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;Vef \leq 3.3 \cdot 10^{+87}:\\ \;\;\;\;t_4 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;t_5\\ \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 (/ EDonor KbT))))
          (/ NaChar (+ 1.0 (exp (/ Ev KbT))))))
        (t_2 (/ NaChar (+ 1.0 (exp (/ (- mu) KbT)))))
        (t_3 (+ t_2 (/ NdChar (+ 1.0 (exp (/ mu KbT))))))
        (t_4 (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT)))))
        (t_5 (+ (/ NaChar t_0) (/ NdChar t_0))))
   (if (<= Vef -8.2e+116)
     t_5
     (if (<= Vef -1.42e-54)
       (+
        t_4
        (/
         NdChar
         (- (+ (/ mu KbT) (+ 2.0 (+ (/ EDonor KbT) (/ Vef KbT)))) (/ Ec KbT))))
       (if (<= Vef -1.5e-75)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/
           NaChar
           (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (/ (* Ev Ev) (* KbT KbT))))))))
         (if (<= Vef -8.2e-162)
           t_3
           (if (<= Vef 1.75e-293)
             t_1
             (if (<= Vef 7e-254)
               (+ t_2 (/ NdChar (+ 1.0 (exp (- (/ Ec KbT))))))
               (if (<= Vef 6.2e-196)
                 t_1
                 (if (<= Vef 3.6e-55)
                   t_3
                   (if (<= Vef 3.3e+87)
                     (+ t_4 (/ NdChar (+ (/ EDonor KbT) 2.0)))
                     t_5)))))))))))
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((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	double t_2 = NaChar / (1.0 + exp((-mu / KbT)));
	double t_3 = t_2 + (NdChar / (1.0 + exp((mu / KbT))));
	double t_4 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_5 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -8.2e+116) {
		tmp = t_5;
	} else if (Vef <= -1.42e-54) {
		tmp = t_4 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	} else if (Vef <= -1.5e-75) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -8.2e-162) {
		tmp = t_3;
	} else if (Vef <= 1.75e-293) {
		tmp = t_1;
	} else if (Vef <= 7e-254) {
		tmp = t_2 + (NdChar / (1.0 + exp(-(Ec / KbT))));
	} else if (Vef <= 6.2e-196) {
		tmp = t_1;
	} else if (Vef <= 3.6e-55) {
		tmp = t_3;
	} else if (Vef <= 3.3e+87) {
		tmp = t_4 + (NdChar / ((EDonor / KbT) + 2.0));
	} else {
		tmp = t_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) :: 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 = 1.0d0 + exp((vef / kbt))
    t_1 = (ndchar / (1.0d0 + exp((edonor / kbt)))) + (nachar / (1.0d0 + exp((ev / kbt))))
    t_2 = nachar / (1.0d0 + exp((-mu / kbt)))
    t_3 = t_2 + (ndchar / (1.0d0 + exp((mu / kbt))))
    t_4 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_5 = (nachar / t_0) + (ndchar / t_0)
    if (vef <= (-8.2d+116)) then
        tmp = t_5
    else if (vef <= (-1.42d-54)) then
        tmp = t_4 + (ndchar / (((mu / kbt) + (2.0d0 + ((edonor / kbt) + (vef / kbt)))) - (ec / kbt)))
    else if (vef <= (-1.5d-75)) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev * ev) / (kbt * kbt)))))))
    else if (vef <= (-8.2d-162)) then
        tmp = t_3
    else if (vef <= 1.75d-293) then
        tmp = t_1
    else if (vef <= 7d-254) then
        tmp = t_2 + (ndchar / (1.0d0 + exp(-(ec / kbt))))
    else if (vef <= 6.2d-196) then
        tmp = t_1
    else if (vef <= 3.6d-55) then
        tmp = t_3
    else if (vef <= 3.3d+87) then
        tmp = t_4 + (ndchar / ((edonor / kbt) + 2.0d0))
    else
        tmp = t_5
    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((EDonor / KbT)))) + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	double t_2 = NaChar / (1.0 + Math.exp((-mu / KbT)));
	double t_3 = t_2 + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double t_4 = NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_5 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -8.2e+116) {
		tmp = t_5;
	} else if (Vef <= -1.42e-54) {
		tmp = t_4 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	} else if (Vef <= -1.5e-75) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -8.2e-162) {
		tmp = t_3;
	} else if (Vef <= 1.75e-293) {
		tmp = t_1;
	} else if (Vef <= 7e-254) {
		tmp = t_2 + (NdChar / (1.0 + Math.exp(-(Ec / KbT))));
	} else if (Vef <= 6.2e-196) {
		tmp = t_1;
	} else if (Vef <= 3.6e-55) {
		tmp = t_3;
	} else if (Vef <= 3.3e+87) {
		tmp = t_4 + (NdChar / ((EDonor / KbT) + 2.0));
	} else {
		tmp = t_5;
	}
	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((EDonor / KbT)))) + (NaChar / (1.0 + math.exp((Ev / KbT))))
	t_2 = NaChar / (1.0 + math.exp((-mu / KbT)))
	t_3 = t_2 + (NdChar / (1.0 + math.exp((mu / KbT))))
	t_4 = NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))
	t_5 = (NaChar / t_0) + (NdChar / t_0)
	tmp = 0
	if Vef <= -8.2e+116:
		tmp = t_5
	elif Vef <= -1.42e-54:
		tmp = t_4 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)))
	elif Vef <= -1.5e-75:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))))
	elif Vef <= -8.2e-162:
		tmp = t_3
	elif Vef <= 1.75e-293:
		tmp = t_1
	elif Vef <= 7e-254:
		tmp = t_2 + (NdChar / (1.0 + math.exp(-(Ec / KbT))))
	elif Vef <= 6.2e-196:
		tmp = t_1
	elif Vef <= 3.6e-55:
		tmp = t_3
	elif Vef <= 3.3e+87:
		tmp = t_4 + (NdChar / ((EDonor / KbT) + 2.0))
	else:
		tmp = t_5
	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(Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))))
	t_2 = Float64(NaChar / Float64(1.0 + exp(Float64(Float64(-mu) / KbT))))
	t_3 = Float64(t_2 + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))))
	t_4 = Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_5 = Float64(Float64(NaChar / t_0) + Float64(NdChar / t_0))
	tmp = 0.0
	if (Vef <= -8.2e+116)
		tmp = t_5;
	elseif (Vef <= -1.42e-54)
		tmp = Float64(t_4 + Float64(NdChar / Float64(Float64(Float64(mu / KbT) + Float64(2.0 + Float64(Float64(EDonor / KbT) + Float64(Vef / KbT)))) - Float64(Ec / KbT))));
	elseif (Vef <= -1.5e-75)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev * Ev) / Float64(KbT * KbT))))))));
	elseif (Vef <= -8.2e-162)
		tmp = t_3;
	elseif (Vef <= 1.75e-293)
		tmp = t_1;
	elseif (Vef <= 7e-254)
		tmp = Float64(t_2 + Float64(NdChar / Float64(1.0 + exp(Float64(-Float64(Ec / KbT))))));
	elseif (Vef <= 6.2e-196)
		tmp = t_1;
	elseif (Vef <= 3.6e-55)
		tmp = t_3;
	elseif (Vef <= 3.3e+87)
		tmp = Float64(t_4 + Float64(NdChar / Float64(Float64(EDonor / KbT) + 2.0)));
	else
		tmp = t_5;
	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((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	t_2 = NaChar / (1.0 + exp((-mu / KbT)));
	t_3 = t_2 + (NdChar / (1.0 + exp((mu / KbT))));
	t_4 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	t_5 = (NaChar / t_0) + (NdChar / t_0);
	tmp = 0.0;
	if (Vef <= -8.2e+116)
		tmp = t_5;
	elseif (Vef <= -1.42e-54)
		tmp = t_4 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	elseif (Vef <= -1.5e-75)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	elseif (Vef <= -8.2e-162)
		tmp = t_3;
	elseif (Vef <= 1.75e-293)
		tmp = t_1;
	elseif (Vef <= 7e-254)
		tmp = t_2 + (NdChar / (1.0 + exp(-(Ec / KbT))));
	elseif (Vef <= 6.2e-196)
		tmp = t_1;
	elseif (Vef <= 3.6e-55)
		tmp = t_3;
	elseif (Vef <= 3.3e+87)
		tmp = t_4 + (NdChar / ((EDonor / KbT) + 2.0));
	else
		tmp = t_5;
	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[(N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(NaChar / N[(1.0 + N[Exp[N[((-mu) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(t$95$2 + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$5 = N[(N[(NaChar / t$95$0), $MachinePrecision] + N[(NdChar / t$95$0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -8.2e+116], t$95$5, If[LessEqual[Vef, -1.42e-54], N[(t$95$4 + N[(NdChar / N[(N[(N[(mu / KbT), $MachinePrecision] + N[(2.0 + N[(N[(EDonor / KbT), $MachinePrecision] + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(Ec / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -1.5e-75], 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[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev * Ev), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -8.2e-162], t$95$3, If[LessEqual[Vef, 1.75e-293], t$95$1, If[LessEqual[Vef, 7e-254], N[(t$95$2 + N[(NdChar / N[(1.0 + N[Exp[(-N[(Ec / KbT), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 6.2e-196], t$95$1, If[LessEqual[Vef, 3.6e-55], t$95$3, If[LessEqual[Vef, 3.3e+87], N[(t$95$4 + N[(NdChar / N[(N[(EDonor / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$5]]]]]]]]]]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;Vef \leq -1.42 \cdot 10^{-54}:\\
\;\;\;\;t_4 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\

\mathbf{elif}\;Vef \leq -1.5 \cdot 10^{-75}:\\
\;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\

\mathbf{elif}\;Vef \leq -8.2 \cdot 10^{-162}:\\
\;\;\;\;t_3\\

\mathbf{elif}\;Vef \leq 1.75 \cdot 10^{-293}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq 7 \cdot 10^{-254}:\\
\;\;\;\;t_2 + \frac{NdChar}{1 + e^{-\frac{Ec}{KbT}}}\\

\mathbf{elif}\;Vef \leq 6.2 \cdot 10^{-196}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq 3.6 \cdot 10^{-55}:\\
\;\;\;\;t_3\\

\mathbf{elif}\;Vef \leq 3.3 \cdot 10^{+87}:\\
\;\;\;\;t_4 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\

\mathbf{else}:\\
\;\;\;\;t_5\\


\end{array}
\end{array}
Derivation
  1. Split input into 7 regimes
  2. if Vef < -8.1999999999999996e116 or 3.3000000000000001e87 < 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.8%

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

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

    if -8.1999999999999996e116 < Vef < -1.4199999999999999e-54

    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 68.4%

      \[\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{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]

    if -1.4199999999999999e-54 < Vef < -1.4999999999999999e-75

    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.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 Ev around 0 73.1%

      \[\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. unpow273.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 \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow273.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 \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified73.1%

      \[\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)}} \]

    if -1.4999999999999999e-75 < Vef < -8.20000000000000039e-162 or 6.19999999999999986e-196 < Vef < 3.6000000000000001e-55

    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.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-189.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-frac89.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. Simplified89.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 84.1%

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

    if -8.20000000000000039e-162 < Vef < 1.7500000000000001e-293 or 7.00000000000000014e-254 < Vef < 6.19999999999999986e-196

    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 EDonor around inf 89.4%

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

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

    if 1.7500000000000001e-293 < Vef < 7.00000000000000014e-254

    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.9%

      \[\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-187.9%

        \[\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-frac87.9%

        \[\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. Simplified87.9%

      \[\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 87.9%

      \[\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. associate-*r/77.8%

        \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{-1 \cdot Ec}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} \]
      2. mul-1-neg77.8%

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

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

    if 3.6000000000000001e-55 < Vef < 3.3000000000000001e87

    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 EDonor around inf 74.6%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -8.2 \cdot 10^{+116}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq -1.42 \cdot 10^{-54}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -1.5 \cdot 10^{-75}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -8.2 \cdot 10^{-162}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Vef \leq 1.75 \cdot 10^{-293}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 7 \cdot 10^{-254}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{-\frac{Ec}{KbT}}}\\ \mathbf{elif}\;Vef \leq 6.2 \cdot 10^{-196}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 3.6 \cdot 10^{-55}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Vef \leq 3.3 \cdot 10^{+87}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \end{array} \]

Alternative 5: 76.9% 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{EDonor}{KbT}}}\\ t_1 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_2 := t_1 + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}}\\ \mathbf{if}\;mu \leq -2.1 \cdot 10^{+95}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;mu \leq -2200:\\ \;\;\;\;t_0\\ \mathbf{elif}\;mu \leq -2.9 \cdot 10^{-110}:\\ \;\;\;\;t_1 + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \mathbf{elif}\;mu \leq 1.45 \cdot 10^{+178}:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \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 (/ EDonor KbT))))))
        (t_1 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_2 (+ t_1 (/ NaChar (+ 1.0 (exp (/ (- mu) KbT)))))))
   (if (<= mu -2.1e+95)
     t_2
     (if (<= mu -2200.0)
       t_0
       (if (<= mu -2.9e-110)
         (+ t_1 (/ NaChar (+ 1.0 (exp (/ EAccept KbT)))))
         (if (<= mu 1.45e+178) t_0 t_2))))))
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((EDonor / KbT))));
	double t_1 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_2 = t_1 + (NaChar / (1.0 + exp((-mu / KbT))));
	double tmp;
	if (mu <= -2.1e+95) {
		tmp = t_2;
	} else if (mu <= -2200.0) {
		tmp = t_0;
	} else if (mu <= -2.9e-110) {
		tmp = t_1 + (NaChar / (1.0 + exp((EAccept / KbT))));
	} else if (mu <= 1.45e+178) {
		tmp = t_0;
	} else {
		tmp = t_2;
	}
	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 = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / (1.0d0 + exp((edonor / kbt))))
    t_1 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_2 = t_1 + (nachar / (1.0d0 + exp((-mu / kbt))))
    if (mu <= (-2.1d+95)) then
        tmp = t_2
    else if (mu <= (-2200.0d0)) then
        tmp = t_0
    else if (mu <= (-2.9d-110)) then
        tmp = t_1 + (nachar / (1.0d0 + exp((eaccept / kbt))))
    else if (mu <= 1.45d+178) then
        tmp = t_0
    else
        tmp = t_2
    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((EDonor / KbT))));
	double t_1 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_2 = t_1 + (NaChar / (1.0 + Math.exp((-mu / KbT))));
	double tmp;
	if (mu <= -2.1e+95) {
		tmp = t_2;
	} else if (mu <= -2200.0) {
		tmp = t_0;
	} else if (mu <= -2.9e-110) {
		tmp = t_1 + (NaChar / (1.0 + Math.exp((EAccept / KbT))));
	} else if (mu <= 1.45e+178) {
		tmp = t_0;
	} else {
		tmp = t_2;
	}
	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((EDonor / KbT))))
	t_1 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_2 = t_1 + (NaChar / (1.0 + math.exp((-mu / KbT))))
	tmp = 0
	if mu <= -2.1e+95:
		tmp = t_2
	elif mu <= -2200.0:
		tmp = t_0
	elif mu <= -2.9e-110:
		tmp = t_1 + (NaChar / (1.0 + math.exp((EAccept / KbT))))
	elif mu <= 1.45e+178:
		tmp = t_0
	else:
		tmp = t_2
	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(EDonor / 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 + exp(Float64(Float64(-mu) / KbT)))))
	tmp = 0.0
	if (mu <= -2.1e+95)
		tmp = t_2;
	elseif (mu <= -2200.0)
		tmp = t_0;
	elseif (mu <= -2.9e-110)
		tmp = Float64(t_1 + Float64(NaChar / Float64(1.0 + exp(Float64(EAccept / KbT)))));
	elseif (mu <= 1.45e+178)
		tmp = t_0;
	else
		tmp = t_2;
	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((EDonor / KbT))));
	t_1 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_2 = t_1 + (NaChar / (1.0 + exp((-mu / KbT))));
	tmp = 0.0;
	if (mu <= -2.1e+95)
		tmp = t_2;
	elseif (mu <= -2200.0)
		tmp = t_0;
	elseif (mu <= -2.9e-110)
		tmp = t_1 + (NaChar / (1.0 + exp((EAccept / KbT))));
	elseif (mu <= 1.45e+178)
		tmp = t_0;
	else
		tmp = t_2;
	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[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $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[Exp[N[((-mu) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[mu, -2.1e+95], t$95$2, If[LessEqual[mu, -2200.0], t$95$0, If[LessEqual[mu, -2.9e-110], N[(t$95$1 + N[(NaChar / N[(1.0 + N[Exp[N[(EAccept / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[mu, 1.45e+178], t$95$0, t$95$2]]]]]]]
\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{EDonor}{KbT}}}\\
t_1 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\
t_2 := t_1 + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}}\\
\mathbf{if}\;mu \leq -2.1 \cdot 10^{+95}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;mu \leq -2200:\\
\;\;\;\;t_0\\

\mathbf{elif}\;mu \leq -2.9 \cdot 10^{-110}:\\
\;\;\;\;t_1 + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\

\mathbf{elif}\;mu \leq 1.45 \cdot 10^{+178}:\\
\;\;\;\;t_0\\

\mathbf{else}:\\
\;\;\;\;t_2\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if mu < -2.1e95 or 1.45e178 < 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.9%

      \[\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-192.9%

        \[\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-frac92.9%

        \[\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. Simplified92.9%

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

    if -2.1e95 < mu < -2200 or -2.9000000000000002e-110 < mu < 1.45e178

    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 EDonor around inf 82.8%

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

    if -2200 < mu < -2.9000000000000002e-110

    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 89.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}}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification86.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;mu \leq -2.1 \cdot 10^{+95}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}}\\ \mathbf{elif}\;mu \leq -2200:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{elif}\;mu \leq -2.9 \cdot 10^{-110}:\\ \;\;\;\;\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.45 \cdot 10^{+178}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}}\\ \end{array} \]

Alternative 6: 62.8% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ t_2 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}\\ t_3 := \frac{NaChar}{t_0} + \frac{NdChar}{t_0}\\ \mathbf{if}\;Vef \leq -7.2 \cdot 10^{+116}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;Vef \leq -4 \cdot 10^{-53}:\\ \;\;\;\;t_2 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -3.2 \cdot 10^{-75}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -8.4 \cdot 10^{-162}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 3.4 \cdot 10^{-198}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 7.5 \cdot 10^{-55}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 8 \cdot 10^{+86}:\\ \;\;\;\;t_2 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;t_3\\ \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
         (+
          (/ NaChar (+ 1.0 (exp (/ (- mu) KbT))))
          (/ NdChar (+ 1.0 (exp (/ mu KbT))))))
        (t_2 (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT)))))
        (t_3 (+ (/ NaChar t_0) (/ NdChar t_0))))
   (if (<= Vef -7.2e+116)
     t_3
     (if (<= Vef -4e-53)
       (+
        t_2
        (/
         NdChar
         (- (+ (/ mu KbT) (+ 2.0 (+ (/ EDonor KbT) (/ Vef KbT)))) (/ Ec KbT))))
       (if (<= Vef -3.2e-75)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/
           NaChar
           (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (/ (* Ev Ev) (* KbT KbT))))))))
         (if (<= Vef -8.4e-162)
           t_1
           (if (<= Vef 3.4e-198)
             (+
              (/ NdChar (+ 1.0 (exp (/ EDonor KbT))))
              (/ NaChar (+ 1.0 (exp (/ Ev KbT)))))
             (if (<= Vef 7.5e-55)
               t_1
               (if (<= Vef 8e+86)
                 (+ t_2 (/ NdChar (+ (/ EDonor KbT) 2.0)))
                 t_3)))))))))
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 = (NaChar / (1.0 + exp((-mu / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	double t_2 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_3 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -7.2e+116) {
		tmp = t_3;
	} else if (Vef <= -4e-53) {
		tmp = t_2 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	} else if (Vef <= -3.2e-75) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -8.4e-162) {
		tmp = t_1;
	} else if (Vef <= 3.4e-198) {
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	} else if (Vef <= 7.5e-55) {
		tmp = t_1;
	} else if (Vef <= 8e+86) {
		tmp = t_2 + (NdChar / ((EDonor / KbT) + 2.0));
	} else {
		tmp = t_3;
	}
	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 = 1.0d0 + exp((vef / kbt))
    t_1 = (nachar / (1.0d0 + exp((-mu / kbt)))) + (ndchar / (1.0d0 + exp((mu / kbt))))
    t_2 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_3 = (nachar / t_0) + (ndchar / t_0)
    if (vef <= (-7.2d+116)) then
        tmp = t_3
    else if (vef <= (-4d-53)) then
        tmp = t_2 + (ndchar / (((mu / kbt) + (2.0d0 + ((edonor / kbt) + (vef / kbt)))) - (ec / kbt)))
    else if (vef <= (-3.2d-75)) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev * ev) / (kbt * kbt)))))))
    else if (vef <= (-8.4d-162)) then
        tmp = t_1
    else if (vef <= 3.4d-198) then
        tmp = (ndchar / (1.0d0 + exp((edonor / kbt)))) + (nachar / (1.0d0 + exp((ev / kbt))))
    else if (vef <= 7.5d-55) then
        tmp = t_1
    else if (vef <= 8d+86) then
        tmp = t_2 + (ndchar / ((edonor / kbt) + 2.0d0))
    else
        tmp = t_3
    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 = (NaChar / (1.0 + Math.exp((-mu / KbT)))) + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double t_2 = NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_3 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -7.2e+116) {
		tmp = t_3;
	} else if (Vef <= -4e-53) {
		tmp = t_2 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	} else if (Vef <= -3.2e-75) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -8.4e-162) {
		tmp = t_1;
	} else if (Vef <= 3.4e-198) {
		tmp = (NdChar / (1.0 + Math.exp((EDonor / KbT)))) + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	} else if (Vef <= 7.5e-55) {
		tmp = t_1;
	} else if (Vef <= 8e+86) {
		tmp = t_2 + (NdChar / ((EDonor / KbT) + 2.0));
	} else {
		tmp = t_3;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = 1.0 + math.exp((Vef / KbT))
	t_1 = (NaChar / (1.0 + math.exp((-mu / KbT)))) + (NdChar / (1.0 + math.exp((mu / KbT))))
	t_2 = NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))
	t_3 = (NaChar / t_0) + (NdChar / t_0)
	tmp = 0
	if Vef <= -7.2e+116:
		tmp = t_3
	elif Vef <= -4e-53:
		tmp = t_2 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)))
	elif Vef <= -3.2e-75:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))))
	elif Vef <= -8.4e-162:
		tmp = t_1
	elif Vef <= 3.4e-198:
		tmp = (NdChar / (1.0 + math.exp((EDonor / KbT)))) + (NaChar / (1.0 + math.exp((Ev / KbT))))
	elif Vef <= 7.5e-55:
		tmp = t_1
	elif Vef <= 8e+86:
		tmp = t_2 + (NdChar / ((EDonor / KbT) + 2.0))
	else:
		tmp = t_3
	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(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(-mu) / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))))
	t_2 = Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_3 = Float64(Float64(NaChar / t_0) + Float64(NdChar / t_0))
	tmp = 0.0
	if (Vef <= -7.2e+116)
		tmp = t_3;
	elseif (Vef <= -4e-53)
		tmp = Float64(t_2 + Float64(NdChar / Float64(Float64(Float64(mu / KbT) + Float64(2.0 + Float64(Float64(EDonor / KbT) + Float64(Vef / KbT)))) - Float64(Ec / KbT))));
	elseif (Vef <= -3.2e-75)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev * Ev) / Float64(KbT * KbT))))))));
	elseif (Vef <= -8.4e-162)
		tmp = t_1;
	elseif (Vef <= 3.4e-198)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))));
	elseif (Vef <= 7.5e-55)
		tmp = t_1;
	elseif (Vef <= 8e+86)
		tmp = Float64(t_2 + Float64(NdChar / Float64(Float64(EDonor / KbT) + 2.0)));
	else
		tmp = t_3;
	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 = (NaChar / (1.0 + exp((-mu / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	t_2 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	t_3 = (NaChar / t_0) + (NdChar / t_0);
	tmp = 0.0;
	if (Vef <= -7.2e+116)
		tmp = t_3;
	elseif (Vef <= -4e-53)
		tmp = t_2 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	elseif (Vef <= -3.2e-75)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	elseif (Vef <= -8.4e-162)
		tmp = t_1;
	elseif (Vef <= 3.4e-198)
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	elseif (Vef <= 7.5e-55)
		tmp = t_1;
	elseif (Vef <= 8e+86)
		tmp = t_2 + (NdChar / ((EDonor / KbT) + 2.0));
	else
		tmp = t_3;
	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[(N[(NaChar / N[(1.0 + N[Exp[N[((-mu) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(NaChar / t$95$0), $MachinePrecision] + N[(NdChar / t$95$0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -7.2e+116], t$95$3, If[LessEqual[Vef, -4e-53], N[(t$95$2 + N[(NdChar / N[(N[(N[(mu / KbT), $MachinePrecision] + N[(2.0 + N[(N[(EDonor / KbT), $MachinePrecision] + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(Ec / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -3.2e-75], 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[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev * Ev), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -8.4e-162], t$95$1, If[LessEqual[Vef, 3.4e-198], N[(N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 7.5e-55], t$95$1, If[LessEqual[Vef, 8e+86], N[(t$95$2 + N[(NdChar / N[(N[(EDonor / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$3]]]]]]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;Vef \leq -4 \cdot 10^{-53}:\\
\;\;\;\;t_2 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\

\mathbf{elif}\;Vef \leq -3.2 \cdot 10^{-75}:\\
\;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\

\mathbf{elif}\;Vef \leq -8.4 \cdot 10^{-162}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq 3.4 \cdot 10^{-198}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\

\mathbf{elif}\;Vef \leq 7.5 \cdot 10^{-55}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq 8 \cdot 10^{+86}:\\
\;\;\;\;t_2 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\

\mathbf{else}:\\
\;\;\;\;t_3\\


\end{array}
\end{array}
Derivation
  1. Split input into 6 regimes
  2. if Vef < -7.19999999999999941e116 or 8.0000000000000001e86 < 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.8%

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

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

    if -7.19999999999999941e116 < Vef < -4.00000000000000012e-53

    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 68.4%

      \[\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{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]

    if -4.00000000000000012e-53 < Vef < -3.19999999999999977e-75

    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.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 Ev around 0 73.1%

      \[\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. unpow273.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 \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow273.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 \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified73.1%

      \[\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)}} \]

    if -3.19999999999999977e-75 < Vef < -8.4e-162 or 3.3999999999999998e-198 < Vef < 7.50000000000000023e-55

    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.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-189.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-frac89.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. Simplified89.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 84.1%

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

    if -8.4e-162 < Vef < 3.3999999999999998e-198

    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 EDonor around inf 84.6%

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

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

    if 7.50000000000000023e-55 < Vef < 8.0000000000000001e86

    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 EDonor around inf 74.6%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -7.2 \cdot 10^{+116}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq -4 \cdot 10^{-53}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -3.2 \cdot 10^{-75}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -8.4 \cdot 10^{-162}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Vef \leq 3.4 \cdot 10^{-198}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 7.5 \cdot 10^{-55}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Vef \leq 8 \cdot 10^{+86}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \end{array} \]

Alternative 7: 71.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ t_1 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{if}\;mu \leq -4.2 \cdot 10^{+179}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;mu \leq -2200:\\ \;\;\;\;t_1\\ \mathbf{elif}\;mu \leq -1.66 \cdot 10^{-109}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;mu \leq 1.3 \cdot 10^{+241}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (let* ((t_0
         (+
          (/ NaChar (+ 1.0 (exp (/ (- mu) KbT))))
          (/ NdChar (+ 1.0 (exp (/ mu KbT))))))
        (t_1
         (+
          (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
          (/ NdChar (+ 1.0 (exp (/ EDonor KbT)))))))
   (if (<= mu -4.2e+179)
     t_0
     (if (<= mu -2200.0)
       t_1
       (if (<= mu -1.66e-109)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/ NaChar (+ (/ Vef KbT) 2.0)))
         (if (<= mu 1.3e+241) t_1 t_0))))))
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((-mu / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	double t_1 = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	double tmp;
	if (mu <= -4.2e+179) {
		tmp = t_0;
	} else if (mu <= -2200.0) {
		tmp = t_1;
	} else if (mu <= -1.66e-109) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	} else if (mu <= 1.3e+241) {
		tmp = t_1;
	} else {
		tmp = t_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 = (nachar / (1.0d0 + exp((-mu / kbt)))) + (ndchar / (1.0d0 + exp((mu / kbt))))
    t_1 = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / (1.0d0 + exp((edonor / kbt))))
    if (mu <= (-4.2d+179)) then
        tmp = t_0
    else if (mu <= (-2200.0d0)) then
        tmp = t_1
    else if (mu <= (-1.66d-109)) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / ((vef / kbt) + 2.0d0))
    else if (mu <= 1.3d+241) then
        tmp = t_1
    else
        tmp = t_0
    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((-mu / KbT)))) + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double t_1 = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	double tmp;
	if (mu <= -4.2e+179) {
		tmp = t_0;
	} else if (mu <= -2200.0) {
		tmp = t_1;
	} else if (mu <= -1.66e-109) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	} else if (mu <= 1.3e+241) {
		tmp = t_1;
	} else {
		tmp = t_0;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = (NaChar / (1.0 + math.exp((-mu / KbT)))) + (NdChar / (1.0 + math.exp((mu / KbT))))
	t_1 = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	tmp = 0
	if mu <= -4.2e+179:
		tmp = t_0
	elif mu <= -2200.0:
		tmp = t_1
	elif mu <= -1.66e-109:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0))
	elif mu <= 1.3e+241:
		tmp = t_1
	else:
		tmp = t_0
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(-mu) / KbT)))) + Float64(NdChar / Float64(1.0 + exp(Float64(mu / 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(EDonor / KbT)))))
	tmp = 0.0
	if (mu <= -4.2e+179)
		tmp = t_0;
	elseif (mu <= -2200.0)
		tmp = t_1;
	elseif (mu <= -1.66e-109)
		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)));
	elseif (mu <= 1.3e+241)
		tmp = t_1;
	else
		tmp = t_0;
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = (NaChar / (1.0 + exp((-mu / KbT)))) + (NdChar / (1.0 + exp((mu / KbT))));
	t_1 = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (1.0 + exp((EDonor / KbT))));
	tmp = 0.0;
	if (mu <= -4.2e+179)
		tmp = t_0;
	elseif (mu <= -2200.0)
		tmp = t_1;
	elseif (mu <= -1.66e-109)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	elseif (mu <= 1.3e+241)
		tmp = t_1;
	else
		tmp = t_0;
	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[((-mu) / 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[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[mu, -4.2e+179], t$95$0, If[LessEqual[mu, -2200.0], t$95$1, If[LessEqual[mu, -1.66e-109], 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], If[LessEqual[mu, 1.3e+241], t$95$1, t$95$0]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;mu \leq -2200:\\
\;\;\;\;t_1\\

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

\mathbf{elif}\;mu \leq 1.3 \cdot 10^{+241}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;t_0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if mu < -4.1999999999999997e179 or 1.30000000000000004e241 < 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 93.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-193.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-frac93.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. Simplified93.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 86.0%

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

    if -4.1999999999999997e179 < mu < -2200 or -1.65999999999999997e-109 < mu < 1.30000000000000004e241

    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 EDonor around inf 80.5%

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

    if -2200 < mu < -1.65999999999999997e-109

    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 90.8%

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

      \[\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 3 regimes into one program.
  4. Final simplification82.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;mu \leq -4.2 \cdot 10^{+179}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;mu \leq -2200:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{elif}\;mu \leq -1.66 \cdot 10^{-109}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;mu \leq 1.3 \cdot 10^{+241}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \end{array} \]

Alternative 8: 75.1% 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}}}\\ t_1 := t_0 + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ t_2 := t_0 + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{if}\;mu \leq -6 \cdot 10^{+169}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;mu \leq -2200:\\ \;\;\;\;t_1\\ \mathbf{elif}\;mu \leq -1.66 \cdot 10^{-109}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;mu \leq 1.5 \cdot 10^{+127}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \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)))))
        (t_1 (+ t_0 (/ NdChar (+ 1.0 (exp (/ EDonor KbT))))))
        (t_2 (+ t_0 (/ NdChar (+ 1.0 (exp (/ mu KbT)))))))
   (if (<= mu -6e+169)
     t_2
     (if (<= mu -2200.0)
       t_1
       (if (<= mu -1.66e-109)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/ NaChar (+ (/ Vef KbT) 2.0)))
         (if (<= mu 1.5e+127) t_1 t_2))))))
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)));
	double t_1 = t_0 + (NdChar / (1.0 + exp((EDonor / KbT))));
	double t_2 = t_0 + (NdChar / (1.0 + exp((mu / KbT))));
	double tmp;
	if (mu <= -6e+169) {
		tmp = t_2;
	} else if (mu <= -2200.0) {
		tmp = t_1;
	} else if (mu <= -1.66e-109) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	} else if (mu <= 1.5e+127) {
		tmp = t_1;
	} else {
		tmp = t_2;
	}
	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 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_1 = t_0 + (ndchar / (1.0d0 + exp((edonor / kbt))))
    t_2 = t_0 + (ndchar / (1.0d0 + exp((mu / kbt))))
    if (mu <= (-6d+169)) then
        tmp = t_2
    else if (mu <= (-2200.0d0)) then
        tmp = t_1
    else if (mu <= (-1.66d-109)) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / ((vef / kbt) + 2.0d0))
    else if (mu <= 1.5d+127) then
        tmp = t_1
    else
        tmp = t_2
    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)));
	double t_1 = t_0 + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	double t_2 = t_0 + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double tmp;
	if (mu <= -6e+169) {
		tmp = t_2;
	} else if (mu <= -2200.0) {
		tmp = t_1;
	} else if (mu <= -1.66e-109) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	} else if (mu <= 1.5e+127) {
		tmp = t_1;
	} else {
		tmp = t_2;
	}
	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)))
	t_1 = t_0 + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	t_2 = t_0 + (NdChar / (1.0 + math.exp((mu / KbT))))
	tmp = 0
	if mu <= -6e+169:
		tmp = t_2
	elif mu <= -2200.0:
		tmp = t_1
	elif mu <= -1.66e-109:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0))
	elif mu <= 1.5e+127:
		tmp = t_1
	else:
		tmp = t_2
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_1 = Float64(t_0 + Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))))
	t_2 = Float64(t_0 + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))))
	tmp = 0.0
	if (mu <= -6e+169)
		tmp = t_2;
	elseif (mu <= -2200.0)
		tmp = t_1;
	elseif (mu <= -1.66e-109)
		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)));
	elseif (mu <= 1.5e+127)
		tmp = t_1;
	else
		tmp = t_2;
	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)));
	t_1 = t_0 + (NdChar / (1.0 + exp((EDonor / KbT))));
	t_2 = t_0 + (NdChar / (1.0 + exp((mu / KbT))));
	tmp = 0.0;
	if (mu <= -6e+169)
		tmp = t_2;
	elseif (mu <= -2200.0)
		tmp = t_1;
	elseif (mu <= -1.66e-109)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	elseif (mu <= 1.5e+127)
		tmp = t_1;
	else
		tmp = t_2;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$0 + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[mu, -6e+169], t$95$2, If[LessEqual[mu, -2200.0], t$95$1, If[LessEqual[mu, -1.66e-109], 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], If[LessEqual[mu, 1.5e+127], t$95$1, t$95$2]]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;mu \leq -2200:\\
\;\;\;\;t_1\\

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

\mathbf{elif}\;mu \leq 1.5 \cdot 10^{+127}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;t_2\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if mu < -5.9999999999999999e169 or 1.5000000000000001e127 < 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 84.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}}} \]

    if -5.9999999999999999e169 < mu < -2200 or -1.65999999999999997e-109 < mu < 1.5000000000000001e127

    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 EDonor around inf 82.1%

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

    if -2200 < mu < -1.65999999999999997e-109

    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 90.8%

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

      \[\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 3 regimes into one program.
  4. Final simplification83.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;mu \leq -6 \cdot 10^{+169}:\\ \;\;\;\;\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 -2200:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{elif}\;mu \leq -1.66 \cdot 10^{-109}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{elif}\;mu \leq 1.5 \cdot 10^{+127}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{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 9: 76.3% 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}}}\\ t_1 := t_0 + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ t_2 := t_0 + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{if}\;mu \leq -4.05 \cdot 10^{+170}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;mu \leq -2800:\\ \;\;\;\;t_1\\ \mathbf{elif}\;mu \leq -1.65 \cdot 10^{-109}:\\ \;\;\;\;\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.05 \cdot 10^{+128}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \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)))))
        (t_1 (+ t_0 (/ NdChar (+ 1.0 (exp (/ EDonor KbT))))))
        (t_2 (+ t_0 (/ NdChar (+ 1.0 (exp (/ mu KbT)))))))
   (if (<= mu -4.05e+170)
     t_2
     (if (<= mu -2800.0)
       t_1
       (if (<= mu -1.65e-109)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/ NaChar (+ 1.0 (exp (/ EAccept KbT)))))
         (if (<= mu 1.05e+128) t_1 t_2))))))
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)));
	double t_1 = t_0 + (NdChar / (1.0 + exp((EDonor / KbT))));
	double t_2 = t_0 + (NdChar / (1.0 + exp((mu / KbT))));
	double tmp;
	if (mu <= -4.05e+170) {
		tmp = t_2;
	} else if (mu <= -2800.0) {
		tmp = t_1;
	} else if (mu <= -1.65e-109) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + exp((EAccept / KbT))));
	} else if (mu <= 1.05e+128) {
		tmp = t_1;
	} else {
		tmp = t_2;
	}
	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 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_1 = t_0 + (ndchar / (1.0d0 + exp((edonor / kbt))))
    t_2 = t_0 + (ndchar / (1.0d0 + exp((mu / kbt))))
    if (mu <= (-4.05d+170)) then
        tmp = t_2
    else if (mu <= (-2800.0d0)) then
        tmp = t_1
    else if (mu <= (-1.65d-109)) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + exp((eaccept / kbt))))
    else if (mu <= 1.05d+128) then
        tmp = t_1
    else
        tmp = t_2
    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)));
	double t_1 = t_0 + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	double t_2 = t_0 + (NdChar / (1.0 + Math.exp((mu / KbT))));
	double tmp;
	if (mu <= -4.05e+170) {
		tmp = t_2;
	} else if (mu <= -2800.0) {
		tmp = t_1;
	} else if (mu <= -1.65e-109) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + Math.exp((EAccept / KbT))));
	} else if (mu <= 1.05e+128) {
		tmp = t_1;
	} else {
		tmp = t_2;
	}
	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)))
	t_1 = t_0 + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	t_2 = t_0 + (NdChar / (1.0 + math.exp((mu / KbT))))
	tmp = 0
	if mu <= -4.05e+170:
		tmp = t_2
	elif mu <= -2800.0:
		tmp = t_1
	elif mu <= -1.65e-109:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + math.exp((EAccept / KbT))))
	elif mu <= 1.05e+128:
		tmp = t_1
	else:
		tmp = t_2
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_1 = Float64(t_0 + Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))))
	t_2 = Float64(t_0 + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))))
	tmp = 0.0
	if (mu <= -4.05e+170)
		tmp = t_2;
	elseif (mu <= -2800.0)
		tmp = t_1;
	elseif (mu <= -1.65e-109)
		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 (mu <= 1.05e+128)
		tmp = t_1;
	else
		tmp = t_2;
	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)));
	t_1 = t_0 + (NdChar / (1.0 + exp((EDonor / KbT))));
	t_2 = t_0 + (NdChar / (1.0 + exp((mu / KbT))));
	tmp = 0.0;
	if (mu <= -4.05e+170)
		tmp = t_2;
	elseif (mu <= -2800.0)
		tmp = t_1;
	elseif (mu <= -1.65e-109)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + exp((EAccept / KbT))));
	elseif (mu <= 1.05e+128)
		tmp = t_1;
	else
		tmp = t_2;
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(t$95$0 + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$0 + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[mu, -4.05e+170], t$95$2, If[LessEqual[mu, -2800.0], t$95$1, If[LessEqual[mu, -1.65e-109], 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[mu, 1.05e+128], t$95$1, t$95$2]]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;mu \leq -2800:\\
\;\;\;\;t_1\\

\mathbf{elif}\;mu \leq -1.65 \cdot 10^{-109}:\\
\;\;\;\;\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.05 \cdot 10^{+128}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;t_2\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if mu < -4.04999999999999982e170 or 1.05e128 < 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 84.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}}} \]

    if -4.04999999999999982e170 < mu < -2800 or -1.64999999999999995e-109 < mu < 1.05e128

    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 EDonor around inf 82.1%

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

    if -2800 < mu < -1.64999999999999995e-109

    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 89.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}}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification83.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;mu \leq -4.05 \cdot 10^{+170}:\\ \;\;\;\;\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 -2800:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{elif}\;mu \leq -1.65 \cdot 10^{-109}:\\ \;\;\;\;\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.05 \cdot 10^{+128}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{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 10: 70.5% 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}}}\\ t_1 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}}\\ t_2 := t_1 + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{if}\;Ev \leq -3.8 \cdot 10^{+148}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Ev \leq -2.35 \cdot 10^{+95}:\\ \;\;\;\;t_0 + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Ev \leq -1.8 \cdot 10^{+40}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Ev \leq 2.7 \cdot 10^{-300}:\\ \;\;\;\;t_0 + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;t_1 + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \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)))))
        (t_1 (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT)))))
        (t_2 (+ t_1 (/ NaChar (+ 1.0 (exp (/ Ev KbT)))))))
   (if (<= Ev -3.8e+148)
     t_2
     (if (<= Ev -2.35e+95)
       (+ t_0 (/ NdChar (+ 1.0 (exp (/ mu KbT)))))
       (if (<= Ev -1.8e+40)
         t_2
         (if (<= Ev 2.7e-300)
           (+ t_0 (/ NdChar (+ 1.0 (exp (/ EDonor KbT)))))
           (+ t_1 (/ NaChar (+ 1.0 (exp (/ EAccept KbT)))))))))))
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)));
	double t_1 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_2 = t_1 + (NaChar / (1.0 + exp((Ev / KbT))));
	double tmp;
	if (Ev <= -3.8e+148) {
		tmp = t_2;
	} else if (Ev <= -2.35e+95) {
		tmp = t_0 + (NdChar / (1.0 + exp((mu / KbT))));
	} else if (Ev <= -1.8e+40) {
		tmp = t_2;
	} else if (Ev <= 2.7e-300) {
		tmp = t_0 + (NdChar / (1.0 + exp((EDonor / KbT))));
	} else {
		tmp = t_1 + (NaChar / (1.0 + exp((EAccept / 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 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_1 = ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))
    t_2 = t_1 + (nachar / (1.0d0 + exp((ev / kbt))))
    if (ev <= (-3.8d+148)) then
        tmp = t_2
    else if (ev <= (-2.35d+95)) then
        tmp = t_0 + (ndchar / (1.0d0 + exp((mu / kbt))))
    else if (ev <= (-1.8d+40)) then
        tmp = t_2
    else if (ev <= 2.7d-300) then
        tmp = t_0 + (ndchar / (1.0d0 + exp((edonor / kbt))))
    else
        tmp = t_1 + (nachar / (1.0d0 + exp((eaccept / 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 = NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_1 = NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	double t_2 = t_1 + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	double tmp;
	if (Ev <= -3.8e+148) {
		tmp = t_2;
	} else if (Ev <= -2.35e+95) {
		tmp = t_0 + (NdChar / (1.0 + Math.exp((mu / KbT))));
	} else if (Ev <= -1.8e+40) {
		tmp = t_2;
	} else if (Ev <= 2.7e-300) {
		tmp = t_0 + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	} else {
		tmp = t_1 + (NaChar / (1.0 + Math.exp((EAccept / KbT))));
	}
	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)))
	t_1 = NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))
	t_2 = t_1 + (NaChar / (1.0 + math.exp((Ev / KbT))))
	tmp = 0
	if Ev <= -3.8e+148:
		tmp = t_2
	elif Ev <= -2.35e+95:
		tmp = t_0 + (NdChar / (1.0 + math.exp((mu / KbT))))
	elif Ev <= -1.8e+40:
		tmp = t_2
	elif Ev <= 2.7e-300:
		tmp = t_0 + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	else:
		tmp = t_1 + (NaChar / (1.0 + math.exp((EAccept / KbT))))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / 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 + exp(Float64(Ev / KbT)))))
	tmp = 0.0
	if (Ev <= -3.8e+148)
		tmp = t_2;
	elseif (Ev <= -2.35e+95)
		tmp = Float64(t_0 + Float64(NdChar / Float64(1.0 + exp(Float64(mu / KbT)))));
	elseif (Ev <= -1.8e+40)
		tmp = t_2;
	elseif (Ev <= 2.7e-300)
		tmp = Float64(t_0 + Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))));
	else
		tmp = Float64(t_1 + Float64(NaChar / Float64(1.0 + exp(Float64(EAccept / KbT)))));
	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)));
	t_1 = NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)));
	t_2 = t_1 + (NaChar / (1.0 + exp((Ev / KbT))));
	tmp = 0.0;
	if (Ev <= -3.8e+148)
		tmp = t_2;
	elseif (Ev <= -2.35e+95)
		tmp = t_0 + (NdChar / (1.0 + exp((mu / KbT))));
	elseif (Ev <= -1.8e+40)
		tmp = t_2;
	elseif (Ev <= 2.7e-300)
		tmp = t_0 + (NdChar / (1.0 + exp((EDonor / KbT))));
	else
		tmp = t_1 + (NaChar / (1.0 + exp((EAccept / KbT))));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := Block[{t$95$0 = N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $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[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Ev, -3.8e+148], t$95$2, If[LessEqual[Ev, -2.35e+95], N[(t$95$0 + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Ev, -1.8e+40], t$95$2, If[LessEqual[Ev, 2.7e-300], N[(t$95$0 + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(t$95$1 + N[(NaChar / N[(1.0 + N[Exp[N[(EAccept / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}

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

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

\mathbf{elif}\;Ev \leq -1.8 \cdot 10^{+40}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Ev \leq 2.7 \cdot 10^{-300}:\\
\;\;\;\;t_0 + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\

\mathbf{else}:\\
\;\;\;\;t_1 + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if Ev < -3.7999999999999998e148 or -2.34999999999999986e95 < Ev < -1.79999999999999998e40

    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 85.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}}}} \]

    if -3.7999999999999998e148 < Ev < -2.34999999999999986e95

    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 100.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}}} \]

    if -1.79999999999999998e40 < Ev < 2.69999999999999995e-300

    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 EDonor around inf 77.4%

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

    if 2.69999999999999995e-300 < Ev

    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 67.3%

      \[\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 4 regimes into one program.
  4. Final simplification75.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Ev \leq -3.8 \cdot 10^{+148}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Ev \leq -2.35 \cdot 10^{+95}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \mathbf{elif}\;Ev \leq -1.8 \cdot 10^{+40}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Ev \leq 2.7 \cdot 10^{-300}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}}\\ \end{array} \]

Alternative 11: 62.5% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}\\ t_2 := t_1 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ t_3 := \frac{NaChar}{t_0} + \frac{NdChar}{t_0}\\ \mathbf{if}\;Vef \leq -1.92 \cdot 10^{+117}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;Vef \leq -7.5 \cdot 10^{-57}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq -1.12 \cdot 10^{-73}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -1.65 \cdot 10^{-162}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq 4.4 \cdot 10^{-121}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 3.9 \cdot 10^{+89}:\\ \;\;\;\;t_1 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;t_3\\ \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 (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT)))))
        (t_2
         (+
          t_1
          (/
           NdChar
           (-
            (+ (/ mu KbT) (+ 2.0 (+ (/ EDonor KbT) (/ Vef KbT))))
            (/ Ec KbT)))))
        (t_3 (+ (/ NaChar t_0) (/ NdChar t_0))))
   (if (<= Vef -1.92e+117)
     t_3
     (if (<= Vef -7.5e-57)
       t_2
       (if (<= Vef -1.12e-73)
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/
           NaChar
           (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (/ (* Ev Ev) (* KbT KbT))))))))
         (if (<= Vef -1.65e-162)
           t_2
           (if (<= Vef 4.4e-121)
             (+
              (/ NdChar (+ 1.0 (exp (/ EDonor KbT))))
              (/ NaChar (+ 1.0 (exp (/ Ev KbT)))))
             (if (<= Vef 3.9e+89)
               (+ t_1 (/ NdChar (+ (/ EDonor KbT) 2.0)))
               t_3))))))))
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 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	double t_3 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -1.92e+117) {
		tmp = t_3;
	} else if (Vef <= -7.5e-57) {
		tmp = t_2;
	} else if (Vef <= -1.12e-73) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -1.65e-162) {
		tmp = t_2;
	} else if (Vef <= 4.4e-121) {
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	} else if (Vef <= 3.9e+89) {
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	} else {
		tmp = t_3;
	}
	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 = 1.0d0 + exp((vef / kbt))
    t_1 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_2 = t_1 + (ndchar / (((mu / kbt) + (2.0d0 + ((edonor / kbt) + (vef / kbt)))) - (ec / kbt)))
    t_3 = (nachar / t_0) + (ndchar / t_0)
    if (vef <= (-1.92d+117)) then
        tmp = t_3
    else if (vef <= (-7.5d-57)) then
        tmp = t_2
    else if (vef <= (-1.12d-73)) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev * ev) / (kbt * kbt)))))))
    else if (vef <= (-1.65d-162)) then
        tmp = t_2
    else if (vef <= 4.4d-121) then
        tmp = (ndchar / (1.0d0 + exp((edonor / kbt)))) + (nachar / (1.0d0 + exp((ev / kbt))))
    else if (vef <= 3.9d+89) then
        tmp = t_1 + (ndchar / ((edonor / kbt) + 2.0d0))
    else
        tmp = t_3
    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 = NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	double t_3 = (NaChar / t_0) + (NdChar / t_0);
	double tmp;
	if (Vef <= -1.92e+117) {
		tmp = t_3;
	} else if (Vef <= -7.5e-57) {
		tmp = t_2;
	} else if (Vef <= -1.12e-73) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -1.65e-162) {
		tmp = t_2;
	} else if (Vef <= 4.4e-121) {
		tmp = (NdChar / (1.0 + Math.exp((EDonor / KbT)))) + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	} else if (Vef <= 3.9e+89) {
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	} else {
		tmp = t_3;
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = 1.0 + math.exp((Vef / KbT))
	t_1 = NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))
	t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)))
	t_3 = (NaChar / t_0) + (NdChar / t_0)
	tmp = 0
	if Vef <= -1.92e+117:
		tmp = t_3
	elif Vef <= -7.5e-57:
		tmp = t_2
	elif Vef <= -1.12e-73:
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))))
	elif Vef <= -1.65e-162:
		tmp = t_2
	elif Vef <= 4.4e-121:
		tmp = (NdChar / (1.0 + math.exp((EDonor / KbT)))) + (NaChar / (1.0 + math.exp((Ev / KbT))))
	elif Vef <= 3.9e+89:
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0))
	else:
		tmp = t_3
	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(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_2 = Float64(t_1 + Float64(NdChar / Float64(Float64(Float64(mu / KbT) + Float64(2.0 + Float64(Float64(EDonor / KbT) + Float64(Vef / KbT)))) - Float64(Ec / KbT))))
	t_3 = Float64(Float64(NaChar / t_0) + Float64(NdChar / t_0))
	tmp = 0.0
	if (Vef <= -1.92e+117)
		tmp = t_3;
	elseif (Vef <= -7.5e-57)
		tmp = t_2;
	elseif (Vef <= -1.12e-73)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev * Ev) / Float64(KbT * KbT))))))));
	elseif (Vef <= -1.65e-162)
		tmp = t_2;
	elseif (Vef <= 4.4e-121)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))));
	elseif (Vef <= 3.9e+89)
		tmp = Float64(t_1 + Float64(NdChar / Float64(Float64(EDonor / KbT) + 2.0)));
	else
		tmp = t_3;
	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 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	t_3 = (NaChar / t_0) + (NdChar / t_0);
	tmp = 0.0;
	if (Vef <= -1.92e+117)
		tmp = t_3;
	elseif (Vef <= -7.5e-57)
		tmp = t_2;
	elseif (Vef <= -1.12e-73)
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	elseif (Vef <= -1.65e-162)
		tmp = t_2;
	elseif (Vef <= 4.4e-121)
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	elseif (Vef <= 3.9e+89)
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	else
		tmp = t_3;
	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[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(NdChar / N[(N[(N[(mu / KbT), $MachinePrecision] + N[(2.0 + N[(N[(EDonor / KbT), $MachinePrecision] + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(Ec / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(NaChar / t$95$0), $MachinePrecision] + N[(NdChar / t$95$0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -1.92e+117], t$95$3, If[LessEqual[Vef, -7.5e-57], t$95$2, If[LessEqual[Vef, -1.12e-73], 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[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev * Ev), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -1.65e-162], t$95$2, If[LessEqual[Vef, 4.4e-121], N[(N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 3.9e+89], N[(t$95$1 + N[(NdChar / N[(N[(EDonor / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$3]]]]]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;Vef \leq -7.5 \cdot 10^{-57}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Vef \leq -1.12 \cdot 10^{-73}:\\
\;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\

\mathbf{elif}\;Vef \leq -1.65 \cdot 10^{-162}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Vef \leq 4.4 \cdot 10^{-121}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\

\mathbf{elif}\;Vef \leq 3.9 \cdot 10^{+89}:\\
\;\;\;\;t_1 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\

\mathbf{else}:\\
\;\;\;\;t_3\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if Vef < -1.92e117 or 3.90000000000000011e89 < 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.8%

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

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

    if -1.92e117 < Vef < -7.49999999999999973e-57 or -1.11999999999999995e-73 < Vef < -1.65000000000000007e-162

    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 71.5%

      \[\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{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]

    if -7.49999999999999973e-57 < Vef < -1.11999999999999995e-73

    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.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 Ev around 0 73.1%

      \[\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. unpow273.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 \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow273.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 \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified73.1%

      \[\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)}} \]

    if -1.65000000000000007e-162 < Vef < 4.40000000000000042e-121

    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 EDonor around inf 83.2%

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

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

    if 4.40000000000000042e-121 < Vef < 3.90000000000000011e89

    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 EDonor around inf 73.0%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -1.92 \cdot 10^{+117}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq -7.5 \cdot 10^{-57}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -1.12 \cdot 10^{-73}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -1.65 \cdot 10^{-162}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq 4.4 \cdot 10^{-121}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 3.9 \cdot 10^{+89}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} + \frac{NdChar}{1 + e^{\frac{Vef}{KbT}}}\\ \end{array} \]

Alternative 12: 77.9% 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}}}\\ t_1 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{if}\;Vef \leq -2.4 \cdot 10^{+65}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 1.05 \cdot 10^{-127}:\\ \;\;\;\;t_0 + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{elif}\;Vef \leq 2.9 \cdot 10^{+88}:\\ \;\;\;\;t_0 + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\ \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)))))
        (t_1
         (+
          (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
          (/ NaChar (+ 1.0 (exp (/ Vef KbT)))))))
   (if (<= Vef -2.4e+65)
     t_1
     (if (<= Vef 1.05e-127)
       (+ t_0 (/ NdChar (+ 1.0 (exp (/ EDonor KbT)))))
       (if (<= Vef 2.9e+88)
         (+ t_0 (/ NdChar (+ 1.0 (exp (/ 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 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_1 = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + exp((Vef / KbT))));
	double tmp;
	if (Vef <= -2.4e+65) {
		tmp = t_1;
	} else if (Vef <= 1.05e-127) {
		tmp = t_0 + (NdChar / (1.0 + exp((EDonor / KbT))));
	} else if (Vef <= 2.9e+88) {
		tmp = t_0 + (NdChar / (1.0 + exp((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 = nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))
    t_1 = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + exp((vef / kbt))))
    if (vef <= (-2.4d+65)) then
        tmp = t_1
    else if (vef <= 1.05d-127) then
        tmp = t_0 + (ndchar / (1.0d0 + exp((edonor / kbt))))
    else if (vef <= 2.9d+88) then
        tmp = t_0 + (ndchar / (1.0d0 + exp((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 = NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_1 = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + Math.exp((Vef / KbT))));
	double tmp;
	if (Vef <= -2.4e+65) {
		tmp = t_1;
	} else if (Vef <= 1.05e-127) {
		tmp = t_0 + (NdChar / (1.0 + Math.exp((EDonor / KbT))));
	} else if (Vef <= 2.9e+88) {
		tmp = t_0 + (NdChar / (1.0 + Math.exp((mu / KbT))));
	} 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)))
	t_1 = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + math.exp((Vef / KbT))))
	tmp = 0
	if Vef <= -2.4e+65:
		tmp = t_1
	elif Vef <= 1.05e-127:
		tmp = t_0 + (NdChar / (1.0 + math.exp((EDonor / KbT))))
	elif Vef <= 2.9e+88:
		tmp = t_0 + (NdChar / (1.0 + math.exp((mu / KbT))))
	else:
		tmp = t_1
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	t_0 = Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_1 = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT)))))
	tmp = 0.0
	if (Vef <= -2.4e+65)
		tmp = t_1;
	elseif (Vef <= 1.05e-127)
		tmp = Float64(t_0 + Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))));
	elseif (Vef <= 2.9e+88)
		tmp = Float64(t_0 + Float64(NdChar / Float64(1.0 + exp(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 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	t_1 = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + exp((Vef / KbT))));
	tmp = 0.0;
	if (Vef <= -2.4e+65)
		tmp = t_1;
	elseif (Vef <= 1.05e-127)
		tmp = t_0 + (NdChar / (1.0 + exp((EDonor / KbT))));
	elseif (Vef <= 2.9e+88)
		tmp = t_0 + (NdChar / (1.0 + exp((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[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = 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[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -2.4e+65], t$95$1, If[LessEqual[Vef, 1.05e-127], N[(t$95$0 + N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 2.9e+88], N[(t$95$0 + N[(NdChar / N[(1.0 + N[Exp[N[(mu / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 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}}}\\
t_1 := \frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\
\mathbf{if}\;Vef \leq -2.4 \cdot 10^{+65}:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq 1.05 \cdot 10^{-127}:\\
\;\;\;\;t_0 + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\

\mathbf{elif}\;Vef \leq 2.9 \cdot 10^{+88}:\\
\;\;\;\;t_0 + \frac{NdChar}{1 + e^{\frac{mu}{KbT}}}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if Vef < -2.4000000000000002e65 or 2.9e88 < 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 86.6%

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

    if -2.4000000000000002e65 < Vef < 1.05000000000000005e-127

    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 EDonor around inf 83.2%

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

    if 1.05000000000000005e-127 < Vef < 2.9e88

    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.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}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification84.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -2.4 \cdot 10^{+65}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq 1.05 \cdot 10^{-127}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}}\\ \mathbf{elif}\;Vef \leq 2.9 \cdot 10^{+88}:\\ \;\;\;\;\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{Vef}{KbT}}}\\ \end{array} \]

Alternative 13: 56.3% 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}}}\\ t_2 := t_1 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{if}\;Vef \leq -3.1 \cdot 10^{+121}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq -9.2 \cdot 10^{-57}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq -3.5 \cdot 10^{-73}:\\ \;\;\;\;t_0 + \frac{NaChar}{1 + \left(\frac{Ev}{KbT} + \left(1 + 0.5 \cdot \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -1.9 \cdot 10^{-163}:\\ \;\;\;\;t_2\\ \mathbf{elif}\;Vef \leq 4.5 \cdot 10^{-121}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 1.85 \cdot 10^{+111}:\\ \;\;\;\;t_1 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \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 (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT)))))
        (t_2
         (+
          t_1
          (/
           NdChar
           (-
            (+ (/ mu KbT) (+ 2.0 (+ (/ EDonor KbT) (/ Vef KbT))))
            (/ Ec KbT))))))
   (if (<= Vef -3.1e+121)
     (/ NaChar (+ 1.0 (exp (/ Vef KbT))))
     (if (<= Vef -9.2e-57)
       t_2
       (if (<= Vef -3.5e-73)
         (+
          t_0
          (/
           NaChar
           (+ 1.0 (+ (/ Ev KbT) (+ 1.0 (* 0.5 (/ (* Ev Ev) (* KbT KbT))))))))
         (if (<= Vef -1.9e-163)
           t_2
           (if (<= Vef 4.5e-121)
             (+
              (/ NdChar (+ 1.0 (exp (/ EDonor KbT))))
              (/ NaChar (+ 1.0 (exp (/ Ev KbT)))))
             (if (<= Vef 1.85e+111)
               (+ t_1 (/ NdChar (+ (/ EDonor KbT) 2.0)))
               (+ 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 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	double tmp;
	if (Vef <= -3.1e+121) {
		tmp = NaChar / (1.0 + exp((Vef / KbT)));
	} else if (Vef <= -9.2e-57) {
		tmp = t_2;
	} else if (Vef <= -3.5e-73) {
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -1.9e-163) {
		tmp = t_2;
	} else if (Vef <= 4.5e-121) {
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	} else if (Vef <= 1.85e+111) {
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	} 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) :: t_2
    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)))
    t_2 = t_1 + (ndchar / (((mu / kbt) + (2.0d0 + ((edonor / kbt) + (vef / kbt)))) - (ec / kbt)))
    if (vef <= (-3.1d+121)) then
        tmp = nachar / (1.0d0 + exp((vef / kbt)))
    else if (vef <= (-9.2d-57)) then
        tmp = t_2
    else if (vef <= (-3.5d-73)) then
        tmp = t_0 + (nachar / (1.0d0 + ((ev / kbt) + (1.0d0 + (0.5d0 * ((ev * ev) / (kbt * kbt)))))))
    else if (vef <= (-1.9d-163)) then
        tmp = t_2
    else if (vef <= 4.5d-121) then
        tmp = (ndchar / (1.0d0 + exp((edonor / kbt)))) + (nachar / (1.0d0 + exp((ev / kbt))))
    else if (vef <= 1.85d+111) then
        tmp = t_1 + (ndchar / ((edonor / kbt) + 2.0d0))
    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 = NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	double t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	double tmp;
	if (Vef <= -3.1e+121) {
		tmp = NaChar / (1.0 + Math.exp((Vef / KbT)));
	} else if (Vef <= -9.2e-57) {
		tmp = t_2;
	} else if (Vef <= -3.5e-73) {
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	} else if (Vef <= -1.9e-163) {
		tmp = t_2;
	} else if (Vef <= 4.5e-121) {
		tmp = (NdChar / (1.0 + Math.exp((EDonor / KbT)))) + (NaChar / (1.0 + Math.exp((Ev / KbT))));
	} else if (Vef <= 1.85e+111) {
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	} 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 = NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))
	t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)))
	tmp = 0
	if Vef <= -3.1e+121:
		tmp = NaChar / (1.0 + math.exp((Vef / KbT)))
	elif Vef <= -9.2e-57:
		tmp = t_2
	elif Vef <= -3.5e-73:
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))))
	elif Vef <= -1.9e-163:
		tmp = t_2
	elif Vef <= 4.5e-121:
		tmp = (NdChar / (1.0 + math.exp((EDonor / KbT)))) + (NaChar / (1.0 + math.exp((Ev / KbT))))
	elif Vef <= 1.85e+111:
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0))
	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(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT))))
	t_2 = Float64(t_1 + Float64(NdChar / Float64(Float64(Float64(mu / KbT) + Float64(2.0 + Float64(Float64(EDonor / KbT) + Float64(Vef / KbT)))) - Float64(Ec / KbT))))
	tmp = 0.0
	if (Vef <= -3.1e+121)
		tmp = Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT))));
	elseif (Vef <= -9.2e-57)
		tmp = t_2;
	elseif (Vef <= -3.5e-73)
		tmp = Float64(t_0 + Float64(NaChar / Float64(1.0 + Float64(Float64(Ev / KbT) + Float64(1.0 + Float64(0.5 * Float64(Float64(Ev * Ev) / Float64(KbT * KbT))))))));
	elseif (Vef <= -1.9e-163)
		tmp = t_2;
	elseif (Vef <= 4.5e-121)
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(EDonor / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))));
	elseif (Vef <= 1.85e+111)
		tmp = Float64(t_1 + Float64(NdChar / Float64(Float64(EDonor / KbT) + 2.0)));
	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 = NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)));
	t_2 = t_1 + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	tmp = 0.0;
	if (Vef <= -3.1e+121)
		tmp = NaChar / (1.0 + exp((Vef / KbT)));
	elseif (Vef <= -9.2e-57)
		tmp = t_2;
	elseif (Vef <= -3.5e-73)
		tmp = t_0 + (NaChar / (1.0 + ((Ev / KbT) + (1.0 + (0.5 * ((Ev * Ev) / (KbT * KbT)))))));
	elseif (Vef <= -1.9e-163)
		tmp = t_2;
	elseif (Vef <= 4.5e-121)
		tmp = (NdChar / (1.0 + exp((EDonor / KbT)))) + (NaChar / (1.0 + exp((Ev / KbT))));
	elseif (Vef <= 1.85e+111)
		tmp = t_1 + (NdChar / ((EDonor / KbT) + 2.0));
	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[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(Vef + N[(Ev + EAccept), $MachinePrecision]), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 + N[(NdChar / N[(N[(N[(mu / KbT), $MachinePrecision] + N[(2.0 + N[(N[(EDonor / KbT), $MachinePrecision] + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(Ec / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[Vef, -3.1e+121], N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -9.2e-57], t$95$2, If[LessEqual[Vef, -3.5e-73], N[(t$95$0 + N[(NaChar / N[(1.0 + N[(N[(Ev / KbT), $MachinePrecision] + N[(1.0 + N[(0.5 * N[(N[(Ev * Ev), $MachinePrecision] / N[(KbT * KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, -1.9e-163], t$95$2, If[LessEqual[Vef, 4.5e-121], N[(N[(NdChar / N[(1.0 + N[Exp[N[(EDonor / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 1.85e+111], N[(t$95$1 + N[(NdChar / N[(N[(EDonor / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 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 := \frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}}\\
t_2 := t_1 + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\
\mathbf{if}\;Vef \leq -3.1 \cdot 10^{+121}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\

\mathbf{elif}\;Vef \leq -9.2 \cdot 10^{-57}:\\
\;\;\;\;t_2\\

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

\mathbf{elif}\;Vef \leq -1.9 \cdot 10^{-163}:\\
\;\;\;\;t_2\\

\mathbf{elif}\;Vef \leq 4.5 \cdot 10^{-121}:\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\

\mathbf{elif}\;Vef \leq 1.85 \cdot 10^{+111}:\\
\;\;\;\;t_1 + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 6 regimes
  2. if Vef < -3.10000000000000008e121

    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 90.0%

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

      \[\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{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 49.2%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*49.2%

        \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    8. Simplified49.2%

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    9. Taylor expanded in KbT around 0 66.5%

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

    if -3.10000000000000008e121 < Vef < -9.2000000000000001e-57 or -3.4999999999999998e-73 < Vef < -1.9e-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 KbT around inf 71.5%

      \[\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{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]

    if -9.2000000000000001e-57 < Vef < -3.4999999999999998e-73

    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.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 Ev around 0 73.1%

      \[\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. unpow273.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 \frac{\color{blue}{Ev \cdot Ev}}{{KbT}^{2}}\right)\right)} \]
      2. unpow273.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 \frac{Ev \cdot Ev}{\color{blue}{KbT \cdot KbT}}\right)\right)} \]
    7. Simplified73.1%

      \[\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)}} \]

    if -1.9e-163 < Vef < 4.5000000000000003e-121

    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 EDonor around inf 83.2%

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

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

    if 4.5000000000000003e-121 < Vef < 1.8500000000000001e111

    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 EDonor around inf 72.3%

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

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

    if 1.8500000000000001e111 < 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 91.8%

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

      \[\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 6 regimes into one program.
  4. Final simplification67.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -3.1 \cdot 10^{+121}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq -9.2 \cdot 10^{-57}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq -3.5 \cdot 10^{-73}:\\ \;\;\;\;\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 \frac{Ev \cdot Ev}{KbT \cdot KbT}\right)\right)}\\ \mathbf{elif}\;Vef \leq -1.9 \cdot 10^{-163}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \mathbf{elif}\;Vef \leq 4.5 \cdot 10^{-121}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{EDonor}{KbT}}} + \frac{NaChar}{1 + e^{\frac{Ev}{KbT}}}\\ \mathbf{elif}\;Vef \leq 1.85 \cdot 10^{+111}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \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: 63.3% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NdChar \leq -3.7 \cdot 10^{+62} \lor \neg \left(NdChar \leq 5600\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 + \frac{Ev}{KbT}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= NdChar -3.7e+62) (not (<= NdChar 5600.0)))
   (+
    (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
    (/ NaChar (+ 1.0 (+ 1.0 (/ Ev KbT)))))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (/
     NdChar
     (- (+ (/ mu KbT) (+ 2.0 (+ (/ EDonor KbT) (/ Vef KbT)))) (/ 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 ((NdChar <= -3.7e+62) || !(NdChar <= 5600.0)) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + (1.0 + (Ev / KbT))));
	} else {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (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 ((ndchar <= (-3.7d+62)) .or. (.not. (ndchar <= 5600.0d0))) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + (1.0d0 + (ev / kbt))))
    else
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / (((mu / kbt) + (2.0d0 + ((edonor / kbt) + (vef / kbt)))) - (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 ((NdChar <= -3.7e+62) || !(NdChar <= 5600.0)) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + (1.0 + (Ev / KbT))));
	} else {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (NdChar <= -3.7e+62) or not (NdChar <= 5600.0):
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + (1.0 + (Ev / KbT))))
	else:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((NdChar <= -3.7e+62) || !(NdChar <= 5600.0))
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + Float64(1.0 + Float64(Ev / KbT)))));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / Float64(Float64(Float64(mu / KbT) + Float64(2.0 + Float64(Float64(EDonor / KbT) + Float64(Vef / KbT)))) - Float64(Ec / KbT))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((NdChar <= -3.7e+62) || ~((NdChar <= 5600.0)))
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + (1.0 + (Ev / KbT))));
	else
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT)));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[NdChar, -3.7e+62], N[Not[LessEqual[NdChar, 5600.0]], $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[(1.0 + N[(1.0 + N[(Ev / 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[(N[(N[(mu / KbT), $MachinePrecision] + N[(2.0 + N[(N[(EDonor / KbT), $MachinePrecision] + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(Ec / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NdChar \leq -3.7 \cdot 10^{+62} \lor \neg \left(NdChar \leq 5600\right):\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 + \frac{Ev}{KbT}\right)}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NdChar < -3.70000000000000014e62 or 5600 < 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 76.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 69.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} + 1\right)}} \]

    if -3.70000000000000014e62 < NdChar < 5600

    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 61.2%

      \[\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{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification64.7%

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

Alternative 15: 61.6% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NdChar \leq -1.75 \cdot 10^{+144} \lor \neg \left(NdChar \leq 4200\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 + \frac{Ev}{KbT}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= NdChar -1.75e+144) (not (<= NdChar 4200.0)))
   (+
    (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
    (/ NaChar (+ 1.0 (+ 1.0 (/ Ev KbT)))))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (/ NdChar (+ (/ EDonor 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 ((NdChar <= -1.75e+144) || !(NdChar <= 4200.0)) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + (1.0 + (Ev / KbT))));
	} else {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / ((EDonor / 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 ((ndchar <= (-1.75d+144)) .or. (.not. (ndchar <= 4200.0d0))) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / (1.0d0 + (1.0d0 + (ev / kbt))))
    else
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / ((edonor / 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 ((NdChar <= -1.75e+144) || !(NdChar <= 4200.0)) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + (1.0 + (Ev / KbT))));
	} else {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / ((EDonor / KbT) + 2.0));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (NdChar <= -1.75e+144) or not (NdChar <= 4200.0):
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + (1.0 + (Ev / KbT))))
	else:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / ((EDonor / KbT) + 2.0))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((NdChar <= -1.75e+144) || !(NdChar <= 4200.0))
		tmp = Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(mu + Float64(Float64(Vef + EDonor) - Ec)) / KbT)))) + Float64(NaChar / Float64(1.0 + Float64(1.0 + Float64(Ev / KbT)))));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / Float64(Float64(EDonor / KbT) + 2.0)));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((NdChar <= -1.75e+144) || ~((NdChar <= 4200.0)))
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / (1.0 + (1.0 + (Ev / KbT))));
	else
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / ((EDonor / KbT) + 2.0));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[NdChar, -1.75e+144], N[Not[LessEqual[NdChar, 4200.0]], $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[(1.0 + N[(1.0 + N[(Ev / 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[(N[(EDonor / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NdChar \leq -1.75 \cdot 10^{+144} \lor \neg \left(NdChar \leq 4200\right):\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{1 + \left(1 + \frac{Ev}{KbT}\right)}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NdChar < -1.7499999999999999e144 or 4200 < 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 78.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 70.4%

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

    if -1.7499999999999999e144 < NdChar < 4200

    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 EDonor around inf 77.5%

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

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

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

Alternative 16: 61.3% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NaChar \leq -7.1 \cdot 10^{+75} \lor \neg \left(NaChar \leq 1.16 \cdot 10^{-11}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{2}\\ \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 -7.1e+75) (not (<= NaChar 1.16e-11)))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (/ NdChar 2.0))
   (+
    (/ 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 <= -7.1e+75) || !(NaChar <= 1.16e-11)) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / 2.0);
	} 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 <= (-7.1d+75)) .or. (.not. (nachar <= 1.16d-11))) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / 2.0d0)
    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 <= -7.1e+75) || !(NaChar <= 1.16e-11)) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / 2.0);
	} 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 <= -7.1e+75) or not (NaChar <= 1.16e-11):
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / 2.0)
	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 <= -7.1e+75) || !(NaChar <= 1.16e-11))
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / 2.0));
	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 <= -7.1e+75) || ~((NaChar <= 1.16e-11)))
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / 2.0);
	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, -7.1e+75], N[Not[LessEqual[NaChar, 1.16e-11]], $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 / 2.0), $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 -7.1 \cdot 10^{+75} \lor \neg \left(NaChar \leq 1.16 \cdot 10^{-11}\right):\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{2}\\

\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 < -7.09999999999999982e75 or 1.1600000000000001e-11 < 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 KbT around inf 53.7%

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

    if -7.09999999999999982e75 < NaChar < 1.1600000000000001e-11

    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 70.8%

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

      \[\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 simplification58.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;NaChar \leq -7.1 \cdot 10^{+75} \lor \neg \left(NaChar \leq 1.16 \cdot 10^{-11}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{2}\\ \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: 62.1% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;NdChar \leq -1.1 \cdot 10^{+144} \lor \neg \left(NdChar \leq 1550\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{\frac{EDonor}{KbT} + 2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= NdChar -1.1e+144) (not (<= NdChar 1550.0)))
   (+
    (/ NdChar (+ 1.0 (exp (/ (+ mu (- (+ Vef EDonor) Ec)) KbT))))
    (/ NaChar (+ (/ Vef KbT) 2.0)))
   (+
    (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
    (/ NdChar (+ (/ EDonor 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 ((NdChar <= -1.1e+144) || !(NdChar <= 1550.0)) {
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	} else {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / ((EDonor / 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 ((ndchar <= (-1.1d+144)) .or. (.not. (ndchar <= 1550.0d0))) then
        tmp = (ndchar / (1.0d0 + exp(((mu + ((vef + edonor) - ec)) / kbt)))) + (nachar / ((vef / kbt) + 2.0d0))
    else
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / ((edonor / 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 ((NdChar <= -1.1e+144) || !(NdChar <= 1550.0)) {
		tmp = (NdChar / (1.0 + Math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	} else {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / ((EDonor / KbT) + 2.0));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (NdChar <= -1.1e+144) or not (NdChar <= 1550.0):
		tmp = (NdChar / (1.0 + math.exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0))
	else:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / ((EDonor / KbT) + 2.0))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((NdChar <= -1.1e+144) || !(NdChar <= 1550.0))
		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)));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / Float64(Float64(EDonor / KbT) + 2.0)));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((NdChar <= -1.1e+144) || ~((NdChar <= 1550.0)))
		tmp = (NdChar / (1.0 + exp(((mu + ((Vef + EDonor) - Ec)) / KbT)))) + (NaChar / ((Vef / KbT) + 2.0));
	else
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / ((EDonor / KbT) + 2.0));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[NdChar, -1.1e+144], N[Not[LessEqual[NdChar, 1550.0]], $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], 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[(N[(EDonor / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;NdChar \leq -1.1 \cdot 10^{+144} \lor \neg \left(NdChar \leq 1550\right):\\
\;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + \frac{NaChar}{\frac{Vef}{KbT} + 2}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NdChar < -1.09999999999999994e144 or 1550 < 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 77.2%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\color{blue}{Vef}}{KbT}}} \]
    5. Taylor expanded in Vef around 0 66.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.09999999999999994e144 < NdChar < 1550

    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 EDonor around inf 77.5%

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

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

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

Alternative 18: 56.6% accurate, 1.9× speedup?

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if NdChar < -6.3999999999999999e66 or 6.50000000000000043e-22 < 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 mu around inf 81.8%

      \[\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-181.8%

        \[\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-frac81.8%

        \[\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. Simplified81.8%

      \[\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 60.6%

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

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

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

    if -6.3999999999999999e66 < NdChar < 6.50000000000000043e-22

    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 52.3%

      \[\leadsto \frac{NdChar}{\color{blue}{2}} + \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 -6.4 \cdot 10^{+66} \lor \neg \left(NdChar \leq 6.5 \cdot 10^{-22}\right):\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{mu + \left(\left(Vef + EDonor\right) - Ec\right)}{KbT}}} + NaChar \cdot 0.5\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{2}\\ \end{array} \]

Alternative 19: 47.5% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NaChar}{t_0}\\ \mathbf{if}\;Vef \leq -1.15 \cdot 10^{+16}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 9.2 \cdot 10^{+67}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;Vef \leq 7 \cdot 10^{+179}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{t_0} + NaChar \cdot 0.5\\ \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 (/ NaChar t_0)))
   (if (<= Vef -1.15e+16)
     t_1
     (if (<= Vef 9.2e+67)
       (+
        (/ NaChar (+ 1.0 (exp (/ (- (+ Vef (+ Ev EAccept)) mu) KbT))))
        (/ NdChar 2.0))
       (if (<= Vef 7e+179) t_1 (+ (/ NdChar t_0) (* NaChar 0.5)))))))
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 = NaChar / t_0;
	double tmp;
	if (Vef <= -1.15e+16) {
		tmp = t_1;
	} else if (Vef <= 9.2e+67) {
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / 2.0);
	} else if (Vef <= 7e+179) {
		tmp = t_1;
	} else {
		tmp = (NdChar / t_0) + (NaChar * 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) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = 1.0d0 + exp((vef / kbt))
    t_1 = nachar / t_0
    if (vef <= (-1.15d+16)) then
        tmp = t_1
    else if (vef <= 9.2d+67) then
        tmp = (nachar / (1.0d0 + exp((((vef + (ev + eaccept)) - mu) / kbt)))) + (ndchar / 2.0d0)
    else if (vef <= 7d+179) then
        tmp = t_1
    else
        tmp = (ndchar / t_0) + (nachar * 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 t_0 = 1.0 + Math.exp((Vef / KbT));
	double t_1 = NaChar / t_0;
	double tmp;
	if (Vef <= -1.15e+16) {
		tmp = t_1;
	} else if (Vef <= 9.2e+67) {
		tmp = (NaChar / (1.0 + Math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / 2.0);
	} else if (Vef <= 7e+179) {
		tmp = t_1;
	} else {
		tmp = (NdChar / t_0) + (NaChar * 0.5);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = 1.0 + math.exp((Vef / KbT))
	t_1 = NaChar / t_0
	tmp = 0
	if Vef <= -1.15e+16:
		tmp = t_1
	elif Vef <= 9.2e+67:
		tmp = (NaChar / (1.0 + math.exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / 2.0)
	elif Vef <= 7e+179:
		tmp = t_1
	else:
		tmp = (NdChar / t_0) + (NaChar * 0.5)
	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(NaChar / t_0)
	tmp = 0.0
	if (Vef <= -1.15e+16)
		tmp = t_1;
	elseif (Vef <= 9.2e+67)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Vef + Float64(Ev + EAccept)) - mu) / KbT)))) + Float64(NdChar / 2.0));
	elseif (Vef <= 7e+179)
		tmp = t_1;
	else
		tmp = Float64(Float64(NdChar / t_0) + Float64(NaChar * 0.5));
	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 = NaChar / t_0;
	tmp = 0.0;
	if (Vef <= -1.15e+16)
		tmp = t_1;
	elseif (Vef <= 9.2e+67)
		tmp = (NaChar / (1.0 + exp((((Vef + (Ev + EAccept)) - mu) / KbT)))) + (NdChar / 2.0);
	elseif (Vef <= 7e+179)
		tmp = t_1;
	else
		tmp = (NdChar / t_0) + (NaChar * 0.5);
	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[(NaChar / t$95$0), $MachinePrecision]}, If[LessEqual[Vef, -1.15e+16], t$95$1, If[LessEqual[Vef, 9.2e+67], 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 / 2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 7e+179], t$95$1, N[(N[(NdChar / t$95$0), $MachinePrecision] + N[(NaChar * 0.5), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := 1 + e^{\frac{Vef}{KbT}}\\
t_1 := \frac{NaChar}{t_0}\\
\mathbf{if}\;Vef \leq -1.15 \cdot 10^{+16}:\\
\;\;\;\;t_1\\

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

\mathbf{elif}\;Vef \leq 7 \cdot 10^{+179}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;\frac{NdChar}{t_0} + NaChar \cdot 0.5\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if Vef < -1.15e16 or 9.1999999999999994e67 < Vef < 7.0000000000000003e179

    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 76.7%

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

      \[\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{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 41.7%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*42.7%

        \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    8. Simplified42.7%

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    9. Taylor expanded in KbT around 0 57.4%

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

    if -1.15e16 < Vef < 9.1999999999999994e67

    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 52.1%

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

    if 7.0000000000000003e179 < 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 mu around inf 80.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-180.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-frac80.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. Simplified80.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 0 71.9%

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

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

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

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} + NaChar \cdot 0.5 \]
  3. Recombined 3 regimes into one program.
  4. Final simplification54.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -1.15 \cdot 10^{+16}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq 9.2 \cdot 10^{+67}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{\left(Vef + \left(Ev + EAccept\right)\right) - mu}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;Vef \leq 7 \cdot 10^{+179}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{Vef}{KbT}}} + NaChar \cdot 0.5\\ \end{array} \]

Alternative 20: 43.1% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NaChar}{t_0}\\ \mathbf{if}\;Vef \leq -8 \cdot 10^{+84}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 1.2 \cdot 10^{+67}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{\frac{mu}{KbT} + 2}\\ \mathbf{elif}\;Vef \leq 2.85 \cdot 10^{+180}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{t_0} + NaChar \cdot 0.5\\ \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 (/ NaChar t_0)))
   (if (<= Vef -8e+84)
     t_1
     (if (<= Vef 1.2e+67)
       (+
        (/ NaChar (+ 1.0 (exp (/ (- mu) KbT))))
        (/ NdChar (+ (/ mu KbT) 2.0)))
       (if (<= Vef 2.85e+180) t_1 (+ (/ NdChar t_0) (* NaChar 0.5)))))))
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 = NaChar / t_0;
	double tmp;
	if (Vef <= -8e+84) {
		tmp = t_1;
	} else if (Vef <= 1.2e+67) {
		tmp = (NaChar / (1.0 + exp((-mu / KbT)))) + (NdChar / ((mu / KbT) + 2.0));
	} else if (Vef <= 2.85e+180) {
		tmp = t_1;
	} else {
		tmp = (NdChar / t_0) + (NaChar * 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) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = 1.0d0 + exp((vef / kbt))
    t_1 = nachar / t_0
    if (vef <= (-8d+84)) then
        tmp = t_1
    else if (vef <= 1.2d+67) then
        tmp = (nachar / (1.0d0 + exp((-mu / kbt)))) + (ndchar / ((mu / kbt) + 2.0d0))
    else if (vef <= 2.85d+180) then
        tmp = t_1
    else
        tmp = (ndchar / t_0) + (nachar * 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 t_0 = 1.0 + Math.exp((Vef / KbT));
	double t_1 = NaChar / t_0;
	double tmp;
	if (Vef <= -8e+84) {
		tmp = t_1;
	} else if (Vef <= 1.2e+67) {
		tmp = (NaChar / (1.0 + Math.exp((-mu / KbT)))) + (NdChar / ((mu / KbT) + 2.0));
	} else if (Vef <= 2.85e+180) {
		tmp = t_1;
	} else {
		tmp = (NdChar / t_0) + (NaChar * 0.5);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = 1.0 + math.exp((Vef / KbT))
	t_1 = NaChar / t_0
	tmp = 0
	if Vef <= -8e+84:
		tmp = t_1
	elif Vef <= 1.2e+67:
		tmp = (NaChar / (1.0 + math.exp((-mu / KbT)))) + (NdChar / ((mu / KbT) + 2.0))
	elif Vef <= 2.85e+180:
		tmp = t_1
	else:
		tmp = (NdChar / t_0) + (NaChar * 0.5)
	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(NaChar / t_0)
	tmp = 0.0
	if (Vef <= -8e+84)
		tmp = t_1;
	elseif (Vef <= 1.2e+67)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Float64(-mu) / KbT)))) + Float64(NdChar / Float64(Float64(mu / KbT) + 2.0)));
	elseif (Vef <= 2.85e+180)
		tmp = t_1;
	else
		tmp = Float64(Float64(NdChar / t_0) + Float64(NaChar * 0.5));
	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 = NaChar / t_0;
	tmp = 0.0;
	if (Vef <= -8e+84)
		tmp = t_1;
	elseif (Vef <= 1.2e+67)
		tmp = (NaChar / (1.0 + exp((-mu / KbT)))) + (NdChar / ((mu / KbT) + 2.0));
	elseif (Vef <= 2.85e+180)
		tmp = t_1;
	else
		tmp = (NdChar / t_0) + (NaChar * 0.5);
	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[(NaChar / t$95$0), $MachinePrecision]}, If[LessEqual[Vef, -8e+84], t$95$1, If[LessEqual[Vef, 1.2e+67], N[(N[(NaChar / N[(1.0 + N[Exp[N[((-mu) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / N[(N[(mu / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 2.85e+180], t$95$1, N[(N[(NdChar / t$95$0), $MachinePrecision] + N[(NaChar * 0.5), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := 1 + e^{\frac{Vef}{KbT}}\\
t_1 := \frac{NaChar}{t_0}\\
\mathbf{if}\;Vef \leq -8 \cdot 10^{+84}:\\
\;\;\;\;t_1\\

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

\mathbf{elif}\;Vef \leq 2.85 \cdot 10^{+180}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;\frac{NdChar}{t_0} + NaChar \cdot 0.5\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if Vef < -8.00000000000000046e84 or 1.20000000000000001e67 < Vef < 2.8500000000000001e180

    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.1%

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

      \[\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{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 45.9%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*47.1%

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

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    9. Taylor expanded in KbT around 0 61.7%

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

    if -8.00000000000000046e84 < Vef < 1.20000000000000001e67

    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 74.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-174.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-frac74.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. Simplified74.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 mu around inf 61.0%

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{mu}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} \]
    8. Taylor expanded in mu around 0 43.7%

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

    if 2.8500000000000001e180 < 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 mu around inf 80.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-180.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-frac80.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. Simplified80.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 0 71.9%

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

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

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

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} + NaChar \cdot 0.5 \]
  3. Recombined 3 regimes into one program.
  4. Final simplification50.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -8 \cdot 10^{+84}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq 1.2 \cdot 10^{+67}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{-mu}{KbT}}} + \frac{NdChar}{\frac{mu}{KbT} + 2}\\ \mathbf{elif}\;Vef \leq 2.85 \cdot 10^{+180}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{Vef}{KbT}}} + NaChar \cdot 0.5\\ \end{array} \]

Alternative 21: 41.8% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 + e^{\frac{Vef}{KbT}}\\ t_1 := \frac{NaChar}{t_0}\\ \mathbf{if}\;Vef \leq -225000000000:\\ \;\;\;\;t_1\\ \mathbf{elif}\;Vef \leq 3.6 \cdot 10^{+64}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;Vef \leq 1.85 \cdot 10^{+180}:\\ \;\;\;\;t_1\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{t_0} + NaChar \cdot 0.5\\ \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 (/ NaChar t_0)))
   (if (<= Vef -225000000000.0)
     t_1
     (if (<= Vef 3.6e+64)
       (+ (/ NaChar (+ 1.0 (exp (/ Ev KbT)))) (/ NdChar 2.0))
       (if (<= Vef 1.85e+180) t_1 (+ (/ NdChar t_0) (* NaChar 0.5)))))))
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 = NaChar / t_0;
	double tmp;
	if (Vef <= -225000000000.0) {
		tmp = t_1;
	} else if (Vef <= 3.6e+64) {
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	} else if (Vef <= 1.85e+180) {
		tmp = t_1;
	} else {
		tmp = (NdChar / t_0) + (NaChar * 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) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = 1.0d0 + exp((vef / kbt))
    t_1 = nachar / t_0
    if (vef <= (-225000000000.0d0)) then
        tmp = t_1
    else if (vef <= 3.6d+64) then
        tmp = (nachar / (1.0d0 + exp((ev / kbt)))) + (ndchar / 2.0d0)
    else if (vef <= 1.85d+180) then
        tmp = t_1
    else
        tmp = (ndchar / t_0) + (nachar * 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 t_0 = 1.0 + Math.exp((Vef / KbT));
	double t_1 = NaChar / t_0;
	double tmp;
	if (Vef <= -225000000000.0) {
		tmp = t_1;
	} else if (Vef <= 3.6e+64) {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / 2.0);
	} else if (Vef <= 1.85e+180) {
		tmp = t_1;
	} else {
		tmp = (NdChar / t_0) + (NaChar * 0.5);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	t_0 = 1.0 + math.exp((Vef / KbT))
	t_1 = NaChar / t_0
	tmp = 0
	if Vef <= -225000000000.0:
		tmp = t_1
	elif Vef <= 3.6e+64:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / 2.0)
	elif Vef <= 1.85e+180:
		tmp = t_1
	else:
		tmp = (NdChar / t_0) + (NaChar * 0.5)
	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(NaChar / t_0)
	tmp = 0.0
	if (Vef <= -225000000000.0)
		tmp = t_1;
	elseif (Vef <= 3.6e+64)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / KbT)))) + Float64(NdChar / 2.0));
	elseif (Vef <= 1.85e+180)
		tmp = t_1;
	else
		tmp = Float64(Float64(NdChar / t_0) + Float64(NaChar * 0.5));
	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 = NaChar / t_0;
	tmp = 0.0;
	if (Vef <= -225000000000.0)
		tmp = t_1;
	elseif (Vef <= 3.6e+64)
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	elseif (Vef <= 1.85e+180)
		tmp = t_1;
	else
		tmp = (NdChar / t_0) + (NaChar * 0.5);
	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[(NaChar / t$95$0), $MachinePrecision]}, If[LessEqual[Vef, -225000000000.0], t$95$1, If[LessEqual[Vef, 3.6e+64], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[Vef, 1.85e+180], t$95$1, N[(N[(NdChar / t$95$0), $MachinePrecision] + N[(NaChar * 0.5), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := 1 + e^{\frac{Vef}{KbT}}\\
t_1 := \frac{NaChar}{t_0}\\
\mathbf{if}\;Vef \leq -225000000000:\\
\;\;\;\;t_1\\

\mathbf{elif}\;Vef \leq 3.6 \cdot 10^{+64}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\

\mathbf{elif}\;Vef \leq 1.85 \cdot 10^{+180}:\\
\;\;\;\;t_1\\

\mathbf{else}:\\
\;\;\;\;\frac{NdChar}{t_0} + NaChar \cdot 0.5\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if Vef < -2.25e11 or 3.60000000000000014e64 < Vef < 1.8500000000000001e180

    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 76.7%

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

      \[\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{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 41.7%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*42.7%

        \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    8. Simplified42.7%

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    9. Taylor expanded in KbT around 0 57.4%

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

    if -2.25e11 < Vef < 3.60000000000000014e64

    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 52.1%

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

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

    if 1.8500000000000001e180 < 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 mu around inf 80.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-180.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-frac80.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. Simplified80.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 0 71.9%

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

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

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

      \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{Vef}{KbT}}}} + NaChar \cdot 0.5 \]
  3. Recombined 3 regimes into one program.
  4. Final simplification47.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;Vef \leq -225000000000:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{elif}\;Vef \leq 3.6 \cdot 10^{+64}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;Vef \leq 1.85 \cdot 10^{+180}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{1 + e^{\frac{Vef}{KbT}}} + NaChar \cdot 0.5\\ \end{array} \]

Alternative 22: 44.0% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;KbT \leq -2.4 \cdot 10^{+47} \lor \neg \left(KbT \leq 8.2 \cdot 10^{+82}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (or (<= KbT -2.4e+47) (not (<= KbT 8.2e+82)))
   (+ (/ NaChar (+ 1.0 (exp (/ EAccept KbT)))) (/ NdChar 2.0))
   (/ NaChar (+ 1.0 (exp (/ Vef KbT))))))
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.4e+47) || !(KbT <= 8.2e+82)) {
		tmp = (NaChar / (1.0 + exp((EAccept / KbT)))) + (NdChar / 2.0);
	} else {
		tmp = NaChar / (1.0 + exp((Vef / 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 ((kbt <= (-2.4d+47)) .or. (.not. (kbt <= 8.2d+82))) then
        tmp = (nachar / (1.0d0 + exp((eaccept / kbt)))) + (ndchar / 2.0d0)
    else
        tmp = nachar / (1.0d0 + exp((vef / 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 ((KbT <= -2.4e+47) || !(KbT <= 8.2e+82)) {
		tmp = (NaChar / (1.0 + Math.exp((EAccept / KbT)))) + (NdChar / 2.0);
	} else {
		tmp = NaChar / (1.0 + Math.exp((Vef / KbT)));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if (KbT <= -2.4e+47) or not (KbT <= 8.2e+82):
		tmp = (NaChar / (1.0 + math.exp((EAccept / KbT)))) + (NdChar / 2.0)
	else:
		tmp = NaChar / (1.0 + math.exp((Vef / KbT)))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if ((KbT <= -2.4e+47) || !(KbT <= 8.2e+82))
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(EAccept / KbT)))) + Float64(NdChar / 2.0));
	else
		tmp = Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if ((KbT <= -2.4e+47) || ~((KbT <= 8.2e+82)))
		tmp = (NaChar / (1.0 + exp((EAccept / KbT)))) + (NdChar / 2.0);
	else
		tmp = NaChar / (1.0 + exp((Vef / KbT)));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[Or[LessEqual[KbT, -2.4e+47], N[Not[LessEqual[KbT, 8.2e+82]], $MachinePrecision]], N[(N[(NaChar / N[(1.0 + N[Exp[N[(EAccept / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision], N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;KbT \leq -2.4 \cdot 10^{+47} \lor \neg \left(KbT \leq 8.2 \cdot 10^{+82}\right):\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{2}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if KbT < -2.40000000000000019e47 or 8.1999999999999999e82 < KbT

    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 74.7%

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

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

    if -2.40000000000000019e47 < KbT < 8.1999999999999999e82

    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 59.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\color{blue}{Vef}}{KbT}}} \]
    5. Taylor expanded in KbT around inf 23.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{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 27.0%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*26.9%

        \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    8. Simplified26.9%

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    9. Taylor expanded in KbT around 0 37.9%

      \[\leadsto \color{blue}{\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification45.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;KbT \leq -2.4 \cdot 10^{+47} \lor \neg \left(KbT \leq 8.2 \cdot 10^{+82}\right):\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \end{array} \]

Alternative 23: 44.1% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;KbT \leq -1.55 \cdot 10^{+49}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;KbT \leq 8.2 \cdot 10^{+82}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (<= KbT -1.55e+49)
   (+ (/ NaChar (+ 1.0 (exp (/ EAccept KbT)))) (/ NdChar 2.0))
   (if (<= KbT 8.2e+82)
     (/ NaChar (+ 1.0 (exp (/ Vef KbT))))
     (+ (/ NaChar (+ 1.0 (exp (/ Ev 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 (KbT <= -1.55e+49) {
		tmp = (NaChar / (1.0 + exp((EAccept / KbT)))) + (NdChar / 2.0);
	} else if (KbT <= 8.2e+82) {
		tmp = NaChar / (1.0 + exp((Vef / KbT)));
	} else {
		tmp = (NaChar / (1.0 + exp((Ev / 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 (kbt <= (-1.55d+49)) then
        tmp = (nachar / (1.0d0 + exp((eaccept / kbt)))) + (ndchar / 2.0d0)
    else if (kbt <= 8.2d+82) then
        tmp = nachar / (1.0d0 + exp((vef / kbt)))
    else
        tmp = (nachar / (1.0d0 + exp((ev / 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 (KbT <= -1.55e+49) {
		tmp = (NaChar / (1.0 + Math.exp((EAccept / KbT)))) + (NdChar / 2.0);
	} else if (KbT <= 8.2e+82) {
		tmp = NaChar / (1.0 + Math.exp((Vef / KbT)));
	} else {
		tmp = (NaChar / (1.0 + Math.exp((Ev / KbT)))) + (NdChar / 2.0);
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if KbT <= -1.55e+49:
		tmp = (NaChar / (1.0 + math.exp((EAccept / KbT)))) + (NdChar / 2.0)
	elif KbT <= 8.2e+82:
		tmp = NaChar / (1.0 + math.exp((Vef / KbT)))
	else:
		tmp = (NaChar / (1.0 + math.exp((Ev / KbT)))) + (NdChar / 2.0)
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if (KbT <= -1.55e+49)
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(EAccept / KbT)))) + Float64(NdChar / 2.0));
	elseif (KbT <= 8.2e+82)
		tmp = Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT))));
	else
		tmp = Float64(Float64(NaChar / Float64(1.0 + exp(Float64(Ev / 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 (KbT <= -1.55e+49)
		tmp = (NaChar / (1.0 + exp((EAccept / KbT)))) + (NdChar / 2.0);
	elseif (KbT <= 8.2e+82)
		tmp = NaChar / (1.0 + exp((Vef / KbT)));
	else
		tmp = (NaChar / (1.0 + exp((Ev / KbT)))) + (NdChar / 2.0);
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[LessEqual[KbT, -1.55e+49], N[(N[(NaChar / N[(1.0 + N[Exp[N[(EAccept / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision], If[LessEqual[KbT, 8.2e+82], N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(NaChar / N[(1.0 + N[Exp[N[(Ev / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NdChar / 2.0), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;KbT \leq -1.55 \cdot 10^{+49}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{2}\\

\mathbf{elif}\;KbT \leq 8.2 \cdot 10^{+82}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if KbT < -1.54999999999999996e49

    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 75.1%

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

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

    if -1.54999999999999996e49 < KbT < 8.1999999999999999e82

    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 59.6%

      \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(Ec - \left(Vef + EDonor\right)\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\color{blue}{Vef}}{KbT}}} \]
    5. Taylor expanded in KbT around inf 23.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{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 27.0%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*26.9%

        \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    8. Simplified26.9%

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    9. Taylor expanded in KbT around 0 37.9%

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

    if 8.1999999999999999e82 < KbT

    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 73.3%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;KbT \leq -1.55 \cdot 10^{+49}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{EAccept}{KbT}}} + \frac{NdChar}{2}\\ \mathbf{elif}\;KbT \leq 8.2 \cdot 10^{+82}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Ev}{KbT}}} + \frac{NdChar}{2}\\ \end{array} \]

Alternative 24: 42.4% accurate, 2.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;KbT \leq -6.2 \cdot 10^{+240}:\\ \;\;\;\;\frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}} + NaChar \cdot 0.5\\ \mathbf{elif}\;KbT \leq 6.5 \cdot 10^{+81}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{2} + \frac{NaChar}{\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(\frac{Vef}{KbT} + 2\right)\right)\right) - \frac{mu}{KbT}}\\ \end{array} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (if (<= KbT -6.2e+240)
   (+
    (/
     NdChar
     (- (+ (/ mu KbT) (+ 2.0 (+ (/ EDonor KbT) (/ Vef KbT)))) (/ Ec KbT)))
    (* NaChar 0.5))
   (if (<= KbT 6.5e+81)
     (/ NaChar (+ 1.0 (exp (/ Vef KbT))))
     (+
      (/ NdChar 2.0)
      (/
       NaChar
       (-
        (+ (/ Ev KbT) (+ (/ EAccept KbT) (+ (/ Vef KbT) 2.0)))
        (/ 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 (KbT <= -6.2e+240) {
		tmp = (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT))) + (NaChar * 0.5);
	} else if (KbT <= 6.5e+81) {
		tmp = NaChar / (1.0 + exp((Vef / KbT)));
	} else {
		tmp = (NdChar / 2.0) + (NaChar / (((Ev / KbT) + ((EAccept / KbT) + ((Vef / KbT) + 2.0))) - (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 (kbt <= (-6.2d+240)) then
        tmp = (ndchar / (((mu / kbt) + (2.0d0 + ((edonor / kbt) + (vef / kbt)))) - (ec / kbt))) + (nachar * 0.5d0)
    else if (kbt <= 6.5d+81) then
        tmp = nachar / (1.0d0 + exp((vef / kbt)))
    else
        tmp = (ndchar / 2.0d0) + (nachar / (((ev / kbt) + ((eaccept / kbt) + ((vef / kbt) + 2.0d0))) - (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 (KbT <= -6.2e+240) {
		tmp = (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT))) + (NaChar * 0.5);
	} else if (KbT <= 6.5e+81) {
		tmp = NaChar / (1.0 + Math.exp((Vef / KbT)));
	} else {
		tmp = (NdChar / 2.0) + (NaChar / (((Ev / KbT) + ((EAccept / KbT) + ((Vef / KbT) + 2.0))) - (mu / KbT)));
	}
	return tmp;
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	tmp = 0
	if KbT <= -6.2e+240:
		tmp = (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT))) + (NaChar * 0.5)
	elif KbT <= 6.5e+81:
		tmp = NaChar / (1.0 + math.exp((Vef / KbT)))
	else:
		tmp = (NdChar / 2.0) + (NaChar / (((Ev / KbT) + ((EAccept / KbT) + ((Vef / KbT) + 2.0))) - (mu / KbT)))
	return tmp
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0
	if (KbT <= -6.2e+240)
		tmp = Float64(Float64(NdChar / Float64(Float64(Float64(mu / KbT) + Float64(2.0 + Float64(Float64(EDonor / KbT) + Float64(Vef / KbT)))) - Float64(Ec / KbT))) + Float64(NaChar * 0.5));
	elseif (KbT <= 6.5e+81)
		tmp = Float64(NaChar / Float64(1.0 + exp(Float64(Vef / KbT))));
	else
		tmp = Float64(Float64(NdChar / 2.0) + Float64(NaChar / Float64(Float64(Float64(Ev / KbT) + Float64(Float64(EAccept / KbT) + Float64(Float64(Vef / KbT) + 2.0))) - Float64(mu / KbT))));
	end
	return tmp
end
function tmp_2 = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = 0.0;
	if (KbT <= -6.2e+240)
		tmp = (NdChar / (((mu / KbT) + (2.0 + ((EDonor / KbT) + (Vef / KbT)))) - (Ec / KbT))) + (NaChar * 0.5);
	elseif (KbT <= 6.5e+81)
		tmp = NaChar / (1.0 + exp((Vef / KbT)));
	else
		tmp = (NdChar / 2.0) + (NaChar / (((Ev / KbT) + ((EAccept / KbT) + ((Vef / KbT) + 2.0))) - (mu / KbT)));
	end
	tmp_2 = tmp;
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := If[LessEqual[KbT, -6.2e+240], N[(N[(NdChar / N[(N[(N[(mu / KbT), $MachinePrecision] + N[(2.0 + N[(N[(EDonor / KbT), $MachinePrecision] + N[(Vef / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(Ec / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar * 0.5), $MachinePrecision]), $MachinePrecision], If[LessEqual[KbT, 6.5e+81], N[(NaChar / N[(1.0 + N[Exp[N[(Vef / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(NdChar / 2.0), $MachinePrecision] + N[(NaChar / N[(N[(N[(Ev / KbT), $MachinePrecision] + N[(N[(EAccept / KbT), $MachinePrecision] + N[(N[(Vef / KbT), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(mu / KbT), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;KbT \leq -6.2 \cdot 10^{+240}:\\
\;\;\;\;\frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}} + NaChar \cdot 0.5\\

\mathbf{elif}\;KbT \leq 6.5 \cdot 10^{+81}:\\
\;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if KbT < -6.2e240

    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 95.4%

      \[\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-195.4%

        \[\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-frac95.4%

        \[\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. Simplified95.4%

      \[\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 90.6%

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

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

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

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

    if -6.2e240 < KbT < 6.4999999999999996e81

    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 62.0%

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

      \[\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{Vef}{KbT}}} \]
    6. Taylor expanded in Vef around inf 25.8%

      \[\leadsto \color{blue}{\frac{KbT \cdot NdChar}{Vef}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    7. Step-by-step derivation
      1. associate-/l*26.4%

        \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    8. Simplified26.4%

      \[\leadsto \color{blue}{\frac{KbT}{\frac{Vef}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{Vef}{KbT}}} \]
    9. Taylor expanded in KbT around 0 36.8%

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

    if 6.4999999999999996e81 < KbT

    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 73.3%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;KbT \leq -6.2 \cdot 10^{+240}:\\ \;\;\;\;\frac{NdChar}{\left(\frac{mu}{KbT} + \left(2 + \left(\frac{EDonor}{KbT} + \frac{Vef}{KbT}\right)\right)\right) - \frac{Ec}{KbT}} + NaChar \cdot 0.5\\ \mathbf{elif}\;KbT \leq 6.5 \cdot 10^{+81}:\\ \;\;\;\;\frac{NaChar}{1 + e^{\frac{Vef}{KbT}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{NdChar}{2} + \frac{NaChar}{\left(\frac{Ev}{KbT} + \left(\frac{EAccept}{KbT} + \left(\frac{Vef}{KbT} + 2\right)\right)\right) - \frac{mu}{KbT}}\\ \end{array} \]

Alternative 25: 27.3% accurate, 32.7× speedup?

\[\begin{array}{l} \\ \frac{NdChar}{2} + \frac{NaChar}{2} \end{array} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (+ (/ NdChar 2.0) (/ NaChar 2.0)))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / 2.0) + (NaChar / 2.0);
}
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 / 2.0d0) + (nachar / 2.0d0)
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 / 2.0) + (NaChar / 2.0);
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	return (NdChar / 2.0) + (NaChar / 2.0)
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	return Float64(Float64(NdChar / 2.0) + Float64(NaChar / 2.0))
end
function tmp = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = (NdChar / 2.0) + (NaChar / 2.0);
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := N[(N[(NdChar / 2.0), $MachinePrecision] + N[(NaChar / 2.0), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{NdChar}{2} + \frac{NaChar}{2}
\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 45.3%

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

    \[\leadsto \frac{NdChar}{2} + \frac{NaChar}{\color{blue}{2}} \]
  6. Final simplification26.3%

    \[\leadsto \frac{NdChar}{2} + \frac{NaChar}{2} \]

Reproduce

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