Falkner and Boettcher, Appendix A

Percentage Accurate: 91.4% → 98.9%
Time: 13.0s
Alternatives: 16
Speedup: 1.1×

Specification

?
\[\begin{array}{l} \\ \frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))
double code(double a, double k, double m) {
	return (a * pow(k, m)) / ((1.0 + (10.0 * k)) + (k * k));
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    code = (a * (k ** m)) / ((1.0d0 + (10.0d0 * k)) + (k * k))
end function
public static double code(double a, double k, double m) {
	return (a * Math.pow(k, m)) / ((1.0 + (10.0 * k)) + (k * k));
}
def code(a, k, m):
	return (a * math.pow(k, m)) / ((1.0 + (10.0 * k)) + (k * k))
function code(a, k, m)
	return Float64(Float64(a * (k ^ m)) / Float64(Float64(1.0 + Float64(10.0 * k)) + Float64(k * k)))
end
function tmp = code(a, k, m)
	tmp = (a * (k ^ m)) / ((1.0 + (10.0 * k)) + (k * k));
end
code[a_, k_, m_] := N[(N[(a * N[Power[k, m], $MachinePrecision]), $MachinePrecision] / N[(N[(1.0 + N[(10.0 * k), $MachinePrecision]), $MachinePrecision] + N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\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 16 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: 91.4% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))
double code(double a, double k, double m) {
	return (a * pow(k, m)) / ((1.0 + (10.0 * k)) + (k * k));
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    code = (a * (k ** m)) / ((1.0d0 + (10.0d0 * k)) + (k * k))
end function
public static double code(double a, double k, double m) {
	return (a * Math.pow(k, m)) / ((1.0 + (10.0 * k)) + (k * k));
}
def code(a, k, m):
	return (a * math.pow(k, m)) / ((1.0 + (10.0 * k)) + (k * k))
function code(a, k, m)
	return Float64(Float64(a * (k ^ m)) / Float64(Float64(1.0 + Float64(10.0 * k)) + Float64(k * k)))
end
function tmp = code(a, k, m)
	tmp = (a * (k ^ m)) / ((1.0 + (10.0 * k)) + (k * k));
end
code[a_, k_, m_] := N[(N[(a * N[Power[k, m], $MachinePrecision]), $MachinePrecision] / N[(N[(1.0 + N[(10.0 * k), $MachinePrecision]), $MachinePrecision] + N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\end{array}

Alternative 1: 98.9% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;k \leq 0.00078:\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{a \cdot \frac{{k}^{m}}{k}}{\sqrt{k}}}{\sqrt{k}}\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= k 0.00078)
   (* (pow k m) a)
   (/ (/ (* a (/ (pow k m) k)) (sqrt k)) (sqrt k))))
double code(double a, double k, double m) {
	double tmp;
	if (k <= 0.00078) {
		tmp = pow(k, m) * a;
	} else {
		tmp = ((a * (pow(k, m) / k)) / sqrt(k)) / sqrt(k);
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if (k <= 0.00078d0) then
        tmp = (k ** m) * a
    else
        tmp = ((a * ((k ** m) / k)) / sqrt(k)) / sqrt(k)
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (k <= 0.00078) {
		tmp = Math.pow(k, m) * a;
	} else {
		tmp = ((a * (Math.pow(k, m) / k)) / Math.sqrt(k)) / Math.sqrt(k);
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if k <= 0.00078:
		tmp = math.pow(k, m) * a
	else:
		tmp = ((a * (math.pow(k, m) / k)) / math.sqrt(k)) / math.sqrt(k)
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (k <= 0.00078)
		tmp = Float64((k ^ m) * a);
	else
		tmp = Float64(Float64(Float64(a * Float64((k ^ m) / k)) / sqrt(k)) / sqrt(k));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (k <= 0.00078)
		tmp = (k ^ m) * a;
	else
		tmp = ((a * ((k ^ m) / k)) / sqrt(k)) / sqrt(k);
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[k, 0.00078], N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision], N[(N[(N[(a * N[(N[Power[k, m], $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision] / N[Sqrt[k], $MachinePrecision]), $MachinePrecision] / N[Sqrt[k], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;k \leq 0.00078:\\
\;\;\;\;{k}^{m} \cdot a\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{a \cdot \frac{{k}^{m}}{k}}{\sqrt{k}}}{\sqrt{k}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if k < 7.79999999999999986e-4

    1. Initial program 95.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/95.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative95.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg95.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg95.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative95.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified95.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around 0 98.8%

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]

    if 7.79999999999999986e-4 < k

    1. Initial program 87.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/87.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative87.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg87.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg87.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative87.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified87.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around inf 87.0%

      \[\leadsto \color{blue}{\frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{2}}} \]
    5. Step-by-step derivation
      1. *-commutative87.0%

        \[\leadsto \frac{\color{blue}{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}}{{k}^{2}} \]
      2. unpow287.0%

        \[\leadsto \frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}{\color{blue}{k \cdot k}} \]
      3. times-frac92.6%

        \[\leadsto \color{blue}{\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k} \cdot \frac{a}{k}} \]
      4. associate-*r*92.6%

        \[\leadsto \frac{e^{\color{blue}{\left(-1 \cdot m\right) \cdot \log \left(\frac{1}{k}\right)}}}{k} \cdot \frac{a}{k} \]
      5. *-commutative92.6%

        \[\leadsto \frac{e^{\color{blue}{\log \left(\frac{1}{k}\right) \cdot \left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      6. exp-to-pow92.6%

        \[\leadsto \frac{\color{blue}{{\left(\frac{1}{k}\right)}^{\left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      7. mul-1-neg92.6%

        \[\leadsto \frac{{\left(\frac{1}{k}\right)}^{\color{blue}{\left(-m\right)}}}{k} \cdot \frac{a}{k} \]
    6. Simplified92.6%

      \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}} \]
    7. Step-by-step derivation
      1. associate-*r/99.5%

        \[\leadsto \color{blue}{\frac{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot a}{k}} \]
      2. add-sqr-sqrt99.5%

        \[\leadsto \frac{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot a}{\color{blue}{\sqrt{k} \cdot \sqrt{k}}} \]
      3. associate-/r*99.5%

        \[\leadsto \color{blue}{\frac{\frac{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot a}{\sqrt{k}}}{\sqrt{k}}} \]
    8. Applied egg-rr99.5%

      \[\leadsto \color{blue}{\frac{\frac{a \cdot \frac{{k}^{m}}{k}}{\sqrt{k}}}{\sqrt{k}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification99.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq 0.00078:\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{a \cdot \frac{{k}^{m}}{k}}{\sqrt{k}}}{\sqrt{k}}\\ \end{array} \]

Alternative 2: 97.0% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq 9 \cdot 10^{-32}:\\ \;\;\;\;a \cdot \frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;{k}^{m} \cdot a\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m 9e-32) (* a (/ (pow k m) (fma k (+ k 10.0) 1.0))) (* (pow k m) a)))
double code(double a, double k, double m) {
	double tmp;
	if (m <= 9e-32) {
		tmp = a * (pow(k, m) / fma(k, (k + 10.0), 1.0));
	} else {
		tmp = pow(k, m) * a;
	}
	return tmp;
}
function code(a, k, m)
	tmp = 0.0
	if (m <= 9e-32)
		tmp = Float64(a * Float64((k ^ m) / fma(k, Float64(k + 10.0), 1.0)));
	else
		tmp = Float64((k ^ m) * a);
	end
	return tmp
end
code[a_, k_, m_] := If[LessEqual[m, 9e-32], N[(a * N[(N[Power[k, m], $MachinePrecision] / N[(k * N[(k + 10.0), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;m \leq 9 \cdot 10^{-32}:\\
\;\;\;\;a \cdot \frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)}\\

\mathbf{else}:\\
\;\;\;\;{k}^{m} \cdot a\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if m < 9.00000000000000009e-32

    1. Initial program 97.1%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/97.1%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative97.1%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg97.1%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+97.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative97.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg97.1%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out97.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def97.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative97.1%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified97.1%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]

    if 9.00000000000000009e-32 < m

    1. Initial program 83.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around 0 100.0%

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]
  3. Recombined 2 regimes into one program.
  4. Final simplification98.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq 9 \cdot 10^{-32}:\\ \;\;\;\;a \cdot \frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;{k}^{m} \cdot a\\ \end{array} \]

Alternative 3: 97.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {k}^{m} \cdot a\\ \mathbf{if}\;m \leq 9 \cdot 10^{-32}:\\ \;\;\;\;\frac{t_0}{1 + \left(k \cdot 10 + k \cdot k\right)}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (let* ((t_0 (* (pow k m) a)))
   (if (<= m 9e-32) (/ t_0 (+ 1.0 (+ (* k 10.0) (* k k)))) t_0)))
double code(double a, double k, double m) {
	double t_0 = pow(k, m) * a;
	double tmp;
	if (m <= 9e-32) {
		tmp = t_0 / (1.0 + ((k * 10.0) + (k * k)));
	} else {
		tmp = t_0;
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: t_0
    real(8) :: tmp
    t_0 = (k ** m) * a
    if (m <= 9d-32) then
        tmp = t_0 / (1.0d0 + ((k * 10.0d0) + (k * k)))
    else
        tmp = t_0
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double t_0 = Math.pow(k, m) * a;
	double tmp;
	if (m <= 9e-32) {
		tmp = t_0 / (1.0 + ((k * 10.0) + (k * k)));
	} else {
		tmp = t_0;
	}
	return tmp;
}
def code(a, k, m):
	t_0 = math.pow(k, m) * a
	tmp = 0
	if m <= 9e-32:
		tmp = t_0 / (1.0 + ((k * 10.0) + (k * k)))
	else:
		tmp = t_0
	return tmp
function code(a, k, m)
	t_0 = Float64((k ^ m) * a)
	tmp = 0.0
	if (m <= 9e-32)
		tmp = Float64(t_0 / Float64(1.0 + Float64(Float64(k * 10.0) + Float64(k * k))));
	else
		tmp = t_0;
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	t_0 = (k ^ m) * a;
	tmp = 0.0;
	if (m <= 9e-32)
		tmp = t_0 / (1.0 + ((k * 10.0) + (k * k)));
	else
		tmp = t_0;
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := Block[{t$95$0 = N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision]}, If[LessEqual[m, 9e-32], N[(t$95$0 / N[(1.0 + N[(N[(k * 10.0), $MachinePrecision] + N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {k}^{m} \cdot a\\
\mathbf{if}\;m \leq 9 \cdot 10^{-32}:\\
\;\;\;\;\frac{t_0}{1 + \left(k \cdot 10 + k \cdot k\right)}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if m < 9.00000000000000009e-32

    1. Initial program 97.1%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. sqr-neg97.1%

        \[\leadsto \frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \]
      2. associate-+l+97.1%

        \[\leadsto \frac{a \cdot {k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \]
      3. *-commutative97.1%

        \[\leadsto \frac{a \cdot {k}^{m}}{1 + \left(\color{blue}{k \cdot 10} + \left(-k\right) \cdot \left(-k\right)\right)} \]
      4. sqr-neg97.1%

        \[\leadsto \frac{a \cdot {k}^{m}}{1 + \left(k \cdot 10 + \color{blue}{k \cdot k}\right)} \]
    3. Simplified97.1%

      \[\leadsto \color{blue}{\frac{a \cdot {k}^{m}}{1 + \left(k \cdot 10 + k \cdot k\right)}} \]

    if 9.00000000000000009e-32 < m

    1. Initial program 83.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around 0 100.0%

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]
  3. Recombined 2 regimes into one program.
  4. Final simplification98.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq 9 \cdot 10^{-32}:\\ \;\;\;\;\frac{{k}^{m} \cdot a}{1 + \left(k \cdot 10 + k \cdot k\right)}\\ \mathbf{else}:\\ \;\;\;\;{k}^{m} \cdot a\\ \end{array} \]

Alternative 4: 97.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;k \leq 0.00078:\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= k 0.00078) (* (pow k m) a) (* (/ (pow (/ 1.0 k) (- m)) k) (/ a k))))
double code(double a, double k, double m) {
	double tmp;
	if (k <= 0.00078) {
		tmp = pow(k, m) * a;
	} else {
		tmp = (pow((1.0 / k), -m) / k) * (a / k);
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if (k <= 0.00078d0) then
        tmp = (k ** m) * a
    else
        tmp = (((1.0d0 / k) ** -m) / k) * (a / k)
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (k <= 0.00078) {
		tmp = Math.pow(k, m) * a;
	} else {
		tmp = (Math.pow((1.0 / k), -m) / k) * (a / k);
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if k <= 0.00078:
		tmp = math.pow(k, m) * a
	else:
		tmp = (math.pow((1.0 / k), -m) / k) * (a / k)
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (k <= 0.00078)
		tmp = Float64((k ^ m) * a);
	else
		tmp = Float64(Float64((Float64(1.0 / k) ^ Float64(-m)) / k) * Float64(a / k));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (k <= 0.00078)
		tmp = (k ^ m) * a;
	else
		tmp = (((1.0 / k) ^ -m) / k) * (a / k);
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[k, 0.00078], N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision], N[(N[(N[Power[N[(1.0 / k), $MachinePrecision], (-m)], $MachinePrecision] / k), $MachinePrecision] * N[(a / k), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;k \leq 0.00078:\\
\;\;\;\;{k}^{m} \cdot a\\

\mathbf{else}:\\
\;\;\;\;\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if k < 7.79999999999999986e-4

    1. Initial program 95.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/95.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative95.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg95.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg95.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative95.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified95.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around 0 98.8%

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]

    if 7.79999999999999986e-4 < k

    1. Initial program 87.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/87.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative87.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg87.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg87.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative87.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified87.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around inf 87.0%

      \[\leadsto \color{blue}{\frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{2}}} \]
    5. Step-by-step derivation
      1. *-commutative87.0%

        \[\leadsto \frac{\color{blue}{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}}{{k}^{2}} \]
      2. unpow287.0%

        \[\leadsto \frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}{\color{blue}{k \cdot k}} \]
      3. times-frac92.6%

        \[\leadsto \color{blue}{\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k} \cdot \frac{a}{k}} \]
      4. associate-*r*92.6%

        \[\leadsto \frac{e^{\color{blue}{\left(-1 \cdot m\right) \cdot \log \left(\frac{1}{k}\right)}}}{k} \cdot \frac{a}{k} \]
      5. *-commutative92.6%

        \[\leadsto \frac{e^{\color{blue}{\log \left(\frac{1}{k}\right) \cdot \left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      6. exp-to-pow92.6%

        \[\leadsto \frac{\color{blue}{{\left(\frac{1}{k}\right)}^{\left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      7. mul-1-neg92.6%

        \[\leadsto \frac{{\left(\frac{1}{k}\right)}^{\color{blue}{\left(-m\right)}}}{k} \cdot \frac{a}{k} \]
    6. Simplified92.6%

      \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification96.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq 0.00078:\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}\\ \end{array} \]

Alternative 5: 96.8% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {k}^{m} \cdot a\\ \mathbf{if}\;m \leq -0.00065:\\ \;\;\;\;\frac{t_0}{1 + k \cdot 10}\\ \mathbf{elif}\;m \leq 9 \cdot 10^{-32}:\\ \;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (let* ((t_0 (* (pow k m) a)))
   (if (<= m -0.00065)
     (/ t_0 (+ 1.0 (* k 10.0)))
     (if (<= m 9e-32) (/ a (+ 1.0 (* k (+ k 10.0)))) t_0))))
double code(double a, double k, double m) {
	double t_0 = pow(k, m) * a;
	double tmp;
	if (m <= -0.00065) {
		tmp = t_0 / (1.0 + (k * 10.0));
	} else if (m <= 9e-32) {
		tmp = a / (1.0 + (k * (k + 10.0)));
	} else {
		tmp = t_0;
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: t_0
    real(8) :: tmp
    t_0 = (k ** m) * a
    if (m <= (-0.00065d0)) then
        tmp = t_0 / (1.0d0 + (k * 10.0d0))
    else if (m <= 9d-32) then
        tmp = a / (1.0d0 + (k * (k + 10.0d0)))
    else
        tmp = t_0
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double t_0 = Math.pow(k, m) * a;
	double tmp;
	if (m <= -0.00065) {
		tmp = t_0 / (1.0 + (k * 10.0));
	} else if (m <= 9e-32) {
		tmp = a / (1.0 + (k * (k + 10.0)));
	} else {
		tmp = t_0;
	}
	return tmp;
}
def code(a, k, m):
	t_0 = math.pow(k, m) * a
	tmp = 0
	if m <= -0.00065:
		tmp = t_0 / (1.0 + (k * 10.0))
	elif m <= 9e-32:
		tmp = a / (1.0 + (k * (k + 10.0)))
	else:
		tmp = t_0
	return tmp
function code(a, k, m)
	t_0 = Float64((k ^ m) * a)
	tmp = 0.0
	if (m <= -0.00065)
		tmp = Float64(t_0 / Float64(1.0 + Float64(k * 10.0)));
	elseif (m <= 9e-32)
		tmp = Float64(a / Float64(1.0 + Float64(k * Float64(k + 10.0))));
	else
		tmp = t_0;
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	t_0 = (k ^ m) * a;
	tmp = 0.0;
	if (m <= -0.00065)
		tmp = t_0 / (1.0 + (k * 10.0));
	elseif (m <= 9e-32)
		tmp = a / (1.0 + (k * (k + 10.0)));
	else
		tmp = t_0;
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := Block[{t$95$0 = N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision]}, If[LessEqual[m, -0.00065], N[(t$95$0 / N[(1.0 + N[(k * 10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 9e-32], N[(a / N[(1.0 + N[(k * N[(k + 10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$0]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {k}^{m} \cdot a\\
\mathbf{if}\;m \leq -0.00065:\\
\;\;\;\;\frac{t_0}{1 + k \cdot 10}\\

\mathbf{elif}\;m \leq 9 \cdot 10^{-32}:\\
\;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if m < -6.4999999999999997e-4

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. sqr-neg100.0%

        \[\leadsto \frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \]
      2. associate-+l+100.0%

        \[\leadsto \frac{a \cdot {k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \]
      3. *-commutative100.0%

        \[\leadsto \frac{a \cdot {k}^{m}}{1 + \left(\color{blue}{k \cdot 10} + \left(-k\right) \cdot \left(-k\right)\right)} \]
      4. sqr-neg100.0%

        \[\leadsto \frac{a \cdot {k}^{m}}{1 + \left(k \cdot 10 + \color{blue}{k \cdot k}\right)} \]
    3. Simplified100.0%

      \[\leadsto \color{blue}{\frac{a \cdot {k}^{m}}{1 + \left(k \cdot 10 + k \cdot k\right)}} \]
    4. Taylor expanded in k around 0 100.0%

      \[\leadsto \frac{a \cdot {k}^{m}}{1 + \color{blue}{10 \cdot k}} \]
    5. Step-by-step derivation
      1. *-commutative100.0%

        \[\leadsto \frac{a \cdot {k}^{m}}{1 + \color{blue}{k \cdot 10}} \]
    6. Simplified100.0%

      \[\leadsto \frac{a \cdot {k}^{m}}{1 + \color{blue}{k \cdot 10}} \]

    if -6.4999999999999997e-4 < m < 9.00000000000000009e-32

    1. Initial program 93.7%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/93.7%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative93.7%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg93.7%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg93.7%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative93.7%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified93.7%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 93.7%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]

    if 9.00000000000000009e-32 < m

    1. Initial program 83.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around 0 100.0%

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]
  3. Recombined 3 regimes into one program.
  4. Final simplification98.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.00065:\\ \;\;\;\;\frac{{k}^{m} \cdot a}{1 + k \cdot 10}\\ \mathbf{elif}\;m \leq 9 \cdot 10^{-32}:\\ \;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\ \mathbf{else}:\\ \;\;\;\;{k}^{m} \cdot a\\ \end{array} \]

Alternative 6: 94.7% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;k \leq 0.00078:\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{{k}^{m}}{\frac{k}{\frac{a}{k}}}\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= k 0.00078) (* (pow k m) a) (/ (pow k m) (/ k (/ a k)))))
double code(double a, double k, double m) {
	double tmp;
	if (k <= 0.00078) {
		tmp = pow(k, m) * a;
	} else {
		tmp = pow(k, m) / (k / (a / k));
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if (k <= 0.00078d0) then
        tmp = (k ** m) * a
    else
        tmp = (k ** m) / (k / (a / k))
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (k <= 0.00078) {
		tmp = Math.pow(k, m) * a;
	} else {
		tmp = Math.pow(k, m) / (k / (a / k));
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if k <= 0.00078:
		tmp = math.pow(k, m) * a
	else:
		tmp = math.pow(k, m) / (k / (a / k))
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (k <= 0.00078)
		tmp = Float64((k ^ m) * a);
	else
		tmp = Float64((k ^ m) / Float64(k / Float64(a / k)));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (k <= 0.00078)
		tmp = (k ^ m) * a;
	else
		tmp = (k ^ m) / (k / (a / k));
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[k, 0.00078], N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision], N[(N[Power[k, m], $MachinePrecision] / N[(k / N[(a / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;k \leq 0.00078:\\
\;\;\;\;{k}^{m} \cdot a\\

\mathbf{else}:\\
\;\;\;\;\frac{{k}^{m}}{\frac{k}{\frac{a}{k}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if k < 7.79999999999999986e-4

    1. Initial program 95.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/95.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative95.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg95.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg95.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def95.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative95.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified95.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around 0 98.8%

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]

    if 7.79999999999999986e-4 < k

    1. Initial program 87.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/87.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative87.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg87.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg87.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def87.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative87.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified87.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around inf 87.0%

      \[\leadsto \color{blue}{\frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{2}}} \]
    5. Step-by-step derivation
      1. *-commutative87.0%

        \[\leadsto \frac{\color{blue}{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}}{{k}^{2}} \]
      2. unpow287.0%

        \[\leadsto \frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}{\color{blue}{k \cdot k}} \]
      3. times-frac92.6%

        \[\leadsto \color{blue}{\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k} \cdot \frac{a}{k}} \]
      4. associate-*r*92.6%

        \[\leadsto \frac{e^{\color{blue}{\left(-1 \cdot m\right) \cdot \log \left(\frac{1}{k}\right)}}}{k} \cdot \frac{a}{k} \]
      5. *-commutative92.6%

        \[\leadsto \frac{e^{\color{blue}{\log \left(\frac{1}{k}\right) \cdot \left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      6. exp-to-pow92.6%

        \[\leadsto \frac{\color{blue}{{\left(\frac{1}{k}\right)}^{\left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      7. mul-1-neg92.6%

        \[\leadsto \frac{{\left(\frac{1}{k}\right)}^{\color{blue}{\left(-m\right)}}}{k} \cdot \frac{a}{k} \]
    6. Simplified92.6%

      \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}} \]
    7. Step-by-step derivation
      1. associate-*l/92.7%

        \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)} \cdot \frac{a}{k}}{k}} \]
      2. associate-/l*91.1%

        \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{\frac{k}{\frac{a}{k}}}} \]
      3. inv-pow91.1%

        \[\leadsto \frac{{\color{blue}{\left({k}^{-1}\right)}}^{\left(-m\right)}}{\frac{k}{\frac{a}{k}}} \]
      4. pow-pow91.1%

        \[\leadsto \frac{\color{blue}{{k}^{\left(-1 \cdot \left(-m\right)\right)}}}{\frac{k}{\frac{a}{k}}} \]
      5. add-sqr-sqrt59.7%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \color{blue}{\left(\sqrt{-m} \cdot \sqrt{-m}\right)}\right)}}{\frac{k}{\frac{a}{k}}} \]
      6. sqrt-unprod76.5%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \color{blue}{\sqrt{\left(-m\right) \cdot \left(-m\right)}}\right)}}{\frac{k}{\frac{a}{k}}} \]
      7. sqr-neg76.5%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \sqrt{\color{blue}{m \cdot m}}\right)}}{\frac{k}{\frac{a}{k}}} \]
      8. sqrt-unprod16.8%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \color{blue}{\left(\sqrt{m} \cdot \sqrt{m}\right)}\right)}}{\frac{k}{\frac{a}{k}}} \]
      9. add-sqr-sqrt46.0%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \color{blue}{m}\right)}}{\frac{k}{\frac{a}{k}}} \]
      10. neg-mul-146.0%

        \[\leadsto \frac{{k}^{\color{blue}{\left(-m\right)}}}{\frac{k}{\frac{a}{k}}} \]
      11. add-sqr-sqrt29.2%

        \[\leadsto \frac{{k}^{\color{blue}{\left(\sqrt{-m} \cdot \sqrt{-m}\right)}}}{\frac{k}{\frac{a}{k}}} \]
      12. sqrt-unprod60.5%

        \[\leadsto \frac{{k}^{\color{blue}{\left(\sqrt{\left(-m\right) \cdot \left(-m\right)}\right)}}}{\frac{k}{\frac{a}{k}}} \]
      13. sqr-neg60.5%

        \[\leadsto \frac{{k}^{\left(\sqrt{\color{blue}{m \cdot m}}\right)}}{\frac{k}{\frac{a}{k}}} \]
      14. sqrt-unprod31.4%

        \[\leadsto \frac{{k}^{\color{blue}{\left(\sqrt{m} \cdot \sqrt{m}\right)}}}{\frac{k}{\frac{a}{k}}} \]
      15. add-sqr-sqrt91.1%

        \[\leadsto \frac{{k}^{\color{blue}{m}}}{\frac{k}{\frac{a}{k}}} \]
    8. Applied egg-rr91.1%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\frac{k}{\frac{a}{k}}}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification96.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq 0.00078:\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{{k}^{m}}{\frac{k}{\frac{a}{k}}}\\ \end{array} \]

Alternative 7: 96.7% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -0.00058 \lor \neg \left(m \leq 9 \cdot 10^{-32}\right):\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (or (<= m -0.00058) (not (<= m 9e-32)))
   (* (pow k m) a)
   (/ a (+ 1.0 (* k (+ k 10.0))))))
double code(double a, double k, double m) {
	double tmp;
	if ((m <= -0.00058) || !(m <= 9e-32)) {
		tmp = pow(k, m) * a;
	} else {
		tmp = a / (1.0 + (k * (k + 10.0)));
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if ((m <= (-0.00058d0)) .or. (.not. (m <= 9d-32))) then
        tmp = (k ** m) * a
    else
        tmp = a / (1.0d0 + (k * (k + 10.0d0)))
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if ((m <= -0.00058) || !(m <= 9e-32)) {
		tmp = Math.pow(k, m) * a;
	} else {
		tmp = a / (1.0 + (k * (k + 10.0)));
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if (m <= -0.00058) or not (m <= 9e-32):
		tmp = math.pow(k, m) * a
	else:
		tmp = a / (1.0 + (k * (k + 10.0)))
	return tmp
function code(a, k, m)
	tmp = 0.0
	if ((m <= -0.00058) || !(m <= 9e-32))
		tmp = Float64((k ^ m) * a);
	else
		tmp = Float64(a / Float64(1.0 + Float64(k * Float64(k + 10.0))));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if ((m <= -0.00058) || ~((m <= 9e-32)))
		tmp = (k ^ m) * a;
	else
		tmp = a / (1.0 + (k * (k + 10.0)));
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[Or[LessEqual[m, -0.00058], N[Not[LessEqual[m, 9e-32]], $MachinePrecision]], N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision], N[(a / N[(1.0 + N[(k * N[(k + 10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;m \leq -0.00058 \lor \neg \left(m \leq 9 \cdot 10^{-32}\right):\\
\;\;\;\;{k}^{m} \cdot a\\

\mathbf{else}:\\
\;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if m < -5.8e-4 or 9.00000000000000009e-32 < m

    1. Initial program 92.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/92.0%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative92.0%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg92.0%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+92.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative92.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg92.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out92.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def92.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative92.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified92.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around 0 99.4%

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]

    if -5.8e-4 < m < 9.00000000000000009e-32

    1. Initial program 93.7%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/93.7%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative93.7%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg93.7%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg93.7%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative93.7%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified93.7%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 93.7%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification97.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.00058 \lor \neg \left(m \leq 9 \cdot 10^{-32}\right):\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\ \end{array} \]

Alternative 8: 47.3% accurate, 7.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{a}{1 + k \cdot 10}\\ \mathbf{if}\;m \leq -0.00018:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 2.1 \cdot 10^{-170}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;m \leq 2.4 \cdot 10^{-49}:\\ \;\;\;\;\frac{1}{k} \cdot \frac{a}{k}\\ \mathbf{elif}\;m \leq 7200000:\\ \;\;\;\;t_0\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (let* ((t_0 (/ a (+ 1.0 (* k 10.0)))))
   (if (<= m -0.00018)
     (/ a (* k k))
     (if (<= m 2.1e-170)
       t_0
       (if (<= m 2.4e-49)
         (* (/ 1.0 k) (/ a k))
         (if (<= m 7200000.0) t_0 (* -10.0 (* k a))))))))
double code(double a, double k, double m) {
	double t_0 = a / (1.0 + (k * 10.0));
	double tmp;
	if (m <= -0.00018) {
		tmp = a / (k * k);
	} else if (m <= 2.1e-170) {
		tmp = t_0;
	} else if (m <= 2.4e-49) {
		tmp = (1.0 / k) * (a / k);
	} else if (m <= 7200000.0) {
		tmp = t_0;
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: t_0
    real(8) :: tmp
    t_0 = a / (1.0d0 + (k * 10.0d0))
    if (m <= (-0.00018d0)) then
        tmp = a / (k * k)
    else if (m <= 2.1d-170) then
        tmp = t_0
    else if (m <= 2.4d-49) then
        tmp = (1.0d0 / k) * (a / k)
    else if (m <= 7200000.0d0) then
        tmp = t_0
    else
        tmp = (-10.0d0) * (k * a)
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double t_0 = a / (1.0 + (k * 10.0));
	double tmp;
	if (m <= -0.00018) {
		tmp = a / (k * k);
	} else if (m <= 2.1e-170) {
		tmp = t_0;
	} else if (m <= 2.4e-49) {
		tmp = (1.0 / k) * (a / k);
	} else if (m <= 7200000.0) {
		tmp = t_0;
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
def code(a, k, m):
	t_0 = a / (1.0 + (k * 10.0))
	tmp = 0
	if m <= -0.00018:
		tmp = a / (k * k)
	elif m <= 2.1e-170:
		tmp = t_0
	elif m <= 2.4e-49:
		tmp = (1.0 / k) * (a / k)
	elif m <= 7200000.0:
		tmp = t_0
	else:
		tmp = -10.0 * (k * a)
	return tmp
function code(a, k, m)
	t_0 = Float64(a / Float64(1.0 + Float64(k * 10.0)))
	tmp = 0.0
	if (m <= -0.00018)
		tmp = Float64(a / Float64(k * k));
	elseif (m <= 2.1e-170)
		tmp = t_0;
	elseif (m <= 2.4e-49)
		tmp = Float64(Float64(1.0 / k) * Float64(a / k));
	elseif (m <= 7200000.0)
		tmp = t_0;
	else
		tmp = Float64(-10.0 * Float64(k * a));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	t_0 = a / (1.0 + (k * 10.0));
	tmp = 0.0;
	if (m <= -0.00018)
		tmp = a / (k * k);
	elseif (m <= 2.1e-170)
		tmp = t_0;
	elseif (m <= 2.4e-49)
		tmp = (1.0 / k) * (a / k);
	elseif (m <= 7200000.0)
		tmp = t_0;
	else
		tmp = -10.0 * (k * a);
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := Block[{t$95$0 = N[(a / N[(1.0 + N[(k * 10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[m, -0.00018], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 2.1e-170], t$95$0, If[LessEqual[m, 2.4e-49], N[(N[(1.0 / k), $MachinePrecision] * N[(a / k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 7200000.0], t$95$0, N[(-10.0 * N[(k * a), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{a}{1 + k \cdot 10}\\
\mathbf{if}\;m \leq -0.00018:\\
\;\;\;\;\frac{a}{k \cdot k}\\

\mathbf{elif}\;m \leq 2.1 \cdot 10^{-170}:\\
\;\;\;\;t_0\\

\mathbf{elif}\;m \leq 2.4 \cdot 10^{-49}:\\
\;\;\;\;\frac{1}{k} \cdot \frac{a}{k}\\

\mathbf{elif}\;m \leq 7200000:\\
\;\;\;\;t_0\\

\mathbf{else}:\\
\;\;\;\;-10 \cdot \left(k \cdot a\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if m < -1.80000000000000011e-4

    1. Initial program 99.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/99.0%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative99.0%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg99.0%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+99.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative99.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg99.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out99.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def99.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative99.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified99.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 39.8%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around inf 67.4%

      \[\leadsto \color{blue}{\frac{a}{{k}^{2}}} \]
    6. Step-by-step derivation
      1. unpow267.4%

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
    7. Simplified67.4%

      \[\leadsto \color{blue}{\frac{a}{k \cdot k}} \]

    if -1.80000000000000011e-4 < m < 2.1000000000000001e-170 or 2.39999999999999992e-49 < m < 7.2e6

    1. Initial program 93.1%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/93.1%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative93.1%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg93.1%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+93.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative93.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg93.1%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out93.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def93.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative93.1%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified93.1%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 90.3%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 70.7%

      \[\leadsto \frac{a}{1 + \color{blue}{10 \cdot k}} \]
    6. Step-by-step derivation
      1. *-commutative70.7%

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot 10}} \]
    7. Simplified70.7%

      \[\leadsto \frac{a}{1 + \color{blue}{k \cdot 10}} \]

    if 2.1000000000000001e-170 < m < 2.39999999999999992e-49

    1. Initial program 97.5%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/97.6%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative97.6%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg97.6%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+97.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative97.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg97.6%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out97.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def97.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative97.6%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified97.6%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around inf 74.5%

      \[\leadsto \color{blue}{\frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{2}}} \]
    5. Step-by-step derivation
      1. *-commutative74.5%

        \[\leadsto \frac{\color{blue}{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}}{{k}^{2}} \]
      2. unpow274.5%

        \[\leadsto \frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}{\color{blue}{k \cdot k}} \]
      3. times-frac76.8%

        \[\leadsto \color{blue}{\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k} \cdot \frac{a}{k}} \]
      4. associate-*r*76.8%

        \[\leadsto \frac{e^{\color{blue}{\left(-1 \cdot m\right) \cdot \log \left(\frac{1}{k}\right)}}}{k} \cdot \frac{a}{k} \]
      5. *-commutative76.8%

        \[\leadsto \frac{e^{\color{blue}{\log \left(\frac{1}{k}\right) \cdot \left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      6. exp-to-pow76.8%

        \[\leadsto \frac{\color{blue}{{\left(\frac{1}{k}\right)}^{\left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      7. mul-1-neg76.8%

        \[\leadsto \frac{{\left(\frac{1}{k}\right)}^{\color{blue}{\left(-m\right)}}}{k} \cdot \frac{a}{k} \]
    6. Simplified76.8%

      \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}} \]
    7. Taylor expanded in m around 0 76.8%

      \[\leadsto \color{blue}{\frac{1}{k}} \cdot \frac{a}{k} \]

    if 7.2e6 < m

    1. Initial program 83.5%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.5%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.5%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.5%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 2.9%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 9.0%

      \[\leadsto \color{blue}{a + -10 \cdot \left(a \cdot k\right)} \]
    6. Taylor expanded in k around inf 18.5%

      \[\leadsto \color{blue}{-10 \cdot \left(a \cdot k\right)} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification53.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.00018:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 2.1 \cdot 10^{-170}:\\ \;\;\;\;\frac{a}{1 + k \cdot 10}\\ \mathbf{elif}\;m \leq 2.4 \cdot 10^{-49}:\\ \;\;\;\;\frac{1}{k} \cdot \frac{a}{k}\\ \mathbf{elif}\;m \leq 7200000:\\ \;\;\;\;\frac{a}{1 + k \cdot 10}\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \]

Alternative 9: 58.4% accurate, 8.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -0.061:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 7000000:\\ \;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -0.061)
   (/ a (* k k))
   (if (<= m 7000000.0) (/ a (+ 1.0 (* k (+ k 10.0)))) (* -10.0 (* k a)))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -0.061) {
		tmp = a / (k * k);
	} else if (m <= 7000000.0) {
		tmp = a / (1.0 + (k * (k + 10.0)));
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if (m <= (-0.061d0)) then
        tmp = a / (k * k)
    else if (m <= 7000000.0d0) then
        tmp = a / (1.0d0 + (k * (k + 10.0d0)))
    else
        tmp = (-10.0d0) * (k * a)
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (m <= -0.061) {
		tmp = a / (k * k);
	} else if (m <= 7000000.0) {
		tmp = a / (1.0 + (k * (k + 10.0)));
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= -0.061:
		tmp = a / (k * k)
	elif m <= 7000000.0:
		tmp = a / (1.0 + (k * (k + 10.0)))
	else:
		tmp = -10.0 * (k * a)
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= -0.061)
		tmp = Float64(a / Float64(k * k));
	elseif (m <= 7000000.0)
		tmp = Float64(a / Float64(1.0 + Float64(k * Float64(k + 10.0))));
	else
		tmp = Float64(-10.0 * Float64(k * a));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (m <= -0.061)
		tmp = a / (k * k);
	elseif (m <= 7000000.0)
		tmp = a / (1.0 + (k * (k + 10.0)));
	else
		tmp = -10.0 * (k * a);
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, -0.061], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 7000000.0], N[(a / N[(1.0 + N[(k * N[(k + 10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(-10.0 * N[(k * a), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;m \leq -0.061:\\
\;\;\;\;\frac{a}{k \cdot k}\\

\mathbf{elif}\;m \leq 7000000:\\
\;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\

\mathbf{else}:\\
\;\;\;\;-10 \cdot \left(k \cdot a\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if m < -0.060999999999999999

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/100.0%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative100.0%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg100.0%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg100.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative100.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified100.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 39.8%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around inf 68.4%

      \[\leadsto \color{blue}{\frac{a}{{k}^{2}}} \]
    6. Step-by-step derivation
      1. unpow268.4%

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
    7. Simplified68.4%

      \[\leadsto \color{blue}{\frac{a}{k \cdot k}} \]

    if -0.060999999999999999 < m < 7e6

    1. Initial program 93.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/93.0%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative93.0%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg93.0%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+93.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative93.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg93.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out93.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def93.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative93.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified93.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 89.8%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]

    if 7e6 < m

    1. Initial program 83.5%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.5%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.5%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.5%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 2.9%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 9.0%

      \[\leadsto \color{blue}{a + -10 \cdot \left(a \cdot k\right)} \]
    6. Taylor expanded in k around inf 18.5%

      \[\leadsto \color{blue}{-10 \cdot \left(a \cdot k\right)} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification60.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.061:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 7000000:\\ \;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \]

Alternative 10: 42.7% accurate, 10.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -2.7 \cdot 10^{-87}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 2 \cdot 10^{-171}:\\ \;\;\;\;a\\ \mathbf{elif}\;m \leq 9 \cdot 10^{-32}:\\ \;\;\;\;\frac{\frac{a}{k}}{k}\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -2.7e-87)
   (/ a (* k k))
   (if (<= m 2e-171) a (if (<= m 9e-32) (/ (/ a k) k) (* -10.0 (* k a))))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -2.7e-87) {
		tmp = a / (k * k);
	} else if (m <= 2e-171) {
		tmp = a;
	} else if (m <= 9e-32) {
		tmp = (a / k) / k;
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if (m <= (-2.7d-87)) then
        tmp = a / (k * k)
    else if (m <= 2d-171) then
        tmp = a
    else if (m <= 9d-32) then
        tmp = (a / k) / k
    else
        tmp = (-10.0d0) * (k * a)
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (m <= -2.7e-87) {
		tmp = a / (k * k);
	} else if (m <= 2e-171) {
		tmp = a;
	} else if (m <= 9e-32) {
		tmp = (a / k) / k;
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= -2.7e-87:
		tmp = a / (k * k)
	elif m <= 2e-171:
		tmp = a
	elif m <= 9e-32:
		tmp = (a / k) / k
	else:
		tmp = -10.0 * (k * a)
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= -2.7e-87)
		tmp = Float64(a / Float64(k * k));
	elseif (m <= 2e-171)
		tmp = a;
	elseif (m <= 9e-32)
		tmp = Float64(Float64(a / k) / k);
	else
		tmp = Float64(-10.0 * Float64(k * a));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (m <= -2.7e-87)
		tmp = a / (k * k);
	elseif (m <= 2e-171)
		tmp = a;
	elseif (m <= 9e-32)
		tmp = (a / k) / k;
	else
		tmp = -10.0 * (k * a);
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, -2.7e-87], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 2e-171], a, If[LessEqual[m, 9e-32], N[(N[(a / k), $MachinePrecision] / k), $MachinePrecision], N[(-10.0 * N[(k * a), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;m \leq -2.7 \cdot 10^{-87}:\\
\;\;\;\;\frac{a}{k \cdot k}\\

\mathbf{elif}\;m \leq 2 \cdot 10^{-171}:\\
\;\;\;\;a\\

\mathbf{elif}\;m \leq 9 \cdot 10^{-32}:\\
\;\;\;\;\frac{\frac{a}{k}}{k}\\

\mathbf{else}:\\
\;\;\;\;-10 \cdot \left(k \cdot a\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if m < -2.69999999999999984e-87

    1. Initial program 98.2%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/98.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative98.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg98.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+98.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative98.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg98.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out98.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def98.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative98.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified98.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 47.2%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around inf 66.6%

      \[\leadsto \color{blue}{\frac{a}{{k}^{2}}} \]
    6. Step-by-step derivation
      1. unpow266.6%

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
    7. Simplified66.6%

      \[\leadsto \color{blue}{\frac{a}{k \cdot k}} \]

    if -2.69999999999999984e-87 < m < 2e-171

    1. Initial program 94.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/93.9%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative93.9%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg93.9%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+93.9%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative93.9%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg93.9%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out93.9%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def93.9%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative93.9%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified93.9%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 94.0%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 64.4%

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

    if 2e-171 < m < 9.00000000000000009e-32

    1. Initial program 97.8%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/97.9%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative97.9%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg97.9%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+98.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative98.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg98.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out98.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def98.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative98.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified98.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in k around inf 68.4%

      \[\leadsto \color{blue}{\frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{2}}} \]
    5. Step-by-step derivation
      1. *-commutative68.4%

        \[\leadsto \frac{\color{blue}{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}}{{k}^{2}} \]
      2. unpow268.4%

        \[\leadsto \frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)} \cdot a}{\color{blue}{k \cdot k}} \]
      3. times-frac70.3%

        \[\leadsto \color{blue}{\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k} \cdot \frac{a}{k}} \]
      4. associate-*r*70.3%

        \[\leadsto \frac{e^{\color{blue}{\left(-1 \cdot m\right) \cdot \log \left(\frac{1}{k}\right)}}}{k} \cdot \frac{a}{k} \]
      5. *-commutative70.3%

        \[\leadsto \frac{e^{\color{blue}{\log \left(\frac{1}{k}\right) \cdot \left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      6. exp-to-pow70.3%

        \[\leadsto \frac{\color{blue}{{\left(\frac{1}{k}\right)}^{\left(-1 \cdot m\right)}}}{k} \cdot \frac{a}{k} \]
      7. mul-1-neg70.3%

        \[\leadsto \frac{{\left(\frac{1}{k}\right)}^{\color{blue}{\left(-m\right)}}}{k} \cdot \frac{a}{k} \]
    6. Simplified70.3%

      \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}} \]
    7. Step-by-step derivation
      1. associate-*l/70.3%

        \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)} \cdot \frac{a}{k}}{k}} \]
      2. associate-/l*68.2%

        \[\leadsto \color{blue}{\frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{\frac{k}{\frac{a}{k}}}} \]
      3. inv-pow68.2%

        \[\leadsto \frac{{\color{blue}{\left({k}^{-1}\right)}}^{\left(-m\right)}}{\frac{k}{\frac{a}{k}}} \]
      4. pow-pow68.2%

        \[\leadsto \frac{\color{blue}{{k}^{\left(-1 \cdot \left(-m\right)\right)}}}{\frac{k}{\frac{a}{k}}} \]
      5. add-sqr-sqrt0.0%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \color{blue}{\left(\sqrt{-m} \cdot \sqrt{-m}\right)}\right)}}{\frac{k}{\frac{a}{k}}} \]
      6. sqrt-unprod68.2%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \color{blue}{\sqrt{\left(-m\right) \cdot \left(-m\right)}}\right)}}{\frac{k}{\frac{a}{k}}} \]
      7. sqr-neg68.2%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \sqrt{\color{blue}{m \cdot m}}\right)}}{\frac{k}{\frac{a}{k}}} \]
      8. sqrt-unprod68.2%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \color{blue}{\left(\sqrt{m} \cdot \sqrt{m}\right)}\right)}}{\frac{k}{\frac{a}{k}}} \]
      9. add-sqr-sqrt68.2%

        \[\leadsto \frac{{k}^{\left(-1 \cdot \color{blue}{m}\right)}}{\frac{k}{\frac{a}{k}}} \]
      10. neg-mul-168.2%

        \[\leadsto \frac{{k}^{\color{blue}{\left(-m\right)}}}{\frac{k}{\frac{a}{k}}} \]
      11. add-sqr-sqrt0.0%

        \[\leadsto \frac{{k}^{\color{blue}{\left(\sqrt{-m} \cdot \sqrt{-m}\right)}}}{\frac{k}{\frac{a}{k}}} \]
      12. sqrt-unprod68.2%

        \[\leadsto \frac{{k}^{\color{blue}{\left(\sqrt{\left(-m\right) \cdot \left(-m\right)}\right)}}}{\frac{k}{\frac{a}{k}}} \]
      13. sqr-neg68.2%

        \[\leadsto \frac{{k}^{\left(\sqrt{\color{blue}{m \cdot m}}\right)}}{\frac{k}{\frac{a}{k}}} \]
      14. sqrt-unprod68.2%

        \[\leadsto \frac{{k}^{\color{blue}{\left(\sqrt{m} \cdot \sqrt{m}\right)}}}{\frac{k}{\frac{a}{k}}} \]
      15. add-sqr-sqrt68.2%

        \[\leadsto \frac{{k}^{\color{blue}{m}}}{\frac{k}{\frac{a}{k}}} \]
    8. Applied egg-rr68.2%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\frac{k}{\frac{a}{k}}}} \]
    9. Taylor expanded in m around 0 68.4%

      \[\leadsto \color{blue}{\frac{a}{{k}^{2}}} \]
    10. Step-by-step derivation
      1. unpow268.4%

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
      2. associate-/r*70.3%

        \[\leadsto \color{blue}{\frac{\frac{a}{k}}{k}} \]
    11. Simplified70.3%

      \[\leadsto \color{blue}{\frac{\frac{a}{k}}{k}} \]

    if 9.00000000000000009e-32 < m

    1. Initial program 83.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.3%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.3%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.3%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.3%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.3%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.3%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.3%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 5.2%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 10.8%

      \[\leadsto \color{blue}{a + -10 \cdot \left(a \cdot k\right)} \]
    6. Taylor expanded in k around inf 17.6%

      \[\leadsto \color{blue}{-10 \cdot \left(a \cdot k\right)} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification50.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -2.7 \cdot 10^{-87}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 2 \cdot 10^{-171}:\\ \;\;\;\;a\\ \mathbf{elif}\;m \leq 9 \cdot 10^{-32}:\\ \;\;\;\;\frac{\frac{a}{k}}{k}\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \]

Alternative 11: 46.9% accurate, 10.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;k \leq 2 \cdot 10^{-309} \lor \neg \left(k \leq 0.1\right):\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \left(1 + k \cdot -10\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (or (<= k 2e-309) (not (<= k 0.1)))
   (/ a (* k k))
   (* a (+ 1.0 (* k -10.0)))))
double code(double a, double k, double m) {
	double tmp;
	if ((k <= 2e-309) || !(k <= 0.1)) {
		tmp = a / (k * k);
	} else {
		tmp = a * (1.0 + (k * -10.0));
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if ((k <= 2d-309) .or. (.not. (k <= 0.1d0))) then
        tmp = a / (k * k)
    else
        tmp = a * (1.0d0 + (k * (-10.0d0)))
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if ((k <= 2e-309) || !(k <= 0.1)) {
		tmp = a / (k * k);
	} else {
		tmp = a * (1.0 + (k * -10.0));
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if (k <= 2e-309) or not (k <= 0.1):
		tmp = a / (k * k)
	else:
		tmp = a * (1.0 + (k * -10.0))
	return tmp
function code(a, k, m)
	tmp = 0.0
	if ((k <= 2e-309) || !(k <= 0.1))
		tmp = Float64(a / Float64(k * k));
	else
		tmp = Float64(a * Float64(1.0 + Float64(k * -10.0)));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if ((k <= 2e-309) || ~((k <= 0.1)))
		tmp = a / (k * k);
	else
		tmp = a * (1.0 + (k * -10.0));
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[Or[LessEqual[k, 2e-309], N[Not[LessEqual[k, 0.1]], $MachinePrecision]], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], N[(a * N[(1.0 + N[(k * -10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;k \leq 2 \cdot 10^{-309} \lor \neg \left(k \leq 0.1\right):\\
\;\;\;\;\frac{a}{k \cdot k}\\

\mathbf{else}:\\
\;\;\;\;a \cdot \left(1 + k \cdot -10\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if k < 1.9999999999999988e-309 or 0.10000000000000001 < k

    1. Initial program 88.1%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/88.1%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative88.1%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg88.1%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+88.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative88.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg88.1%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out88.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def88.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative88.1%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified88.1%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 45.4%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around inf 51.7%

      \[\leadsto \color{blue}{\frac{a}{{k}^{2}}} \]
    6. Step-by-step derivation
      1. unpow251.7%

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
    7. Simplified51.7%

      \[\leadsto \color{blue}{\frac{a}{k \cdot k}} \]

    if 1.9999999999999988e-309 < k < 0.10000000000000001

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/100.0%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative100.0%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg100.0%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg100.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative100.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified100.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 44.9%

      \[\leadsto \color{blue}{\frac{1}{1 + k \cdot \left(10 + k\right)}} \cdot a \]
    5. Taylor expanded in k around 0 44.4%

      \[\leadsto \color{blue}{\left(1 + -10 \cdot k\right)} \cdot a \]
  3. Recombined 2 regimes into one program.
  4. Final simplification48.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq 2 \cdot 10^{-309} \lor \neg \left(k \leq 0.1\right):\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \left(1 + k \cdot -10\right)\\ \end{array} \]

Alternative 12: 57.4% accurate, 10.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -92000000:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 7000000:\\ \;\;\;\;\frac{a}{1 + k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -92000000.0)
   (/ a (* k k))
   (if (<= m 7000000.0) (/ a (+ 1.0 (* k k))) (* -10.0 (* k a)))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -92000000.0) {
		tmp = a / (k * k);
	} else if (m <= 7000000.0) {
		tmp = a / (1.0 + (k * k));
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if (m <= (-92000000.0d0)) then
        tmp = a / (k * k)
    else if (m <= 7000000.0d0) then
        tmp = a / (1.0d0 + (k * k))
    else
        tmp = (-10.0d0) * (k * a)
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (m <= -92000000.0) {
		tmp = a / (k * k);
	} else if (m <= 7000000.0) {
		tmp = a / (1.0 + (k * k));
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= -92000000.0:
		tmp = a / (k * k)
	elif m <= 7000000.0:
		tmp = a / (1.0 + (k * k))
	else:
		tmp = -10.0 * (k * a)
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= -92000000.0)
		tmp = Float64(a / Float64(k * k));
	elseif (m <= 7000000.0)
		tmp = Float64(a / Float64(1.0 + Float64(k * k)));
	else
		tmp = Float64(-10.0 * Float64(k * a));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (m <= -92000000.0)
		tmp = a / (k * k);
	elseif (m <= 7000000.0)
		tmp = a / (1.0 + (k * k));
	else
		tmp = -10.0 * (k * a);
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, -92000000.0], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 7000000.0], N[(a / N[(1.0 + N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(-10.0 * N[(k * a), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;m \leq -92000000:\\
\;\;\;\;\frac{a}{k \cdot k}\\

\mathbf{elif}\;m \leq 7000000:\\
\;\;\;\;\frac{a}{1 + k \cdot k}\\

\mathbf{else}:\\
\;\;\;\;-10 \cdot \left(k \cdot a\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if m < -9.2e7

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/100.0%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative100.0%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg100.0%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg100.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative100.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified100.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 40.2%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around inf 69.2%

      \[\leadsto \color{blue}{\frac{a}{{k}^{2}}} \]
    6. Step-by-step derivation
      1. unpow269.2%

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
    7. Simplified69.2%

      \[\leadsto \color{blue}{\frac{a}{k \cdot k}} \]

    if -9.2e7 < m < 7e6

    1. Initial program 93.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/93.1%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative93.1%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg93.1%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+93.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative93.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg93.1%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out93.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def93.1%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative93.1%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified93.1%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 88.8%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around inf 87.2%

      \[\leadsto \frac{a}{1 + \color{blue}{{k}^{2}}} \]
    6. Step-by-step derivation
      1. unpow287.2%

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot k}} \]
    7. Simplified87.2%

      \[\leadsto \frac{a}{1 + \color{blue}{k \cdot k}} \]

    if 7e6 < m

    1. Initial program 83.5%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.5%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.5%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.5%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 2.9%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 9.0%

      \[\leadsto \color{blue}{a + -10 \cdot \left(a \cdot k\right)} \]
    6. Taylor expanded in k around inf 18.5%

      \[\leadsto \color{blue}{-10 \cdot \left(a \cdot k\right)} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification59.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -92000000:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 7000000:\\ \;\;\;\;\frac{a}{1 + k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \]

Alternative 13: 46.5% accurate, 12.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;k \leq 3.4 \cdot 10^{-305} \lor \neg \left(k \leq 120000000\right):\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (or (<= k 3.4e-305) (not (<= k 120000000.0))) (/ a (* k k)) a))
double code(double a, double k, double m) {
	double tmp;
	if ((k <= 3.4e-305) || !(k <= 120000000.0)) {
		tmp = a / (k * k);
	} else {
		tmp = a;
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if ((k <= 3.4d-305) .or. (.not. (k <= 120000000.0d0))) then
        tmp = a / (k * k)
    else
        tmp = a
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if ((k <= 3.4e-305) || !(k <= 120000000.0)) {
		tmp = a / (k * k);
	} else {
		tmp = a;
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if (k <= 3.4e-305) or not (k <= 120000000.0):
		tmp = a / (k * k)
	else:
		tmp = a
	return tmp
function code(a, k, m)
	tmp = 0.0
	if ((k <= 3.4e-305) || !(k <= 120000000.0))
		tmp = Float64(a / Float64(k * k));
	else
		tmp = a;
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if ((k <= 3.4e-305) || ~((k <= 120000000.0)))
		tmp = a / (k * k);
	else
		tmp = a;
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[Or[LessEqual[k, 3.4e-305], N[Not[LessEqual[k, 120000000.0]], $MachinePrecision]], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], a]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;k \leq 3.4 \cdot 10^{-305} \lor \neg \left(k \leq 120000000\right):\\
\;\;\;\;\frac{a}{k \cdot k}\\

\mathbf{else}:\\
\;\;\;\;a\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if k < 3.4000000000000001e-305 or 1.2e8 < k

    1. Initial program 87.9%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/87.9%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative87.9%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg87.9%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+87.9%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative87.9%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg87.9%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out87.9%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def87.9%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative87.9%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified87.9%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 46.2%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around inf 52.6%

      \[\leadsto \color{blue}{\frac{a}{{k}^{2}}} \]
    6. Step-by-step derivation
      1. unpow252.6%

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
    7. Simplified52.6%

      \[\leadsto \color{blue}{\frac{a}{k \cdot k}} \]

    if 3.4000000000000001e-305 < k < 1.2e8

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/100.0%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative100.0%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg100.0%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg100.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def100.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative100.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified100.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 43.6%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 42.6%

      \[\leadsto \color{blue}{a} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification48.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq 3.4 \cdot 10^{-305} \lor \neg \left(k \leq 120000000\right):\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a\\ \end{array} \]

Alternative 14: 30.9% accurate, 12.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -2.05 \cdot 10^{-22}:\\ \;\;\;\;\frac{a}{k} \cdot 0.1\\ \mathbf{elif}\;m \leq 7000000:\\ \;\;\;\;a\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -2.05e-22)
   (* (/ a k) 0.1)
   (if (<= m 7000000.0) a (* -10.0 (* k a)))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -2.05e-22) {
		tmp = (a / k) * 0.1;
	} else if (m <= 7000000.0) {
		tmp = a;
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if (m <= (-2.05d-22)) then
        tmp = (a / k) * 0.1d0
    else if (m <= 7000000.0d0) then
        tmp = a
    else
        tmp = (-10.0d0) * (k * a)
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (m <= -2.05e-22) {
		tmp = (a / k) * 0.1;
	} else if (m <= 7000000.0) {
		tmp = a;
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= -2.05e-22:
		tmp = (a / k) * 0.1
	elif m <= 7000000.0:
		tmp = a
	else:
		tmp = -10.0 * (k * a)
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= -2.05e-22)
		tmp = Float64(Float64(a / k) * 0.1);
	elseif (m <= 7000000.0)
		tmp = a;
	else
		tmp = Float64(-10.0 * Float64(k * a));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (m <= -2.05e-22)
		tmp = (a / k) * 0.1;
	elseif (m <= 7000000.0)
		tmp = a;
	else
		tmp = -10.0 * (k * a);
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, -2.05e-22], N[(N[(a / k), $MachinePrecision] * 0.1), $MachinePrecision], If[LessEqual[m, 7000000.0], a, N[(-10.0 * N[(k * a), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;m \leq -2.05 \cdot 10^{-22}:\\
\;\;\;\;\frac{a}{k} \cdot 0.1\\

\mathbf{elif}\;m \leq 7000000:\\
\;\;\;\;a\\

\mathbf{else}:\\
\;\;\;\;-10 \cdot \left(k \cdot a\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if m < -2.05e-22

    1. Initial program 99.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/99.0%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative99.0%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg99.0%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+99.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative99.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg99.0%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out99.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def99.0%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative99.0%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified99.0%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 41.1%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 19.0%

      \[\leadsto \frac{a}{1 + \color{blue}{10 \cdot k}} \]
    6. Step-by-step derivation
      1. *-commutative19.0%

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot 10}} \]
    7. Simplified19.0%

      \[\leadsto \frac{a}{1 + \color{blue}{k \cdot 10}} \]
    8. Taylor expanded in k around inf 22.5%

      \[\leadsto \color{blue}{0.1 \cdot \frac{a}{k}} \]

    if -2.05e-22 < m < 7e6

    1. Initial program 93.7%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/93.7%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative93.7%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg93.7%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg93.7%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def93.7%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative93.7%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified93.7%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 91.3%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 51.5%

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

    if 7e6 < m

    1. Initial program 83.5%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.5%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.5%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.5%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 2.9%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 9.0%

      \[\leadsto \color{blue}{a + -10 \cdot \left(a \cdot k\right)} \]
    6. Taylor expanded in k around inf 18.5%

      \[\leadsto \color{blue}{-10 \cdot \left(a \cdot k\right)} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification30.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -2.05 \cdot 10^{-22}:\\ \;\;\;\;\frac{a}{k} \cdot 0.1\\ \mathbf{elif}\;m \leq 7000000:\\ \;\;\;\;a\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \]

Alternative 15: 25.0% accurate, 16.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq 7000000:\\ \;\;\;\;a\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \end{array} \]
(FPCore (a k m) :precision binary64 (if (<= m 7000000.0) a (* -10.0 (* k a))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= 7000000.0) {
		tmp = a;
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    real(8) :: tmp
    if (m <= 7000000.0d0) then
        tmp = a
    else
        tmp = (-10.0d0) * (k * a)
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (m <= 7000000.0) {
		tmp = a;
	} else {
		tmp = -10.0 * (k * a);
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= 7000000.0:
		tmp = a
	else:
		tmp = -10.0 * (k * a)
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= 7000000.0)
		tmp = a;
	else
		tmp = Float64(-10.0 * Float64(k * a));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (m <= 7000000.0)
		tmp = a;
	else
		tmp = -10.0 * (k * a);
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, 7000000.0], a, N[(-10.0 * N[(k * a), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;m \leq 7000000:\\
\;\;\;\;a\\

\mathbf{else}:\\
\;\;\;\;-10 \cdot \left(k \cdot a\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if m < 7e6

    1. Initial program 96.6%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/96.6%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative96.6%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg96.6%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+96.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative96.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg96.6%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out96.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def96.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative96.6%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified96.6%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 64.1%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 25.7%

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

    if 7e6 < m

    1. Initial program 83.5%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Step-by-step derivation
      1. associate-*r/83.5%

        \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
      2. *-commutative83.5%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
      4. associate-+l+83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
      5. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
      6. sqr-neg83.5%

        \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
      7. distribute-rgt-out83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      8. fma-def83.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      9. +-commutative83.5%

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified83.5%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Taylor expanded in m around 0 2.9%

      \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
    5. Taylor expanded in k around 0 9.0%

      \[\leadsto \color{blue}{a + -10 \cdot \left(a \cdot k\right)} \]
    6. Taylor expanded in k around inf 18.5%

      \[\leadsto \color{blue}{-10 \cdot \left(a \cdot k\right)} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification23.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq 7000000:\\ \;\;\;\;a\\ \mathbf{else}:\\ \;\;\;\;-10 \cdot \left(k \cdot a\right)\\ \end{array} \]

Alternative 16: 19.8% accurate, 114.0× speedup?

\[\begin{array}{l} \\ a \end{array} \]
(FPCore (a k m) :precision binary64 a)
double code(double a, double k, double m) {
	return a;
}
real(8) function code(a, k, m)
    real(8), intent (in) :: a
    real(8), intent (in) :: k
    real(8), intent (in) :: m
    code = a
end function
public static double code(double a, double k, double m) {
	return a;
}
def code(a, k, m):
	return a
function code(a, k, m)
	return a
end
function tmp = code(a, k, m)
	tmp = a;
end
code[a_, k_, m_] := a
\begin{array}{l}

\\
a
\end{array}
Derivation
  1. Initial program 92.6%

    \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
  2. Step-by-step derivation
    1. associate-*r/92.6%

      \[\leadsto \color{blue}{a \cdot \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \]
    2. *-commutative92.6%

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
    3. sqr-neg92.6%

      \[\leadsto \frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + \color{blue}{\left(-k\right) \cdot \left(-k\right)}} \cdot a \]
    4. associate-+l+92.6%

      \[\leadsto \frac{{k}^{m}}{\color{blue}{1 + \left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right)}} \cdot a \]
    5. +-commutative92.6%

      \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + \left(-k\right) \cdot \left(-k\right)\right) + 1}} \cdot a \]
    6. sqr-neg92.6%

      \[\leadsto \frac{{k}^{m}}{\left(10 \cdot k + \color{blue}{k \cdot k}\right) + 1} \cdot a \]
    7. distribute-rgt-out92.6%

      \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
    8. fma-def92.6%

      \[\leadsto \frac{{k}^{m}}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
    9. +-commutative92.6%

      \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
  3. Simplified92.6%

    \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
  4. Taylor expanded in m around 0 45.2%

    \[\leadsto \color{blue}{\frac{a}{1 + k \cdot \left(10 + k\right)}} \]
  5. Taylor expanded in k around 0 18.9%

    \[\leadsto \color{blue}{a} \]
  6. Final simplification18.9%

    \[\leadsto a \]

Reproduce

?
herbie shell --seed 2023285 
(FPCore (a k m)
  :name "Falkner and Boettcher, Appendix A"
  :precision binary64
  (/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))