Harley's example

Percentage Accurate: 90.9% → 97.7%
Time: 52.0s
Alternatives: 8
Speedup: 835.0×

Specification

?
\[0 < c\_p \land 0 < c\_n\]
\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{1}{1 + e^{-t}}\\ t_2 := \frac{1}{1 + e^{-s}}\\ \frac{{t\_2}^{c\_p} \cdot {\left(1 - t\_2\right)}^{c\_n}}{{t\_1}^{c\_p} \cdot {\left(1 - t\_1\right)}^{c\_n}} \end{array} \end{array} \]
(FPCore (c_p c_n t s)
 :precision binary64
 (let* ((t_1 (/ 1.0 (+ 1.0 (exp (- t))))) (t_2 (/ 1.0 (+ 1.0 (exp (- s))))))
   (/
    (* (pow t_2 c_p) (pow (- 1.0 t_2) c_n))
    (* (pow t_1 c_p) (pow (- 1.0 t_1) c_n)))))
double code(double c_p, double c_n, double t, double s) {
	double t_1 = 1.0 / (1.0 + exp(-t));
	double t_2 = 1.0 / (1.0 + exp(-s));
	return (pow(t_2, c_p) * pow((1.0 - t_2), c_n)) / (pow(t_1, c_p) * pow((1.0 - t_1), c_n));
}
real(8) function code(c_p, c_n, t, s)
    real(8), intent (in) :: c_p
    real(8), intent (in) :: c_n
    real(8), intent (in) :: t
    real(8), intent (in) :: s
    real(8) :: t_1
    real(8) :: t_2
    t_1 = 1.0d0 / (1.0d0 + exp(-t))
    t_2 = 1.0d0 / (1.0d0 + exp(-s))
    code = ((t_2 ** c_p) * ((1.0d0 - t_2) ** c_n)) / ((t_1 ** c_p) * ((1.0d0 - t_1) ** c_n))
end function
public static double code(double c_p, double c_n, double t, double s) {
	double t_1 = 1.0 / (1.0 + Math.exp(-t));
	double t_2 = 1.0 / (1.0 + Math.exp(-s));
	return (Math.pow(t_2, c_p) * Math.pow((1.0 - t_2), c_n)) / (Math.pow(t_1, c_p) * Math.pow((1.0 - t_1), c_n));
}
def code(c_p, c_n, t, s):
	t_1 = 1.0 / (1.0 + math.exp(-t))
	t_2 = 1.0 / (1.0 + math.exp(-s))
	return (math.pow(t_2, c_p) * math.pow((1.0 - t_2), c_n)) / (math.pow(t_1, c_p) * math.pow((1.0 - t_1), c_n))
function code(c_p, c_n, t, s)
	t_1 = Float64(1.0 / Float64(1.0 + exp(Float64(-t))))
	t_2 = Float64(1.0 / Float64(1.0 + exp(Float64(-s))))
	return Float64(Float64((t_2 ^ c_p) * (Float64(1.0 - t_2) ^ c_n)) / Float64((t_1 ^ c_p) * (Float64(1.0 - t_1) ^ c_n)))
end
function tmp = code(c_p, c_n, t, s)
	t_1 = 1.0 / (1.0 + exp(-t));
	t_2 = 1.0 / (1.0 + exp(-s));
	tmp = ((t_2 ^ c_p) * ((1.0 - t_2) ^ c_n)) / ((t_1 ^ c_p) * ((1.0 - t_1) ^ c_n));
end
code[c$95$p_, c$95$n_, t_, s_] := Block[{t$95$1 = N[(1.0 / N[(1.0 + N[Exp[(-t)], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(1.0 / N[(1.0 + N[Exp[(-s)], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(N[(N[Power[t$95$2, c$95$p], $MachinePrecision] * N[Power[N[(1.0 - t$95$2), $MachinePrecision], c$95$n], $MachinePrecision]), $MachinePrecision] / N[(N[Power[t$95$1, c$95$p], $MachinePrecision] * N[Power[N[(1.0 - t$95$1), $MachinePrecision], c$95$n], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{1}{1 + e^{-t}}\\
t_2 := \frac{1}{1 + e^{-s}}\\
\frac{{t\_2}^{c\_p} \cdot {\left(1 - t\_2\right)}^{c\_n}}{{t\_1}^{c\_p} \cdot {\left(1 - t\_1\right)}^{c\_n}}
\end{array}
\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 8 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: 90.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := \frac{1}{1 + e^{-t}}\\ t_2 := \frac{1}{1 + e^{-s}}\\ \frac{{t\_2}^{c\_p} \cdot {\left(1 - t\_2\right)}^{c\_n}}{{t\_1}^{c\_p} \cdot {\left(1 - t\_1\right)}^{c\_n}} \end{array} \end{array} \]
(FPCore (c_p c_n t s)
 :precision binary64
 (let* ((t_1 (/ 1.0 (+ 1.0 (exp (- t))))) (t_2 (/ 1.0 (+ 1.0 (exp (- s))))))
   (/
    (* (pow t_2 c_p) (pow (- 1.0 t_2) c_n))
    (* (pow t_1 c_p) (pow (- 1.0 t_1) c_n)))))
double code(double c_p, double c_n, double t, double s) {
	double t_1 = 1.0 / (1.0 + exp(-t));
	double t_2 = 1.0 / (1.0 + exp(-s));
	return (pow(t_2, c_p) * pow((1.0 - t_2), c_n)) / (pow(t_1, c_p) * pow((1.0 - t_1), c_n));
}
real(8) function code(c_p, c_n, t, s)
    real(8), intent (in) :: c_p
    real(8), intent (in) :: c_n
    real(8), intent (in) :: t
    real(8), intent (in) :: s
    real(8) :: t_1
    real(8) :: t_2
    t_1 = 1.0d0 / (1.0d0 + exp(-t))
    t_2 = 1.0d0 / (1.0d0 + exp(-s))
    code = ((t_2 ** c_p) * ((1.0d0 - t_2) ** c_n)) / ((t_1 ** c_p) * ((1.0d0 - t_1) ** c_n))
end function
public static double code(double c_p, double c_n, double t, double s) {
	double t_1 = 1.0 / (1.0 + Math.exp(-t));
	double t_2 = 1.0 / (1.0 + Math.exp(-s));
	return (Math.pow(t_2, c_p) * Math.pow((1.0 - t_2), c_n)) / (Math.pow(t_1, c_p) * Math.pow((1.0 - t_1), c_n));
}
def code(c_p, c_n, t, s):
	t_1 = 1.0 / (1.0 + math.exp(-t))
	t_2 = 1.0 / (1.0 + math.exp(-s))
	return (math.pow(t_2, c_p) * math.pow((1.0 - t_2), c_n)) / (math.pow(t_1, c_p) * math.pow((1.0 - t_1), c_n))
function code(c_p, c_n, t, s)
	t_1 = Float64(1.0 / Float64(1.0 + exp(Float64(-t))))
	t_2 = Float64(1.0 / Float64(1.0 + exp(Float64(-s))))
	return Float64(Float64((t_2 ^ c_p) * (Float64(1.0 - t_2) ^ c_n)) / Float64((t_1 ^ c_p) * (Float64(1.0 - t_1) ^ c_n)))
end
function tmp = code(c_p, c_n, t, s)
	t_1 = 1.0 / (1.0 + exp(-t));
	t_2 = 1.0 / (1.0 + exp(-s));
	tmp = ((t_2 ^ c_p) * ((1.0 - t_2) ^ c_n)) / ((t_1 ^ c_p) * ((1.0 - t_1) ^ c_n));
end
code[c$95$p_, c$95$n_, t_, s_] := Block[{t$95$1 = N[(1.0 / N[(1.0 + N[Exp[(-t)], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(1.0 / N[(1.0 + N[Exp[(-s)], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(N[(N[Power[t$95$2, c$95$p], $MachinePrecision] * N[Power[N[(1.0 - t$95$2), $MachinePrecision], c$95$n], $MachinePrecision]), $MachinePrecision] / N[(N[Power[t$95$1, c$95$p], $MachinePrecision] * N[Power[N[(1.0 - t$95$1), $MachinePrecision], c$95$n], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := \frac{1}{1 + e^{-t}}\\
t_2 := \frac{1}{1 + e^{-s}}\\
\frac{{t\_2}^{c\_p} \cdot {\left(1 - t\_2\right)}^{c\_n}}{{t\_1}^{c\_p} \cdot {\left(1 - t\_1\right)}^{c\_n}}
\end{array}
\end{array}

Alternative 1: 97.7% accurate, 3.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_1 := 1 + e^{0 - s}\\ \mathbf{if}\;0 - s \leq -5 \cdot 10^{+28}:\\ \;\;\;\;{\left(1 + \frac{-1}{t\_1}\right)}^{c\_n}\\ \mathbf{elif}\;0 - s \leq 50000000:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;{\left(\frac{1}{t\_1}\right)}^{c\_p}\\ \end{array} \end{array} \]
(FPCore (c_p c_n t s)
 :precision binary64
 (let* ((t_1 (+ 1.0 (exp (- 0.0 s)))))
   (if (<= (- 0.0 s) -5e+28)
     (pow (+ 1.0 (/ -1.0 t_1)) c_n)
     (if (<= (- 0.0 s) 50000000.0) 1.0 (pow (/ 1.0 t_1) c_p)))))
double code(double c_p, double c_n, double t, double s) {
	double t_1 = 1.0 + exp((0.0 - s));
	double tmp;
	if ((0.0 - s) <= -5e+28) {
		tmp = pow((1.0 + (-1.0 / t_1)), c_n);
	} else if ((0.0 - s) <= 50000000.0) {
		tmp = 1.0;
	} else {
		tmp = pow((1.0 / t_1), c_p);
	}
	return tmp;
}
real(8) function code(c_p, c_n, t, s)
    real(8), intent (in) :: c_p
    real(8), intent (in) :: c_n
    real(8), intent (in) :: t
    real(8), intent (in) :: s
    real(8) :: t_1
    real(8) :: tmp
    t_1 = 1.0d0 + exp((0.0d0 - s))
    if ((0.0d0 - s) <= (-5d+28)) then
        tmp = (1.0d0 + ((-1.0d0) / t_1)) ** c_n
    else if ((0.0d0 - s) <= 50000000.0d0) then
        tmp = 1.0d0
    else
        tmp = (1.0d0 / t_1) ** c_p
    end if
    code = tmp
end function
public static double code(double c_p, double c_n, double t, double s) {
	double t_1 = 1.0 + Math.exp((0.0 - s));
	double tmp;
	if ((0.0 - s) <= -5e+28) {
		tmp = Math.pow((1.0 + (-1.0 / t_1)), c_n);
	} else if ((0.0 - s) <= 50000000.0) {
		tmp = 1.0;
	} else {
		tmp = Math.pow((1.0 / t_1), c_p);
	}
	return tmp;
}
def code(c_p, c_n, t, s):
	t_1 = 1.0 + math.exp((0.0 - s))
	tmp = 0
	if (0.0 - s) <= -5e+28:
		tmp = math.pow((1.0 + (-1.0 / t_1)), c_n)
	elif (0.0 - s) <= 50000000.0:
		tmp = 1.0
	else:
		tmp = math.pow((1.0 / t_1), c_p)
	return tmp
function code(c_p, c_n, t, s)
	t_1 = Float64(1.0 + exp(Float64(0.0 - s)))
	tmp = 0.0
	if (Float64(0.0 - s) <= -5e+28)
		tmp = Float64(1.0 + Float64(-1.0 / t_1)) ^ c_n;
	elseif (Float64(0.0 - s) <= 50000000.0)
		tmp = 1.0;
	else
		tmp = Float64(1.0 / t_1) ^ c_p;
	end
	return tmp
end
function tmp_2 = code(c_p, c_n, t, s)
	t_1 = 1.0 + exp((0.0 - s));
	tmp = 0.0;
	if ((0.0 - s) <= -5e+28)
		tmp = (1.0 + (-1.0 / t_1)) ^ c_n;
	elseif ((0.0 - s) <= 50000000.0)
		tmp = 1.0;
	else
		tmp = (1.0 / t_1) ^ c_p;
	end
	tmp_2 = tmp;
end
code[c$95$p_, c$95$n_, t_, s_] := Block[{t$95$1 = N[(1.0 + N[Exp[N[(0.0 - s), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(0.0 - s), $MachinePrecision], -5e+28], N[Power[N[(1.0 + N[(-1.0 / t$95$1), $MachinePrecision]), $MachinePrecision], c$95$n], $MachinePrecision], If[LessEqual[N[(0.0 - s), $MachinePrecision], 50000000.0], 1.0, N[Power[N[(1.0 / t$95$1), $MachinePrecision], c$95$p], $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_1 := 1 + e^{0 - s}\\
\mathbf{if}\;0 - s \leq -5 \cdot 10^{+28}:\\
\;\;\;\;{\left(1 + \frac{-1}{t\_1}\right)}^{c\_n}\\

\mathbf{elif}\;0 - s \leq 50000000:\\
\;\;\;\;1\\

\mathbf{else}:\\
\;\;\;\;{\left(\frac{1}{t\_1}\right)}^{c\_p}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (neg.f64 s) < -4.99999999999999957e28

    1. Initial program 12.5%

      \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
    2. Add Preprocessing
    3. Taylor expanded in c_n around 0

      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right), c\_p\right), \color{blue}{1}\right)\right) \]
    4. Step-by-step derivation
      1. Simplified62.5%

        \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot \color{blue}{1}} \]
      2. Taylor expanded in c_p around 0

        \[\leadsto \color{blue}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}} \]
      3. Step-by-step derivation
        1. neg-mul-1N/A

          \[\leadsto {\left(1 - \frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_n} \]
        2. neg-mul-1N/A

          \[\leadsto {\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n} \]
        3. rec-expN/A

          \[\leadsto {\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n} \]
        4. pow-lowering-pow.f64N/A

          \[\leadsto \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_n}\right) \]
      4. Simplified100.0%

        \[\leadsto \color{blue}{{\left(1 + \frac{-1}{1 + e^{0 - s}}\right)}^{c\_n}} \]

      if -4.99999999999999957e28 < (neg.f64 s) < 5e7

      1. Initial program 91.8%

        \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
      2. Add Preprocessing
      3. Taylor expanded in c_p around 0

        \[\leadsto \color{blue}{\frac{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}}} \]
      4. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}\right), \color{blue}{\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)}\right) \]
        2. pow-lowering-pow.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right), c\_n\right), \left({\color{blue}{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}}^{c\_n}\right)\right) \]
        3. sub-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 + \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        4. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        5. distribute-neg-fracN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{\mathsf{neg}\left(1\right)}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        6. metadata-evalN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{-1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        7. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \left(1 + e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        8. +-lowering-+.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        9. exp-negN/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        10. /-lowering-/.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \left(e^{s}\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        11. exp-lowering-exp.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
        12. pow-lowering-pow.f64N/A

          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right), \color{blue}{c\_n}\right)\right) \]
      5. Simplified96.7%

        \[\leadsto \color{blue}{\frac{{\left(1 + \frac{-1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n}}{{\left(1 + \frac{-1}{1 + e^{0 - t}}\right)}^{c\_n}}} \]
      6. Taylor expanded in c_n around 0

        \[\leadsto \color{blue}{1} \]
      7. Step-by-step derivation
        1. Simplified98.4%

          \[\leadsto \color{blue}{1} \]

        if 5e7 < (neg.f64 s)

        1. Initial program 42.9%

          \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
        2. Add Preprocessing
        3. Taylor expanded in c_p around 0

          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\color{blue}{1}, \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right)\right), c\_n\right)\right)\right) \]
        4. Step-by-step derivation
          1. Simplified100.0%

            \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{\color{blue}{1} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
          2. Taylor expanded in c_n around 0

            \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p}} \]
          3. Step-by-step derivation
            1. neg-mul-1N/A

              \[\leadsto {\left(\frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_p} \]
            2. neg-mul-1N/A

              \[\leadsto {\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p} \]
            3. rec-expN/A

              \[\leadsto {\left(\frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_p} \]
            4. pow-lowering-pow.f64N/A

              \[\leadsto \mathsf{pow.f64}\left(\left(\frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_p}\right) \]
            5. /-lowering-/.f64N/A

              \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \left(1 + \frac{1}{e^{s}}\right)\right), c\_p\right) \]
            6. +-lowering-+.f64N/A

              \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right), c\_p\right) \]
            7. rec-expN/A

              \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_p\right) \]
            8. neg-mul-1N/A

              \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{-1 \cdot s}\right)\right)\right), c\_p\right) \]
            9. exp-lowering-exp.f64N/A

              \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(-1 \cdot s\right)\right)\right)\right), c\_p\right) \]
            10. neg-mul-1N/A

              \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(s\right)\right)\right)\right)\right), c\_p\right) \]
            11. neg-sub0N/A

              \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(0 - s\right)\right)\right)\right), c\_p\right) \]
            12. --lowering--.f64100.0%

              \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, s\right)\right)\right)\right), c\_p\right) \]
          4. Simplified100.0%

            \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}} \]
        5. Recombined 3 regimes into one program.
        6. Final simplification98.5%

          \[\leadsto \begin{array}{l} \mathbf{if}\;0 - s \leq -5 \cdot 10^{+28}:\\ \;\;\;\;{\left(1 + \frac{-1}{1 + e^{0 - s}}\right)}^{c\_n}\\ \mathbf{elif}\;0 - s \leq 50000000:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}\\ \end{array} \]
        7. Add Preprocessing

        Alternative 2: 97.5% accurate, 3.9× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;s \leq -750000000:\\ \;\;\;\;{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}\\ \mathbf{elif}\;s \leq 2.15 \cdot 10^{-13}:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;{0.5}^{c\_n}\\ \end{array} \end{array} \]
        (FPCore (c_p c_n t s)
         :precision binary64
         (if (<= s -750000000.0)
           (pow (/ 1.0 (+ 1.0 (exp (- 0.0 s)))) c_p)
           (if (<= s 2.15e-13) 1.0 (pow 0.5 c_n))))
        double code(double c_p, double c_n, double t, double s) {
        	double tmp;
        	if (s <= -750000000.0) {
        		tmp = pow((1.0 / (1.0 + exp((0.0 - s)))), c_p);
        	} else if (s <= 2.15e-13) {
        		tmp = 1.0;
        	} else {
        		tmp = pow(0.5, c_n);
        	}
        	return tmp;
        }
        
        real(8) function code(c_p, c_n, t, s)
            real(8), intent (in) :: c_p
            real(8), intent (in) :: c_n
            real(8), intent (in) :: t
            real(8), intent (in) :: s
            real(8) :: tmp
            if (s <= (-750000000.0d0)) then
                tmp = (1.0d0 / (1.0d0 + exp((0.0d0 - s)))) ** c_p
            else if (s <= 2.15d-13) then
                tmp = 1.0d0
            else
                tmp = 0.5d0 ** c_n
            end if
            code = tmp
        end function
        
        public static double code(double c_p, double c_n, double t, double s) {
        	double tmp;
        	if (s <= -750000000.0) {
        		tmp = Math.pow((1.0 / (1.0 + Math.exp((0.0 - s)))), c_p);
        	} else if (s <= 2.15e-13) {
        		tmp = 1.0;
        	} else {
        		tmp = Math.pow(0.5, c_n);
        	}
        	return tmp;
        }
        
        def code(c_p, c_n, t, s):
        	tmp = 0
        	if s <= -750000000.0:
        		tmp = math.pow((1.0 / (1.0 + math.exp((0.0 - s)))), c_p)
        	elif s <= 2.15e-13:
        		tmp = 1.0
        	else:
        		tmp = math.pow(0.5, c_n)
        	return tmp
        
        function code(c_p, c_n, t, s)
        	tmp = 0.0
        	if (s <= -750000000.0)
        		tmp = Float64(1.0 / Float64(1.0 + exp(Float64(0.0 - s)))) ^ c_p;
        	elseif (s <= 2.15e-13)
        		tmp = 1.0;
        	else
        		tmp = 0.5 ^ c_n;
        	end
        	return tmp
        end
        
        function tmp_2 = code(c_p, c_n, t, s)
        	tmp = 0.0;
        	if (s <= -750000000.0)
        		tmp = (1.0 / (1.0 + exp((0.0 - s)))) ^ c_p;
        	elseif (s <= 2.15e-13)
        		tmp = 1.0;
        	else
        		tmp = 0.5 ^ c_n;
        	end
        	tmp_2 = tmp;
        end
        
        code[c$95$p_, c$95$n_, t_, s_] := If[LessEqual[s, -750000000.0], N[Power[N[(1.0 / N[(1.0 + N[Exp[N[(0.0 - s), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], c$95$p], $MachinePrecision], If[LessEqual[s, 2.15e-13], 1.0, N[Power[0.5, c$95$n], $MachinePrecision]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;s \leq -750000000:\\
        \;\;\;\;{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}\\
        
        \mathbf{elif}\;s \leq 2.15 \cdot 10^{-13}:\\
        \;\;\;\;1\\
        
        \mathbf{else}:\\
        \;\;\;\;{0.5}^{c\_n}\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if s < -7.5e8

          1. Initial program 42.9%

            \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
          2. Add Preprocessing
          3. Taylor expanded in c_p around 0

            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\color{blue}{1}, \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right)\right), c\_n\right)\right)\right) \]
          4. Step-by-step derivation
            1. Simplified100.0%

              \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{\color{blue}{1} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
            2. Taylor expanded in c_n around 0

              \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p}} \]
            3. Step-by-step derivation
              1. neg-mul-1N/A

                \[\leadsto {\left(\frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_p} \]
              2. neg-mul-1N/A

                \[\leadsto {\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p} \]
              3. rec-expN/A

                \[\leadsto {\left(\frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_p} \]
              4. pow-lowering-pow.f64N/A

                \[\leadsto \mathsf{pow.f64}\left(\left(\frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_p}\right) \]
              5. /-lowering-/.f64N/A

                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \left(1 + \frac{1}{e^{s}}\right)\right), c\_p\right) \]
              6. +-lowering-+.f64N/A

                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right), c\_p\right) \]
              7. rec-expN/A

                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_p\right) \]
              8. neg-mul-1N/A

                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{-1 \cdot s}\right)\right)\right), c\_p\right) \]
              9. exp-lowering-exp.f64N/A

                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(-1 \cdot s\right)\right)\right)\right), c\_p\right) \]
              10. neg-mul-1N/A

                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(s\right)\right)\right)\right)\right), c\_p\right) \]
              11. neg-sub0N/A

                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(0 - s\right)\right)\right)\right), c\_p\right) \]
              12. --lowering--.f64100.0%

                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, s\right)\right)\right)\right), c\_p\right) \]
            4. Simplified100.0%

              \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}} \]

            if -7.5e8 < s < 2.1499999999999999e-13

            1. Initial program 91.9%

              \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
            2. Add Preprocessing
            3. Taylor expanded in c_p around 0

              \[\leadsto \color{blue}{\frac{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}}} \]
            4. Step-by-step derivation
              1. /-lowering-/.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}\right), \color{blue}{\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)}\right) \]
              2. pow-lowering-pow.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right), c\_n\right), \left({\color{blue}{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}}^{c\_n}\right)\right) \]
              3. sub-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 + \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              4. +-lowering-+.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              5. distribute-neg-fracN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{\mathsf{neg}\left(1\right)}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              6. metadata-evalN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{-1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              7. /-lowering-/.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \left(1 + e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              8. +-lowering-+.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              9. exp-negN/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              10. /-lowering-/.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \left(e^{s}\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              11. exp-lowering-exp.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
              12. pow-lowering-pow.f64N/A

                \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right), \color{blue}{c\_n}\right)\right) \]
            5. Simplified97.0%

              \[\leadsto \color{blue}{\frac{{\left(1 + \frac{-1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n}}{{\left(1 + \frac{-1}{1 + e^{0 - t}}\right)}^{c\_n}}} \]
            6. Taylor expanded in c_n around 0

              \[\leadsto \color{blue}{1} \]
            7. Step-by-step derivation
              1. Simplified98.3%

                \[\leadsto \color{blue}{1} \]

              if 2.1499999999999999e-13 < s

              1. Initial program 55.7%

                \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
              2. Add Preprocessing
              3. Taylor expanded in c_n around 0

                \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right), c\_p\right), \color{blue}{1}\right)\right) \]
              4. Step-by-step derivation
                1. Simplified78.0%

                  \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot \color{blue}{1}} \]
                2. Taylor expanded in c_p around 0

                  \[\leadsto \color{blue}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}} \]
                3. Step-by-step derivation
                  1. neg-mul-1N/A

                    \[\leadsto {\left(1 - \frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_n} \]
                  2. neg-mul-1N/A

                    \[\leadsto {\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n} \]
                  3. rec-expN/A

                    \[\leadsto {\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n} \]
                  4. pow-lowering-pow.f64N/A

                    \[\leadsto \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_n}\right) \]
                4. Simplified94.6%

                  \[\leadsto \color{blue}{{\left(1 + \frac{-1}{1 + e^{0 - s}}\right)}^{c\_n}} \]
                5. Taylor expanded in s around 0

                  \[\leadsto \color{blue}{{\frac{1}{2}}^{c\_n}} \]
                6. Step-by-step derivation
                  1. pow-lowering-pow.f6489.4%

                    \[\leadsto \mathsf{pow.f64}\left(\frac{1}{2}, \color{blue}{c\_n}\right) \]
                7. Simplified89.4%

                  \[\leadsto \color{blue}{{0.5}^{c\_n}} \]
              5. Recombined 3 regimes into one program.
              6. Add Preprocessing

              Alternative 3: 97.1% accurate, 7.4× speedup?

              \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;s \leq -2000000000:\\ \;\;\;\;{\left(\frac{\frac{-6}{s \cdot s}}{s}\right)}^{c\_p}\\ \mathbf{elif}\;s \leq 5 \cdot 10^{-13}:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;{0.5}^{c\_n}\\ \end{array} \end{array} \]
              (FPCore (c_p c_n t s)
               :precision binary64
               (if (<= s -2000000000.0)
                 (pow (/ (/ -6.0 (* s s)) s) c_p)
                 (if (<= s 5e-13) 1.0 (pow 0.5 c_n))))
              double code(double c_p, double c_n, double t, double s) {
              	double tmp;
              	if (s <= -2000000000.0) {
              		tmp = pow(((-6.0 / (s * s)) / s), c_p);
              	} else if (s <= 5e-13) {
              		tmp = 1.0;
              	} else {
              		tmp = pow(0.5, c_n);
              	}
              	return tmp;
              }
              
              real(8) function code(c_p, c_n, t, s)
                  real(8), intent (in) :: c_p
                  real(8), intent (in) :: c_n
                  real(8), intent (in) :: t
                  real(8), intent (in) :: s
                  real(8) :: tmp
                  if (s <= (-2000000000.0d0)) then
                      tmp = (((-6.0d0) / (s * s)) / s) ** c_p
                  else if (s <= 5d-13) then
                      tmp = 1.0d0
                  else
                      tmp = 0.5d0 ** c_n
                  end if
                  code = tmp
              end function
              
              public static double code(double c_p, double c_n, double t, double s) {
              	double tmp;
              	if (s <= -2000000000.0) {
              		tmp = Math.pow(((-6.0 / (s * s)) / s), c_p);
              	} else if (s <= 5e-13) {
              		tmp = 1.0;
              	} else {
              		tmp = Math.pow(0.5, c_n);
              	}
              	return tmp;
              }
              
              def code(c_p, c_n, t, s):
              	tmp = 0
              	if s <= -2000000000.0:
              		tmp = math.pow(((-6.0 / (s * s)) / s), c_p)
              	elif s <= 5e-13:
              		tmp = 1.0
              	else:
              		tmp = math.pow(0.5, c_n)
              	return tmp
              
              function code(c_p, c_n, t, s)
              	tmp = 0.0
              	if (s <= -2000000000.0)
              		tmp = Float64(Float64(-6.0 / Float64(s * s)) / s) ^ c_p;
              	elseif (s <= 5e-13)
              		tmp = 1.0;
              	else
              		tmp = 0.5 ^ c_n;
              	end
              	return tmp
              end
              
              function tmp_2 = code(c_p, c_n, t, s)
              	tmp = 0.0;
              	if (s <= -2000000000.0)
              		tmp = ((-6.0 / (s * s)) / s) ^ c_p;
              	elseif (s <= 5e-13)
              		tmp = 1.0;
              	else
              		tmp = 0.5 ^ c_n;
              	end
              	tmp_2 = tmp;
              end
              
              code[c$95$p_, c$95$n_, t_, s_] := If[LessEqual[s, -2000000000.0], N[Power[N[(N[(-6.0 / N[(s * s), $MachinePrecision]), $MachinePrecision] / s), $MachinePrecision], c$95$p], $MachinePrecision], If[LessEqual[s, 5e-13], 1.0, N[Power[0.5, c$95$n], $MachinePrecision]]]
              
              \begin{array}{l}
              
              \\
              \begin{array}{l}
              \mathbf{if}\;s \leq -2000000000:\\
              \;\;\;\;{\left(\frac{\frac{-6}{s \cdot s}}{s}\right)}^{c\_p}\\
              
              \mathbf{elif}\;s \leq 5 \cdot 10^{-13}:\\
              \;\;\;\;1\\
              
              \mathbf{else}:\\
              \;\;\;\;{0.5}^{c\_n}\\
              
              
              \end{array}
              \end{array}
              
              Derivation
              1. Split input into 3 regimes
              2. if s < -2e9

                1. Initial program 42.9%

                  \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                2. Add Preprocessing
                3. Taylor expanded in c_p around 0

                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\color{blue}{1}, \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right)\right), c\_n\right)\right)\right) \]
                4. Step-by-step derivation
                  1. Simplified100.0%

                    \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{\color{blue}{1} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                  2. Taylor expanded in c_n around 0

                    \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p}} \]
                  3. Step-by-step derivation
                    1. neg-mul-1N/A

                      \[\leadsto {\left(\frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_p} \]
                    2. neg-mul-1N/A

                      \[\leadsto {\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p} \]
                    3. rec-expN/A

                      \[\leadsto {\left(\frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_p} \]
                    4. pow-lowering-pow.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\left(\frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_p}\right) \]
                    5. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \left(1 + \frac{1}{e^{s}}\right)\right), c\_p\right) \]
                    6. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right), c\_p\right) \]
                    7. rec-expN/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_p\right) \]
                    8. neg-mul-1N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{-1 \cdot s}\right)\right)\right), c\_p\right) \]
                    9. exp-lowering-exp.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(-1 \cdot s\right)\right)\right)\right), c\_p\right) \]
                    10. neg-mul-1N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(s\right)\right)\right)\right)\right), c\_p\right) \]
                    11. neg-sub0N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(0 - s\right)\right)\right)\right), c\_p\right) \]
                    12. --lowering--.f64100.0%

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, s\right)\right)\right)\right), c\_p\right) \]
                  4. Simplified100.0%

                    \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}} \]
                  5. Taylor expanded in s around 0

                    \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \color{blue}{\left(2 + s \cdot \left(s \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot s\right) - 1\right)\right)}\right), c\_p\right) \]
                  6. Step-by-step derivation
                    1. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \left(s \cdot \left(s \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot s\right) - 1\right)\right)\right)\right), c\_p\right) \]
                    2. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \left(s \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot s\right) - 1\right)\right)\right)\right), c\_p\right) \]
                    3. sub-negN/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \left(s \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot s\right) + \left(\mathsf{neg}\left(1\right)\right)\right)\right)\right)\right), c\_p\right) \]
                    4. metadata-evalN/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \left(s \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot s\right) + -1\right)\right)\right)\right), c\_p\right) \]
                    5. +-commutativeN/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \left(-1 + s \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot s\right)\right)\right)\right)\right), c\_p\right) \]
                    6. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(-1, \left(s \cdot \left(\frac{1}{2} + \frac{-1}{6} \cdot s\right)\right)\right)\right)\right)\right), c\_p\right) \]
                    7. *-lowering-*.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(s, \left(\frac{1}{2} + \frac{-1}{6} \cdot s\right)\right)\right)\right)\right)\right), c\_p\right) \]
                    8. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(\frac{1}{2}, \left(\frac{-1}{6} \cdot s\right)\right)\right)\right)\right)\right)\right), c\_p\right) \]
                    9. *-commutativeN/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(\frac{1}{2}, \left(s \cdot \frac{-1}{6}\right)\right)\right)\right)\right)\right)\right), c\_p\right) \]
                    10. *-lowering-*.f6486.2%

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(s, \frac{-1}{6}\right)\right)\right)\right)\right)\right)\right), c\_p\right) \]
                  7. Simplified86.2%

                    \[\leadsto {\left(\frac{1}{\color{blue}{2 + s \cdot \left(-1 + s \cdot \left(0.5 + s \cdot -0.16666666666666666\right)\right)}}\right)}^{c\_p} \]
                  8. Taylor expanded in s around inf

                    \[\leadsto \mathsf{pow.f64}\left(\color{blue}{\left(\frac{-6}{{s}^{3}}\right)}, c\_p\right) \]
                  9. Step-by-step derivation
                    1. unpow3N/A

                      \[\leadsto \mathsf{pow.f64}\left(\left(\frac{-6}{\left(s \cdot s\right) \cdot s}\right), c\_p\right) \]
                    2. unpow2N/A

                      \[\leadsto \mathsf{pow.f64}\left(\left(\frac{-6}{{s}^{2} \cdot s}\right), c\_p\right) \]
                    3. associate-/r*N/A

                      \[\leadsto \mathsf{pow.f64}\left(\left(\frac{\frac{-6}{{s}^{2}}}{s}\right), c\_p\right) \]
                    4. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\left(\frac{-6}{{s}^{2}}\right), s\right), c\_p\right) \]
                    5. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(-6, \left({s}^{2}\right)\right), s\right), c\_p\right) \]
                    6. unpow2N/A

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(-6, \left(s \cdot s\right)\right), s\right), c\_p\right) \]
                    7. *-lowering-*.f6486.2%

                      \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(-6, \mathsf{*.f64}\left(s, s\right)\right), s\right), c\_p\right) \]
                  10. Simplified86.2%

                    \[\leadsto {\color{blue}{\left(\frac{\frac{-6}{s \cdot s}}{s}\right)}}^{c\_p} \]

                  if -2e9 < s < 4.9999999999999999e-13

                  1. Initial program 91.9%

                    \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                  2. Add Preprocessing
                  3. Taylor expanded in c_p around 0

                    \[\leadsto \color{blue}{\frac{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}}} \]
                  4. Step-by-step derivation
                    1. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}\right), \color{blue}{\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)}\right) \]
                    2. pow-lowering-pow.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right), c\_n\right), \left({\color{blue}{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}}^{c\_n}\right)\right) \]
                    3. sub-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 + \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    4. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    5. distribute-neg-fracN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{\mathsf{neg}\left(1\right)}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    6. metadata-evalN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{-1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    7. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \left(1 + e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    8. +-lowering-+.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    9. exp-negN/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    10. /-lowering-/.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \left(e^{s}\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    11. exp-lowering-exp.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                    12. pow-lowering-pow.f64N/A

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right), \color{blue}{c\_n}\right)\right) \]
                  5. Simplified97.0%

                    \[\leadsto \color{blue}{\frac{{\left(1 + \frac{-1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n}}{{\left(1 + \frac{-1}{1 + e^{0 - t}}\right)}^{c\_n}}} \]
                  6. Taylor expanded in c_n around 0

                    \[\leadsto \color{blue}{1} \]
                  7. Step-by-step derivation
                    1. Simplified98.3%

                      \[\leadsto \color{blue}{1} \]

                    if 4.9999999999999999e-13 < s

                    1. Initial program 55.7%

                      \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                    2. Add Preprocessing
                    3. Taylor expanded in c_n around 0

                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right), c\_p\right), \color{blue}{1}\right)\right) \]
                    4. Step-by-step derivation
                      1. Simplified78.0%

                        \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot \color{blue}{1}} \]
                      2. Taylor expanded in c_p around 0

                        \[\leadsto \color{blue}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}} \]
                      3. Step-by-step derivation
                        1. neg-mul-1N/A

                          \[\leadsto {\left(1 - \frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_n} \]
                        2. neg-mul-1N/A

                          \[\leadsto {\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n} \]
                        3. rec-expN/A

                          \[\leadsto {\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n} \]
                        4. pow-lowering-pow.f64N/A

                          \[\leadsto \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_n}\right) \]
                      4. Simplified94.6%

                        \[\leadsto \color{blue}{{\left(1 + \frac{-1}{1 + e^{0 - s}}\right)}^{c\_n}} \]
                      5. Taylor expanded in s around 0

                        \[\leadsto \color{blue}{{\frac{1}{2}}^{c\_n}} \]
                      6. Step-by-step derivation
                        1. pow-lowering-pow.f6489.4%

                          \[\leadsto \mathsf{pow.f64}\left(\frac{1}{2}, \color{blue}{c\_n}\right) \]
                      7. Simplified89.4%

                        \[\leadsto \color{blue}{{0.5}^{c\_n}} \]
                    5. Recombined 3 regimes into one program.
                    6. Add Preprocessing

                    Alternative 4: 97.0% accurate, 7.5× speedup?

                    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;s \leq -29000000:\\ \;\;\;\;{\left(\frac{2}{s \cdot s}\right)}^{c\_p}\\ \mathbf{elif}\;s \leq 5 \cdot 10^{-14}:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;{0.5}^{c\_n}\\ \end{array} \end{array} \]
                    (FPCore (c_p c_n t s)
                     :precision binary64
                     (if (<= s -29000000.0)
                       (pow (/ 2.0 (* s s)) c_p)
                       (if (<= s 5e-14) 1.0 (pow 0.5 c_n))))
                    double code(double c_p, double c_n, double t, double s) {
                    	double tmp;
                    	if (s <= -29000000.0) {
                    		tmp = pow((2.0 / (s * s)), c_p);
                    	} else if (s <= 5e-14) {
                    		tmp = 1.0;
                    	} else {
                    		tmp = pow(0.5, c_n);
                    	}
                    	return tmp;
                    }
                    
                    real(8) function code(c_p, c_n, t, s)
                        real(8), intent (in) :: c_p
                        real(8), intent (in) :: c_n
                        real(8), intent (in) :: t
                        real(8), intent (in) :: s
                        real(8) :: tmp
                        if (s <= (-29000000.0d0)) then
                            tmp = (2.0d0 / (s * s)) ** c_p
                        else if (s <= 5d-14) then
                            tmp = 1.0d0
                        else
                            tmp = 0.5d0 ** c_n
                        end if
                        code = tmp
                    end function
                    
                    public static double code(double c_p, double c_n, double t, double s) {
                    	double tmp;
                    	if (s <= -29000000.0) {
                    		tmp = Math.pow((2.0 / (s * s)), c_p);
                    	} else if (s <= 5e-14) {
                    		tmp = 1.0;
                    	} else {
                    		tmp = Math.pow(0.5, c_n);
                    	}
                    	return tmp;
                    }
                    
                    def code(c_p, c_n, t, s):
                    	tmp = 0
                    	if s <= -29000000.0:
                    		tmp = math.pow((2.0 / (s * s)), c_p)
                    	elif s <= 5e-14:
                    		tmp = 1.0
                    	else:
                    		tmp = math.pow(0.5, c_n)
                    	return tmp
                    
                    function code(c_p, c_n, t, s)
                    	tmp = 0.0
                    	if (s <= -29000000.0)
                    		tmp = Float64(2.0 / Float64(s * s)) ^ c_p;
                    	elseif (s <= 5e-14)
                    		tmp = 1.0;
                    	else
                    		tmp = 0.5 ^ c_n;
                    	end
                    	return tmp
                    end
                    
                    function tmp_2 = code(c_p, c_n, t, s)
                    	tmp = 0.0;
                    	if (s <= -29000000.0)
                    		tmp = (2.0 / (s * s)) ^ c_p;
                    	elseif (s <= 5e-14)
                    		tmp = 1.0;
                    	else
                    		tmp = 0.5 ^ c_n;
                    	end
                    	tmp_2 = tmp;
                    end
                    
                    code[c$95$p_, c$95$n_, t_, s_] := If[LessEqual[s, -29000000.0], N[Power[N[(2.0 / N[(s * s), $MachinePrecision]), $MachinePrecision], c$95$p], $MachinePrecision], If[LessEqual[s, 5e-14], 1.0, N[Power[0.5, c$95$n], $MachinePrecision]]]
                    
                    \begin{array}{l}
                    
                    \\
                    \begin{array}{l}
                    \mathbf{if}\;s \leq -29000000:\\
                    \;\;\;\;{\left(\frac{2}{s \cdot s}\right)}^{c\_p}\\
                    
                    \mathbf{elif}\;s \leq 5 \cdot 10^{-14}:\\
                    \;\;\;\;1\\
                    
                    \mathbf{else}:\\
                    \;\;\;\;{0.5}^{c\_n}\\
                    
                    
                    \end{array}
                    \end{array}
                    
                    Derivation
                    1. Split input into 3 regimes
                    2. if s < -2.9e7

                      1. Initial program 42.9%

                        \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                      2. Add Preprocessing
                      3. Taylor expanded in c_p around 0

                        \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\color{blue}{1}, \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right)\right), c\_n\right)\right)\right) \]
                      4. Step-by-step derivation
                        1. Simplified100.0%

                          \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{\color{blue}{1} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                        2. Taylor expanded in c_n around 0

                          \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p}} \]
                        3. Step-by-step derivation
                          1. neg-mul-1N/A

                            \[\leadsto {\left(\frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_p} \]
                          2. neg-mul-1N/A

                            \[\leadsto {\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p} \]
                          3. rec-expN/A

                            \[\leadsto {\left(\frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_p} \]
                          4. pow-lowering-pow.f64N/A

                            \[\leadsto \mathsf{pow.f64}\left(\left(\frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_p}\right) \]
                          5. /-lowering-/.f64N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \left(1 + \frac{1}{e^{s}}\right)\right), c\_p\right) \]
                          6. +-lowering-+.f64N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right), c\_p\right) \]
                          7. rec-expN/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_p\right) \]
                          8. neg-mul-1N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{-1 \cdot s}\right)\right)\right), c\_p\right) \]
                          9. exp-lowering-exp.f64N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(-1 \cdot s\right)\right)\right)\right), c\_p\right) \]
                          10. neg-mul-1N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(s\right)\right)\right)\right)\right), c\_p\right) \]
                          11. neg-sub0N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(0 - s\right)\right)\right)\right), c\_p\right) \]
                          12. --lowering--.f64100.0%

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, s\right)\right)\right)\right), c\_p\right) \]
                        4. Simplified100.0%

                          \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}} \]
                        5. Taylor expanded in s around 0

                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \color{blue}{\left(2 + s \cdot \left(\frac{1}{2} \cdot s - 1\right)\right)}\right), c\_p\right) \]
                        6. Step-by-step derivation
                          1. +-lowering-+.f64N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \left(s \cdot \left(\frac{1}{2} \cdot s - 1\right)\right)\right)\right), c\_p\right) \]
                          2. *-lowering-*.f64N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \left(\frac{1}{2} \cdot s - 1\right)\right)\right)\right), c\_p\right) \]
                          3. sub-negN/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \left(\frac{1}{2} \cdot s + \left(\mathsf{neg}\left(1\right)\right)\right)\right)\right)\right), c\_p\right) \]
                          4. metadata-evalN/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \left(\frac{1}{2} \cdot s + -1\right)\right)\right)\right), c\_p\right) \]
                          5. +-commutativeN/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \left(-1 + \frac{1}{2} \cdot s\right)\right)\right)\right), c\_p\right) \]
                          6. +-lowering-+.f64N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(-1, \left(\frac{1}{2} \cdot s\right)\right)\right)\right)\right), c\_p\right) \]
                          7. *-lowering-*.f6486.2%

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(2, \mathsf{*.f64}\left(s, \mathsf{+.f64}\left(-1, \mathsf{*.f64}\left(\frac{1}{2}, s\right)\right)\right)\right)\right), c\_p\right) \]
                        7. Simplified86.2%

                          \[\leadsto {\left(\frac{1}{\color{blue}{2 + s \cdot \left(-1 + 0.5 \cdot s\right)}}\right)}^{c\_p} \]
                        8. Taylor expanded in s around inf

                          \[\leadsto \mathsf{pow.f64}\left(\color{blue}{\left(\frac{2}{{s}^{2}}\right)}, c\_p\right) \]
                        9. Step-by-step derivation
                          1. /-lowering-/.f64N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(2, \left({s}^{2}\right)\right), c\_p\right) \]
                          2. unpow2N/A

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(2, \left(s \cdot s\right)\right), c\_p\right) \]
                          3. *-lowering-*.f6486.2%

                            \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(s, s\right)\right), c\_p\right) \]
                        10. Simplified86.2%

                          \[\leadsto {\color{blue}{\left(\frac{2}{s \cdot s}\right)}}^{c\_p} \]

                        if -2.9e7 < s < 5.0000000000000002e-14

                        1. Initial program 91.9%

                          \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                        2. Add Preprocessing
                        3. Taylor expanded in c_p around 0

                          \[\leadsto \color{blue}{\frac{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}}} \]
                        4. Step-by-step derivation
                          1. /-lowering-/.f64N/A

                            \[\leadsto \mathsf{/.f64}\left(\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}\right), \color{blue}{\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)}\right) \]
                          2. pow-lowering-pow.f64N/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right), c\_n\right), \left({\color{blue}{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}}^{c\_n}\right)\right) \]
                          3. sub-negN/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 + \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          4. +-lowering-+.f64N/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          5. distribute-neg-fracN/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{\mathsf{neg}\left(1\right)}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          6. metadata-evalN/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{-1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          7. /-lowering-/.f64N/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \left(1 + e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          8. +-lowering-+.f64N/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          9. exp-negN/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          10. /-lowering-/.f64N/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \left(e^{s}\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          11. exp-lowering-exp.f64N/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                          12. pow-lowering-pow.f64N/A

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right), \color{blue}{c\_n}\right)\right) \]
                        5. Simplified97.0%

                          \[\leadsto \color{blue}{\frac{{\left(1 + \frac{-1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n}}{{\left(1 + \frac{-1}{1 + e^{0 - t}}\right)}^{c\_n}}} \]
                        6. Taylor expanded in c_n around 0

                          \[\leadsto \color{blue}{1} \]
                        7. Step-by-step derivation
                          1. Simplified98.3%

                            \[\leadsto \color{blue}{1} \]

                          if 5.0000000000000002e-14 < s

                          1. Initial program 55.7%

                            \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                          2. Add Preprocessing
                          3. Taylor expanded in c_n around 0

                            \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right), c\_p\right), \color{blue}{1}\right)\right) \]
                          4. Step-by-step derivation
                            1. Simplified78.0%

                              \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot \color{blue}{1}} \]
                            2. Taylor expanded in c_p around 0

                              \[\leadsto \color{blue}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}} \]
                            3. Step-by-step derivation
                              1. neg-mul-1N/A

                                \[\leadsto {\left(1 - \frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_n} \]
                              2. neg-mul-1N/A

                                \[\leadsto {\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n} \]
                              3. rec-expN/A

                                \[\leadsto {\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n} \]
                              4. pow-lowering-pow.f64N/A

                                \[\leadsto \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_n}\right) \]
                            4. Simplified94.6%

                              \[\leadsto \color{blue}{{\left(1 + \frac{-1}{1 + e^{0 - s}}\right)}^{c\_n}} \]
                            5. Taylor expanded in s around 0

                              \[\leadsto \color{blue}{{\frac{1}{2}}^{c\_n}} \]
                            6. Step-by-step derivation
                              1. pow-lowering-pow.f6489.4%

                                \[\leadsto \mathsf{pow.f64}\left(\frac{1}{2}, \color{blue}{c\_n}\right) \]
                            7. Simplified89.4%

                              \[\leadsto \color{blue}{{0.5}^{c\_n}} \]
                          5. Recombined 3 regimes into one program.
                          6. Add Preprocessing

                          Alternative 5: 96.6% accurate, 7.5× speedup?

                          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;s \leq -40000000:\\ \;\;\;\;{\left(\frac{-1}{s}\right)}^{c\_p}\\ \mathbf{elif}\;s \leq 4 \cdot 10^{-13}:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;{0.5}^{c\_n}\\ \end{array} \end{array} \]
                          (FPCore (c_p c_n t s)
                           :precision binary64
                           (if (<= s -40000000.0)
                             (pow (/ -1.0 s) c_p)
                             (if (<= s 4e-13) 1.0 (pow 0.5 c_n))))
                          double code(double c_p, double c_n, double t, double s) {
                          	double tmp;
                          	if (s <= -40000000.0) {
                          		tmp = pow((-1.0 / s), c_p);
                          	} else if (s <= 4e-13) {
                          		tmp = 1.0;
                          	} else {
                          		tmp = pow(0.5, c_n);
                          	}
                          	return tmp;
                          }
                          
                          real(8) function code(c_p, c_n, t, s)
                              real(8), intent (in) :: c_p
                              real(8), intent (in) :: c_n
                              real(8), intent (in) :: t
                              real(8), intent (in) :: s
                              real(8) :: tmp
                              if (s <= (-40000000.0d0)) then
                                  tmp = ((-1.0d0) / s) ** c_p
                              else if (s <= 4d-13) then
                                  tmp = 1.0d0
                              else
                                  tmp = 0.5d0 ** c_n
                              end if
                              code = tmp
                          end function
                          
                          public static double code(double c_p, double c_n, double t, double s) {
                          	double tmp;
                          	if (s <= -40000000.0) {
                          		tmp = Math.pow((-1.0 / s), c_p);
                          	} else if (s <= 4e-13) {
                          		tmp = 1.0;
                          	} else {
                          		tmp = Math.pow(0.5, c_n);
                          	}
                          	return tmp;
                          }
                          
                          def code(c_p, c_n, t, s):
                          	tmp = 0
                          	if s <= -40000000.0:
                          		tmp = math.pow((-1.0 / s), c_p)
                          	elif s <= 4e-13:
                          		tmp = 1.0
                          	else:
                          		tmp = math.pow(0.5, c_n)
                          	return tmp
                          
                          function code(c_p, c_n, t, s)
                          	tmp = 0.0
                          	if (s <= -40000000.0)
                          		tmp = Float64(-1.0 / s) ^ c_p;
                          	elseif (s <= 4e-13)
                          		tmp = 1.0;
                          	else
                          		tmp = 0.5 ^ c_n;
                          	end
                          	return tmp
                          end
                          
                          function tmp_2 = code(c_p, c_n, t, s)
                          	tmp = 0.0;
                          	if (s <= -40000000.0)
                          		tmp = (-1.0 / s) ^ c_p;
                          	elseif (s <= 4e-13)
                          		tmp = 1.0;
                          	else
                          		tmp = 0.5 ^ c_n;
                          	end
                          	tmp_2 = tmp;
                          end
                          
                          code[c$95$p_, c$95$n_, t_, s_] := If[LessEqual[s, -40000000.0], N[Power[N[(-1.0 / s), $MachinePrecision], c$95$p], $MachinePrecision], If[LessEqual[s, 4e-13], 1.0, N[Power[0.5, c$95$n], $MachinePrecision]]]
                          
                          \begin{array}{l}
                          
                          \\
                          \begin{array}{l}
                          \mathbf{if}\;s \leq -40000000:\\
                          \;\;\;\;{\left(\frac{-1}{s}\right)}^{c\_p}\\
                          
                          \mathbf{elif}\;s \leq 4 \cdot 10^{-13}:\\
                          \;\;\;\;1\\
                          
                          \mathbf{else}:\\
                          \;\;\;\;{0.5}^{c\_n}\\
                          
                          
                          \end{array}
                          \end{array}
                          
                          Derivation
                          1. Split input into 3 regimes
                          2. if s < -4e7

                            1. Initial program 42.9%

                              \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                            2. Add Preprocessing
                            3. Taylor expanded in c_p around 0

                              \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\color{blue}{1}, \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right)\right), c\_n\right)\right)\right) \]
                            4. Step-by-step derivation
                              1. Simplified100.0%

                                \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{\color{blue}{1} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                              2. Taylor expanded in c_n around 0

                                \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p}} \]
                              3. Step-by-step derivation
                                1. neg-mul-1N/A

                                  \[\leadsto {\left(\frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_p} \]
                                2. neg-mul-1N/A

                                  \[\leadsto {\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p} \]
                                3. rec-expN/A

                                  \[\leadsto {\left(\frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_p} \]
                                4. pow-lowering-pow.f64N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\left(\frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_p}\right) \]
                                5. /-lowering-/.f64N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \left(1 + \frac{1}{e^{s}}\right)\right), c\_p\right) \]
                                6. +-lowering-+.f64N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right), c\_p\right) \]
                                7. rec-expN/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_p\right) \]
                                8. neg-mul-1N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{-1 \cdot s}\right)\right)\right), c\_p\right) \]
                                9. exp-lowering-exp.f64N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(-1 \cdot s\right)\right)\right)\right), c\_p\right) \]
                                10. neg-mul-1N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(s\right)\right)\right)\right)\right), c\_p\right) \]
                                11. neg-sub0N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(0 - s\right)\right)\right)\right), c\_p\right) \]
                                12. --lowering--.f64100.0%

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, s\right)\right)\right)\right), c\_p\right) \]
                              4. Simplified100.0%

                                \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}} \]
                              5. Taylor expanded in s around 0

                                \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \color{blue}{\left(2 + -1 \cdot s\right)}\right), c\_p\right) \]
                              6. Step-by-step derivation
                                1. neg-mul-1N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \left(2 + \left(\mathsf{neg}\left(s\right)\right)\right)\right), c\_p\right) \]
                                2. unsub-negN/A

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \left(2 - s\right)\right), c\_p\right) \]
                                3. --lowering--.f6472.3%

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{\_.f64}\left(2, s\right)\right), c\_p\right) \]
                              7. Simplified72.3%

                                \[\leadsto {\left(\frac{1}{\color{blue}{2 - s}}\right)}^{c\_p} \]
                              8. Taylor expanded in s around -inf

                                \[\leadsto \color{blue}{{\left(\frac{-1}{s}\right)}^{c\_p}} \]
                              9. Step-by-step derivation
                                1. pow-lowering-pow.f64N/A

                                  \[\leadsto \mathsf{pow.f64}\left(\left(\frac{-1}{s}\right), \color{blue}{c\_p}\right) \]
                                2. /-lowering-/.f6472.3%

                                  \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(-1, s\right), c\_p\right) \]
                              10. Simplified72.3%

                                \[\leadsto \color{blue}{{\left(\frac{-1}{s}\right)}^{c\_p}} \]

                              if -4e7 < s < 4.0000000000000001e-13

                              1. Initial program 91.9%

                                \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                              2. Add Preprocessing
                              3. Taylor expanded in c_p around 0

                                \[\leadsto \color{blue}{\frac{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}}} \]
                              4. Step-by-step derivation
                                1. /-lowering-/.f64N/A

                                  \[\leadsto \mathsf{/.f64}\left(\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}\right), \color{blue}{\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)}\right) \]
                                2. pow-lowering-pow.f64N/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right), c\_n\right), \left({\color{blue}{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}}^{c\_n}\right)\right) \]
                                3. sub-negN/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 + \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                4. +-lowering-+.f64N/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                5. distribute-neg-fracN/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{\mathsf{neg}\left(1\right)}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                6. metadata-evalN/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{-1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                7. /-lowering-/.f64N/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \left(1 + e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                8. +-lowering-+.f64N/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                9. exp-negN/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                10. /-lowering-/.f64N/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \left(e^{s}\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                11. exp-lowering-exp.f64N/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                12. pow-lowering-pow.f64N/A

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right), \color{blue}{c\_n}\right)\right) \]
                              5. Simplified97.0%

                                \[\leadsto \color{blue}{\frac{{\left(1 + \frac{-1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n}}{{\left(1 + \frac{-1}{1 + e^{0 - t}}\right)}^{c\_n}}} \]
                              6. Taylor expanded in c_n around 0

                                \[\leadsto \color{blue}{1} \]
                              7. Step-by-step derivation
                                1. Simplified98.3%

                                  \[\leadsto \color{blue}{1} \]

                                if 4.0000000000000001e-13 < s

                                1. Initial program 55.7%

                                  \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                                2. Add Preprocessing
                                3. Taylor expanded in c_n around 0

                                  \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right), c\_p\right), \color{blue}{1}\right)\right) \]
                                4. Step-by-step derivation
                                  1. Simplified78.0%

                                    \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot \color{blue}{1}} \]
                                  2. Taylor expanded in c_p around 0

                                    \[\leadsto \color{blue}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}} \]
                                  3. Step-by-step derivation
                                    1. neg-mul-1N/A

                                      \[\leadsto {\left(1 - \frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_n} \]
                                    2. neg-mul-1N/A

                                      \[\leadsto {\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n} \]
                                    3. rec-expN/A

                                      \[\leadsto {\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n} \]
                                    4. pow-lowering-pow.f64N/A

                                      \[\leadsto \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_n}\right) \]
                                  4. Simplified94.6%

                                    \[\leadsto \color{blue}{{\left(1 + \frac{-1}{1 + e^{0 - s}}\right)}^{c\_n}} \]
                                  5. Taylor expanded in s around 0

                                    \[\leadsto \color{blue}{{\frac{1}{2}}^{c\_n}} \]
                                  6. Step-by-step derivation
                                    1. pow-lowering-pow.f6489.4%

                                      \[\leadsto \mathsf{pow.f64}\left(\frac{1}{2}, \color{blue}{c\_n}\right) \]
                                  7. Simplified89.4%

                                    \[\leadsto \color{blue}{{0.5}^{c\_n}} \]
                                5. Recombined 3 regimes into one program.
                                6. Add Preprocessing

                                Alternative 6: 92.9% accurate, 7.8× speedup?

                                \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t \leq 5 \cdot 10^{-101}:\\ \;\;\;\;{0.5}^{c\_n}\\ \mathbf{else}:\\ \;\;\;\;{0.5}^{c\_p}\\ \end{array} \end{array} \]
                                (FPCore (c_p c_n t s)
                                 :precision binary64
                                 (if (<= t 5e-101) (pow 0.5 c_n) (pow 0.5 c_p)))
                                double code(double c_p, double c_n, double t, double s) {
                                	double tmp;
                                	if (t <= 5e-101) {
                                		tmp = pow(0.5, c_n);
                                	} else {
                                		tmp = pow(0.5, c_p);
                                	}
                                	return tmp;
                                }
                                
                                real(8) function code(c_p, c_n, t, s)
                                    real(8), intent (in) :: c_p
                                    real(8), intent (in) :: c_n
                                    real(8), intent (in) :: t
                                    real(8), intent (in) :: s
                                    real(8) :: tmp
                                    if (t <= 5d-101) then
                                        tmp = 0.5d0 ** c_n
                                    else
                                        tmp = 0.5d0 ** c_p
                                    end if
                                    code = tmp
                                end function
                                
                                public static double code(double c_p, double c_n, double t, double s) {
                                	double tmp;
                                	if (t <= 5e-101) {
                                		tmp = Math.pow(0.5, c_n);
                                	} else {
                                		tmp = Math.pow(0.5, c_p);
                                	}
                                	return tmp;
                                }
                                
                                def code(c_p, c_n, t, s):
                                	tmp = 0
                                	if t <= 5e-101:
                                		tmp = math.pow(0.5, c_n)
                                	else:
                                		tmp = math.pow(0.5, c_p)
                                	return tmp
                                
                                function code(c_p, c_n, t, s)
                                	tmp = 0.0
                                	if (t <= 5e-101)
                                		tmp = 0.5 ^ c_n;
                                	else
                                		tmp = 0.5 ^ c_p;
                                	end
                                	return tmp
                                end
                                
                                function tmp_2 = code(c_p, c_n, t, s)
                                	tmp = 0.0;
                                	if (t <= 5e-101)
                                		tmp = 0.5 ^ c_n;
                                	else
                                		tmp = 0.5 ^ c_p;
                                	end
                                	tmp_2 = tmp;
                                end
                                
                                code[c$95$p_, c$95$n_, t_, s_] := If[LessEqual[t, 5e-101], N[Power[0.5, c$95$n], $MachinePrecision], N[Power[0.5, c$95$p], $MachinePrecision]]
                                
                                \begin{array}{l}
                                
                                \\
                                \begin{array}{l}
                                \mathbf{if}\;t \leq 5 \cdot 10^{-101}:\\
                                \;\;\;\;{0.5}^{c\_n}\\
                                
                                \mathbf{else}:\\
                                \;\;\;\;{0.5}^{c\_p}\\
                                
                                
                                \end{array}
                                \end{array}
                                
                                Derivation
                                1. Split input into 2 regimes
                                2. if t < 5.0000000000000001e-101

                                  1. Initial program 89.6%

                                    \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                                  2. Add Preprocessing
                                  3. Taylor expanded in c_n around 0

                                    \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right), c\_p\right), \color{blue}{1}\right)\right) \]
                                  4. Step-by-step derivation
                                    1. Simplified89.3%

                                      \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot \color{blue}{1}} \]
                                    2. Taylor expanded in c_p around 0

                                      \[\leadsto \color{blue}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}} \]
                                    3. Step-by-step derivation
                                      1. neg-mul-1N/A

                                        \[\leadsto {\left(1 - \frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_n} \]
                                      2. neg-mul-1N/A

                                        \[\leadsto {\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n} \]
                                      3. rec-expN/A

                                        \[\leadsto {\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n} \]
                                      4. pow-lowering-pow.f64N/A

                                        \[\leadsto \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_n}\right) \]
                                    4. Simplified95.0%

                                      \[\leadsto \color{blue}{{\left(1 + \frac{-1}{1 + e^{0 - s}}\right)}^{c\_n}} \]
                                    5. Taylor expanded in s around 0

                                      \[\leadsto \color{blue}{{\frac{1}{2}}^{c\_n}} \]
                                    6. Step-by-step derivation
                                      1. pow-lowering-pow.f6494.5%

                                        \[\leadsto \mathsf{pow.f64}\left(\frac{1}{2}, \color{blue}{c\_n}\right) \]
                                    7. Simplified94.5%

                                      \[\leadsto \color{blue}{{0.5}^{c\_n}} \]

                                    if 5.0000000000000001e-101 < t

                                    1. Initial program 80.2%

                                      \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                                    2. Add Preprocessing
                                    3. Taylor expanded in c_p around 0

                                      \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\color{blue}{1}, \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right)\right), c\_n\right)\right)\right) \]
                                    4. Step-by-step derivation
                                      1. Simplified82.4%

                                        \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{\color{blue}{1} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                                      2. Taylor expanded in c_n around 0

                                        \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p}} \]
                                      3. Step-by-step derivation
                                        1. neg-mul-1N/A

                                          \[\leadsto {\left(\frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_p} \]
                                        2. neg-mul-1N/A

                                          \[\leadsto {\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_p} \]
                                        3. rec-expN/A

                                          \[\leadsto {\left(\frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_p} \]
                                        4. pow-lowering-pow.f64N/A

                                          \[\leadsto \mathsf{pow.f64}\left(\left(\frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_p}\right) \]
                                        5. /-lowering-/.f64N/A

                                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \left(1 + \frac{1}{e^{s}}\right)\right), c\_p\right) \]
                                        6. +-lowering-+.f64N/A

                                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right), c\_p\right) \]
                                        7. rec-expN/A

                                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_p\right) \]
                                        8. neg-mul-1N/A

                                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \left(e^{-1 \cdot s}\right)\right)\right), c\_p\right) \]
                                        9. exp-lowering-exp.f64N/A

                                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(-1 \cdot s\right)\right)\right)\right), c\_p\right) \]
                                        10. neg-mul-1N/A

                                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(\mathsf{neg}\left(s\right)\right)\right)\right)\right), c\_p\right) \]
                                        11. neg-sub0N/A

                                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\left(0 - s\right)\right)\right)\right), c\_p\right) \]
                                        12. --lowering--.f6495.7%

                                          \[\leadsto \mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{\_.f64}\left(0, s\right)\right)\right)\right), c\_p\right) \]
                                      4. Simplified95.7%

                                        \[\leadsto \color{blue}{{\left(\frac{1}{1 + e^{0 - s}}\right)}^{c\_p}} \]
                                      5. Taylor expanded in s around 0

                                        \[\leadsto \color{blue}{{\frac{1}{2}}^{c\_p}} \]
                                      6. Step-by-step derivation
                                        1. pow-lowering-pow.f6497.8%

                                          \[\leadsto \mathsf{pow.f64}\left(\frac{1}{2}, \color{blue}{c\_p}\right) \]
                                      7. Simplified97.8%

                                        \[\leadsto \color{blue}{{0.5}^{c\_p}} \]
                                    5. Recombined 2 regimes into one program.
                                    6. Add Preprocessing

                                    Alternative 7: 95.4% accurate, 7.8× speedup?

                                    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;s \leq 7.5 \cdot 10^{-13}:\\ \;\;\;\;1\\ \mathbf{else}:\\ \;\;\;\;{0.5}^{c\_n}\\ \end{array} \end{array} \]
                                    (FPCore (c_p c_n t s)
                                     :precision binary64
                                     (if (<= s 7.5e-13) 1.0 (pow 0.5 c_n)))
                                    double code(double c_p, double c_n, double t, double s) {
                                    	double tmp;
                                    	if (s <= 7.5e-13) {
                                    		tmp = 1.0;
                                    	} else {
                                    		tmp = pow(0.5, c_n);
                                    	}
                                    	return tmp;
                                    }
                                    
                                    real(8) function code(c_p, c_n, t, s)
                                        real(8), intent (in) :: c_p
                                        real(8), intent (in) :: c_n
                                        real(8), intent (in) :: t
                                        real(8), intent (in) :: s
                                        real(8) :: tmp
                                        if (s <= 7.5d-13) then
                                            tmp = 1.0d0
                                        else
                                            tmp = 0.5d0 ** c_n
                                        end if
                                        code = tmp
                                    end function
                                    
                                    public static double code(double c_p, double c_n, double t, double s) {
                                    	double tmp;
                                    	if (s <= 7.5e-13) {
                                    		tmp = 1.0;
                                    	} else {
                                    		tmp = Math.pow(0.5, c_n);
                                    	}
                                    	return tmp;
                                    }
                                    
                                    def code(c_p, c_n, t, s):
                                    	tmp = 0
                                    	if s <= 7.5e-13:
                                    		tmp = 1.0
                                    	else:
                                    		tmp = math.pow(0.5, c_n)
                                    	return tmp
                                    
                                    function code(c_p, c_n, t, s)
                                    	tmp = 0.0
                                    	if (s <= 7.5e-13)
                                    		tmp = 1.0;
                                    	else
                                    		tmp = 0.5 ^ c_n;
                                    	end
                                    	return tmp
                                    end
                                    
                                    function tmp_2 = code(c_p, c_n, t, s)
                                    	tmp = 0.0;
                                    	if (s <= 7.5e-13)
                                    		tmp = 1.0;
                                    	else
                                    		tmp = 0.5 ^ c_n;
                                    	end
                                    	tmp_2 = tmp;
                                    end
                                    
                                    code[c$95$p_, c$95$n_, t_, s_] := If[LessEqual[s, 7.5e-13], 1.0, N[Power[0.5, c$95$n], $MachinePrecision]]
                                    
                                    \begin{array}{l}
                                    
                                    \\
                                    \begin{array}{l}
                                    \mathbf{if}\;s \leq 7.5 \cdot 10^{-13}:\\
                                    \;\;\;\;1\\
                                    
                                    \mathbf{else}:\\
                                    \;\;\;\;{0.5}^{c\_n}\\
                                    
                                    
                                    \end{array}
                                    \end{array}
                                    
                                    Derivation
                                    1. Split input into 2 regimes
                                    2. if s < 7.5000000000000004e-13

                                      1. Initial program 90.4%

                                        \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                                      2. Add Preprocessing
                                      3. Taylor expanded in c_p around 0

                                        \[\leadsto \color{blue}{\frac{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}}} \]
                                      4. Step-by-step derivation
                                        1. /-lowering-/.f64N/A

                                          \[\leadsto \mathsf{/.f64}\left(\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}\right), \color{blue}{\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)}\right) \]
                                        2. pow-lowering-pow.f64N/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right), c\_n\right), \left({\color{blue}{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}}^{c\_n}\right)\right) \]
                                        3. sub-negN/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 + \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        4. +-lowering-+.f64N/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        5. distribute-neg-fracN/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{\mathsf{neg}\left(1\right)}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        6. metadata-evalN/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{-1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        7. /-lowering-/.f64N/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \left(1 + e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        8. +-lowering-+.f64N/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        9. exp-negN/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        10. /-lowering-/.f64N/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \left(e^{s}\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        11. exp-lowering-exp.f64N/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                        12. pow-lowering-pow.f64N/A

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right), \color{blue}{c\_n}\right)\right) \]
                                      5. Simplified94.2%

                                        \[\leadsto \color{blue}{\frac{{\left(1 + \frac{-1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n}}{{\left(1 + \frac{-1}{1 + e^{0 - t}}\right)}^{c\_n}}} \]
                                      6. Taylor expanded in c_n around 0

                                        \[\leadsto \color{blue}{1} \]
                                      7. Step-by-step derivation
                                        1. Simplified95.5%

                                          \[\leadsto \color{blue}{1} \]

                                        if 7.5000000000000004e-13 < s

                                        1. Initial program 55.7%

                                          \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                                        2. Add Preprocessing
                                        3. Taylor expanded in c_n around 0

                                          \[\leadsto \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right), c\_p\right), \mathsf{pow.f64}\left(\mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(s\right)\right)\right)\right)\right), c\_n\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(1, \mathsf{+.f64}\left(1, \mathsf{exp.f64}\left(\mathsf{neg.f64}\left(t\right)\right)\right)\right), c\_p\right), \color{blue}{1}\right)\right) \]
                                        4. Step-by-step derivation
                                          1. Simplified78.0%

                                            \[\leadsto \frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot \color{blue}{1}} \]
                                          2. Taylor expanded in c_p around 0

                                            \[\leadsto \color{blue}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}} \]
                                          3. Step-by-step derivation
                                            1. neg-mul-1N/A

                                              \[\leadsto {\left(1 - \frac{1}{1 + e^{-1 \cdot s}}\right)}^{c\_n} \]
                                            2. neg-mul-1N/A

                                              \[\leadsto {\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n} \]
                                            3. rec-expN/A

                                              \[\leadsto {\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n} \]
                                            4. pow-lowering-pow.f64N/A

                                              \[\leadsto \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + \frac{1}{e^{s}}}\right), \color{blue}{c\_n}\right) \]
                                          4. Simplified94.6%

                                            \[\leadsto \color{blue}{{\left(1 + \frac{-1}{1 + e^{0 - s}}\right)}^{c\_n}} \]
                                          5. Taylor expanded in s around 0

                                            \[\leadsto \color{blue}{{\frac{1}{2}}^{c\_n}} \]
                                          6. Step-by-step derivation
                                            1. pow-lowering-pow.f6489.4%

                                              \[\leadsto \mathsf{pow.f64}\left(\frac{1}{2}, \color{blue}{c\_n}\right) \]
                                          7. Simplified89.4%

                                            \[\leadsto \color{blue}{{0.5}^{c\_n}} \]
                                        5. Recombined 2 regimes into one program.
                                        6. Add Preprocessing

                                        Alternative 8: 94.3% accurate, 835.0× speedup?

                                        \[\begin{array}{l} \\ 1 \end{array} \]
                                        (FPCore (c_p c_n t s) :precision binary64 1.0)
                                        double code(double c_p, double c_n, double t, double s) {
                                        	return 1.0;
                                        }
                                        
                                        real(8) function code(c_p, c_n, t, s)
                                            real(8), intent (in) :: c_p
                                            real(8), intent (in) :: c_n
                                            real(8), intent (in) :: t
                                            real(8), intent (in) :: s
                                            code = 1.0d0
                                        end function
                                        
                                        public static double code(double c_p, double c_n, double t, double s) {
                                        	return 1.0;
                                        }
                                        
                                        def code(c_p, c_n, t, s):
                                        	return 1.0
                                        
                                        function code(c_p, c_n, t, s)
                                        	return 1.0
                                        end
                                        
                                        function tmp = code(c_p, c_n, t, s)
                                        	tmp = 1.0;
                                        end
                                        
                                        code[c$95$p_, c$95$n_, t_, s_] := 1.0
                                        
                                        \begin{array}{l}
                                        
                                        \\
                                        1
                                        \end{array}
                                        
                                        Derivation
                                        1. Initial program 88.0%

                                          \[\frac{{\left(\frac{1}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-s}}\right)}^{c\_n}}{{\left(\frac{1}{1 + e^{-t}}\right)}^{c\_p} \cdot {\left(1 - \frac{1}{1 + e^{-t}}\right)}^{c\_n}} \]
                                        2. Add Preprocessing
                                        3. Taylor expanded in c_p around 0

                                          \[\leadsto \color{blue}{\frac{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}}{{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}}} \]
                                        4. Step-by-step derivation
                                          1. /-lowering-/.f64N/A

                                            \[\leadsto \mathsf{/.f64}\left(\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)}^{c\_n}\right), \color{blue}{\left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)}\right) \]
                                          2. pow-lowering-pow.f64N/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right), c\_n\right), \left({\color{blue}{\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}}^{c\_n}\right)\right) \]
                                          3. sub-negN/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\left(1 + \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          4. +-lowering-+.f64N/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\mathsf{neg}\left(\frac{1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right)\right), c\_n\right), \left({\left(\color{blue}{1} - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          5. distribute-neg-fracN/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{\mathsf{neg}\left(1\right)}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          6. metadata-evalN/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \left(\frac{-1}{1 + e^{\mathsf{neg}\left(s\right)}}\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          7. /-lowering-/.f64N/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \left(1 + e^{\mathsf{neg}\left(s\right)}\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          8. +-lowering-+.f64N/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(e^{\mathsf{neg}\left(s\right)}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          9. exp-negN/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \left(\frac{1}{e^{s}}\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          10. /-lowering-/.f64N/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \left(e^{s}\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          11. exp-lowering-exp.f64N/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \left({\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right)}^{c\_n}\right)\right) \]
                                          12. pow-lowering-pow.f64N/A

                                            \[\leadsto \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\mathsf{+.f64}\left(1, \mathsf{/.f64}\left(-1, \mathsf{+.f64}\left(1, \mathsf{/.f64}\left(1, \mathsf{exp.f64}\left(s\right)\right)\right)\right)\right), c\_n\right), \mathsf{pow.f64}\left(\left(1 - \frac{1}{1 + e^{\mathsf{neg}\left(t\right)}}\right), \color{blue}{c\_n}\right)\right) \]
                                        5. Simplified92.7%

                                          \[\leadsto \color{blue}{\frac{{\left(1 + \frac{-1}{1 + \frac{1}{e^{s}}}\right)}^{c\_n}}{{\left(1 + \frac{-1}{1 + e^{0 - t}}\right)}^{c\_n}}} \]
                                        6. Taylor expanded in c_n around 0

                                          \[\leadsto \color{blue}{1} \]
                                        7. Step-by-step derivation
                                          1. Simplified92.8%

                                            \[\leadsto \color{blue}{1} \]
                                          2. Add Preprocessing

                                          Developer Target 1: 96.4% accurate, 1.3× speedup?

                                          \[\begin{array}{l} \\ {\left(\frac{1 + e^{-t}}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(\frac{1 + e^{t}}{1 + e^{s}}\right)}^{c\_n} \end{array} \]
                                          (FPCore (c_p c_n t s)
                                           :precision binary64
                                           (*
                                            (pow (/ (+ 1.0 (exp (- t))) (+ 1.0 (exp (- s)))) c_p)
                                            (pow (/ (+ 1.0 (exp t)) (+ 1.0 (exp s))) c_n)))
                                          double code(double c_p, double c_n, double t, double s) {
                                          	return pow(((1.0 + exp(-t)) / (1.0 + exp(-s))), c_p) * pow(((1.0 + exp(t)) / (1.0 + exp(s))), c_n);
                                          }
                                          
                                          real(8) function code(c_p, c_n, t, s)
                                              real(8), intent (in) :: c_p
                                              real(8), intent (in) :: c_n
                                              real(8), intent (in) :: t
                                              real(8), intent (in) :: s
                                              code = (((1.0d0 + exp(-t)) / (1.0d0 + exp(-s))) ** c_p) * (((1.0d0 + exp(t)) / (1.0d0 + exp(s))) ** c_n)
                                          end function
                                          
                                          public static double code(double c_p, double c_n, double t, double s) {
                                          	return Math.pow(((1.0 + Math.exp(-t)) / (1.0 + Math.exp(-s))), c_p) * Math.pow(((1.0 + Math.exp(t)) / (1.0 + Math.exp(s))), c_n);
                                          }
                                          
                                          def code(c_p, c_n, t, s):
                                          	return math.pow(((1.0 + math.exp(-t)) / (1.0 + math.exp(-s))), c_p) * math.pow(((1.0 + math.exp(t)) / (1.0 + math.exp(s))), c_n)
                                          
                                          function code(c_p, c_n, t, s)
                                          	return Float64((Float64(Float64(1.0 + exp(Float64(-t))) / Float64(1.0 + exp(Float64(-s)))) ^ c_p) * (Float64(Float64(1.0 + exp(t)) / Float64(1.0 + exp(s))) ^ c_n))
                                          end
                                          
                                          function tmp = code(c_p, c_n, t, s)
                                          	tmp = (((1.0 + exp(-t)) / (1.0 + exp(-s))) ^ c_p) * (((1.0 + exp(t)) / (1.0 + exp(s))) ^ c_n);
                                          end
                                          
                                          code[c$95$p_, c$95$n_, t_, s_] := N[(N[Power[N[(N[(1.0 + N[Exp[(-t)], $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[Exp[(-s)], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], c$95$p], $MachinePrecision] * N[Power[N[(N[(1.0 + N[Exp[t], $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[Exp[s], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], c$95$n], $MachinePrecision]), $MachinePrecision]
                                          
                                          \begin{array}{l}
                                          
                                          \\
                                          {\left(\frac{1 + e^{-t}}{1 + e^{-s}}\right)}^{c\_p} \cdot {\left(\frac{1 + e^{t}}{1 + e^{s}}\right)}^{c\_n}
                                          \end{array}
                                          

                                          Reproduce

                                          ?
                                          herbie shell --seed 2024192 
                                          (FPCore (c_p c_n t s)
                                            :name "Harley's example"
                                            :precision binary64
                                            :pre (and (< 0.0 c_p) (< 0.0 c_n))
                                          
                                            :alt
                                            (! :herbie-platform default (* (pow (/ (+ 1 (exp (- t))) (+ 1 (exp (- s)))) c_p) (pow (/ (+ 1 (exp t)) (+ 1 (exp s))) c_n)))
                                          
                                            (/ (* (pow (/ 1.0 (+ 1.0 (exp (- s)))) c_p) (pow (- 1.0 (/ 1.0 (+ 1.0 (exp (- s))))) c_n)) (* (pow (/ 1.0 (+ 1.0 (exp (- t)))) c_p) (pow (- 1.0 (/ 1.0 (+ 1.0 (exp (- t))))) c_n))))