Falkner and Boettcher, Appendix A

Percentage Accurate: 90.7% → 97.0%
Time: 11.4s
Alternatives: 10
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 10 alternatives:

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

Initial Program: 90.7% 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: 97.0% accurate, 0.4× speedup?

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

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

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


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

    1. Initial program 97.7%

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

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

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

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

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

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

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

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

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

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

    if 8.79999999999999933e-30 < m

    1. Initial program 80.4%

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Step-by-step derivation
      1. associate-*l/80.4%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{{k}^{m}}{\frac{\color{blue}{k \cdot k}}{a}} \]
    8. Simplified44.3%

      \[\leadsto \frac{{k}^{m}}{\color{blue}{\frac{k \cdot k}{a}}} \]
    9. Step-by-step derivation
      1. associate-/r/54.6%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{k \cdot k} \cdot a} \]
      2. pow254.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{{k}^{2}}} \cdot a \]
      3. pow-div100.0%

        \[\leadsto \color{blue}{{k}^{\left(m - 2\right)}} \cdot a \]
    10. Applied egg-rr100.0%

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

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

Alternative 2: 97.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq 8.8 \cdot 10^{-30}:\\ \;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + k \cdot 10\right) + k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a \cdot {k}^{\left(m - 2\right)}\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m 8.8e-30)
   (/ (* a (pow k m)) (+ (+ 1.0 (* k 10.0)) (* k k)))
   (* a (pow k (- m 2.0)))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= 8.8e-30) {
		tmp = (a * pow(k, m)) / ((1.0 + (k * 10.0)) + (k * k));
	} else {
		tmp = a * pow(k, (m - 2.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 <= 8.8d-30) then
        tmp = (a * (k ** m)) / ((1.0d0 + (k * 10.0d0)) + (k * k))
    else
        tmp = a * (k ** (m - 2.0d0))
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (m <= 8.8e-30) {
		tmp = (a * Math.pow(k, m)) / ((1.0 + (k * 10.0)) + (k * k));
	} else {
		tmp = a * Math.pow(k, (m - 2.0));
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= 8.8e-30:
		tmp = (a * math.pow(k, m)) / ((1.0 + (k * 10.0)) + (k * k))
	else:
		tmp = a * math.pow(k, (m - 2.0))
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= 8.8e-30)
		tmp = Float64(Float64(a * (k ^ m)) / Float64(Float64(1.0 + Float64(k * 10.0)) + Float64(k * k)));
	else
		tmp = Float64(a * (k ^ Float64(m - 2.0)));
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (m <= 8.8e-30)
		tmp = (a * (k ^ m)) / ((1.0 + (k * 10.0)) + (k * k));
	else
		tmp = a * (k ^ (m - 2.0));
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, 8.8e-30], N[(N[(a * N[Power[k, m], $MachinePrecision]), $MachinePrecision] / N[(N[(1.0 + N[(k * 10.0), $MachinePrecision]), $MachinePrecision] + N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[Power[k, N[(m - 2.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

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

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


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

    1. Initial program 97.7%

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

    if 8.79999999999999933e-30 < m

    1. Initial program 80.4%

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Step-by-step derivation
      1. associate-*l/80.4%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{{k}^{m}}{\frac{\color{blue}{k \cdot k}}{a}} \]
    8. Simplified44.3%

      \[\leadsto \frac{{k}^{m}}{\color{blue}{\frac{k \cdot k}{a}}} \]
    9. Step-by-step derivation
      1. associate-/r/54.6%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{k \cdot k} \cdot a} \]
      2. pow254.6%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{{k}^{2}}} \cdot a \]
      3. pow-div100.0%

        \[\leadsto \color{blue}{{k}^{\left(m - 2\right)}} \cdot a \]
    10. Applied egg-rr100.0%

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

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

Alternative 3: 97.2% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -0.000215 \lor \neg \left(m \leq 1.46 \cdot 10^{-8}\right):\\ \;\;\;\;a \cdot {k}^{m}\\ \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.000215) (not (<= m 1.46e-8)))
   (* a (pow k m))
   (/ a (+ 1.0 (* k (+ k 10.0))))))
double code(double a, double k, double m) {
	double tmp;
	if ((m <= -0.000215) || !(m <= 1.46e-8)) {
		tmp = a * pow(k, m);
	} 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.000215d0)) .or. (.not. (m <= 1.46d-8))) then
        tmp = a * (k ** m)
    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.000215) || !(m <= 1.46e-8)) {
		tmp = a * Math.pow(k, m);
	} else {
		tmp = a / (1.0 + (k * (k + 10.0)));
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if (m <= -0.000215) or not (m <= 1.46e-8):
		tmp = a * math.pow(k, m)
	else:
		tmp = a / (1.0 + (k * (k + 10.0)))
	return tmp
function code(a, k, m)
	tmp = 0.0
	if ((m <= -0.000215) || !(m <= 1.46e-8))
		tmp = Float64(a * (k ^ m));
	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.000215) || ~((m <= 1.46e-8)))
		tmp = a * (k ^ m);
	else
		tmp = a / (1.0 + (k * (k + 10.0)));
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[Or[LessEqual[m, -0.000215], N[Not[LessEqual[m, 1.46e-8]], $MachinePrecision]], N[(a * N[Power[k, m], $MachinePrecision]), $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.000215 \lor \neg \left(m \leq 1.46 \cdot 10^{-8}\right):\\
\;\;\;\;a \cdot {k}^{m}\\

\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 < -2.14999999999999995e-4 or 1.46e-8 < m

    1. Initial program 89.0%

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg89.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+89.0%

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

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

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

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

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

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

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

    if -2.14999999999999995e-4 < m < 1.46e-8

    1. Initial program 95.6%

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg95.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+95.5%

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

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

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

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

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

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

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

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

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

Alternative 4: 97.1% accurate, 1.1× speedup?

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

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

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


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

    1. Initial program 94.6%

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg94.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+94.6%

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

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

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

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

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

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

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

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

    if 1 < k

    1. Initial program 84.7%

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg84.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+84.6%

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)} \cdot a} \]
    4. Step-by-step derivation
      1. associate-*l/84.7%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{{k}^{m}}{\frac{\color{blue}{k \cdot k}}{a}} \]
    8. Simplified83.4%

      \[\leadsto \frac{{k}^{m}}{\color{blue}{\frac{k \cdot k}{a}}} \]
    9. Step-by-step derivation
      1. associate-/r/84.5%

        \[\leadsto \color{blue}{\frac{{k}^{m}}{k \cdot k} \cdot a} \]
      2. pow284.5%

        \[\leadsto \frac{{k}^{m}}{\color{blue}{{k}^{2}}} \cdot a \]
      3. pow-div95.9%

        \[\leadsto \color{blue}{{k}^{\left(m - 2\right)}} \cdot a \]
    10. Applied egg-rr95.9%

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

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

Alternative 5: 44.7% accurate, 8.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;k \leq -2.3 \cdot 10^{-293} \lor \neg \left(k \leq 3.2 \cdot 10^{-218}\right) \land \left(k \leq 7 \cdot 10^{-159} \lor \neg \left(k \leq 65\right)\right):\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (or (<= k -2.3e-293)
         (and (not (<= k 3.2e-218)) (or (<= k 7e-159) (not (<= k 65.0)))))
   (/ a (* k k))
   a))
double code(double a, double k, double m) {
	double tmp;
	if ((k <= -2.3e-293) || (!(k <= 3.2e-218) && ((k <= 7e-159) || !(k <= 65.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 <= (-2.3d-293)) .or. (.not. (k <= 3.2d-218)) .and. (k <= 7d-159) .or. (.not. (k <= 65.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 <= -2.3e-293) || (!(k <= 3.2e-218) && ((k <= 7e-159) || !(k <= 65.0)))) {
		tmp = a / (k * k);
	} else {
		tmp = a;
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if (k <= -2.3e-293) or (not (k <= 3.2e-218) and ((k <= 7e-159) or not (k <= 65.0))):
		tmp = a / (k * k)
	else:
		tmp = a
	return tmp
function code(a, k, m)
	tmp = 0.0
	if ((k <= -2.3e-293) || (!(k <= 3.2e-218) && ((k <= 7e-159) || !(k <= 65.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 <= -2.3e-293) || (~((k <= 3.2e-218)) && ((k <= 7e-159) || ~((k <= 65.0)))))
		tmp = a / (k * k);
	else
		tmp = a;
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[Or[LessEqual[k, -2.3e-293], And[N[Not[LessEqual[k, 3.2e-218]], $MachinePrecision], Or[LessEqual[k, 7e-159], N[Not[LessEqual[k, 65.0]], $MachinePrecision]]]], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], a]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;k \leq -2.3 \cdot 10^{-293} \lor \neg \left(k \leq 3.2 \cdot 10^{-218}\right) \land \left(k \leq 7 \cdot 10^{-159} \lor \neg \left(k \leq 65\right)\right):\\
\;\;\;\;\frac{a}{k \cdot k}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if k < -2.29999999999999995e-293 or 3.2000000000000001e-218 < k < 7.00000000000000005e-159 or 65 < k

    1. Initial program 87.4%

      \[\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 m around 0 37.0%

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

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

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

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

    if -2.29999999999999995e-293 < k < 3.2000000000000001e-218 or 7.00000000000000005e-159 < k < 65

    1. Initial program 99.9%

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg99.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+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 50.1%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq -2.3 \cdot 10^{-293} \lor \neg \left(k \leq 3.2 \cdot 10^{-218}\right) \land \left(k \leq 7 \cdot 10^{-159} \lor \neg \left(k \leq 65\right)\right):\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a\\ \end{array} \]

Alternative 6: 52.7% accurate, 8.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -24500000:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 1.25 \cdot 10^{+77}:\\ \;\;\;\;\frac{a}{1 + k \cdot k}\\ \mathbf{elif}\;m \leq 2.15 \cdot 10^{+285}:\\ \;\;\;\;a \cdot \left(1 + k \cdot -10\right)\\ \mathbf{else}:\\ \;\;\;\;a\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -24500000.0)
   (/ a (* k k))
   (if (<= m 1.25e+77)
     (/ a (+ 1.0 (* k k)))
     (if (<= m 2.15e+285) (* a (+ 1.0 (* k -10.0))) a))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -24500000.0) {
		tmp = a / (k * k);
	} else if (m <= 1.25e+77) {
		tmp = a / (1.0 + (k * k));
	} else if (m <= 2.15e+285) {
		tmp = a * (1.0 + (k * -10.0));
	} 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 (m <= (-24500000.0d0)) then
        tmp = a / (k * k)
    else if (m <= 1.25d+77) then
        tmp = a / (1.0d0 + (k * k))
    else if (m <= 2.15d+285) then
        tmp = a * (1.0d0 + (k * (-10.0d0)))
    else
        tmp = a
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (m <= -24500000.0) {
		tmp = a / (k * k);
	} else if (m <= 1.25e+77) {
		tmp = a / (1.0 + (k * k));
	} else if (m <= 2.15e+285) {
		tmp = a * (1.0 + (k * -10.0));
	} else {
		tmp = a;
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= -24500000.0:
		tmp = a / (k * k)
	elif m <= 1.25e+77:
		tmp = a / (1.0 + (k * k))
	elif m <= 2.15e+285:
		tmp = a * (1.0 + (k * -10.0))
	else:
		tmp = a
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= -24500000.0)
		tmp = Float64(a / Float64(k * k));
	elseif (m <= 1.25e+77)
		tmp = Float64(a / Float64(1.0 + Float64(k * k)));
	elseif (m <= 2.15e+285)
		tmp = Float64(a * Float64(1.0 + Float64(k * -10.0)));
	else
		tmp = a;
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (m <= -24500000.0)
		tmp = a / (k * k);
	elseif (m <= 1.25e+77)
		tmp = a / (1.0 + (k * k));
	elseif (m <= 2.15e+285)
		tmp = a * (1.0 + (k * -10.0));
	else
		tmp = a;
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, -24500000.0], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 1.25e+77], N[(a / N[(1.0 + N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 2.15e+285], N[(a * N[(1.0 + N[(k * -10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], a]]]
\begin{array}{l}

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

\mathbf{elif}\;m \leq 1.25 \cdot 10^{+77}:\\
\;\;\;\;\frac{a}{1 + k \cdot k}\\

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

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


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

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

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

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

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

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

    if -2.45e7 < m < 1.25000000000000001e77

    1. Initial program 92.5%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if 1.25000000000000001e77 < m < 2.15e285

    1. Initial program 81.4%

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

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

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\left(1 + -10 \cdot k\right)} \cdot a \]
    6. Step-by-step derivation
      1. *-commutative8.6%

        \[\leadsto \left(1 + \color{blue}{k \cdot -10}\right) \cdot a \]
    7. Simplified8.6%

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

    if 2.15e285 < m

    1. Initial program 71.4%

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

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

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

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

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

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -24500000:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 1.25 \cdot 10^{+77}:\\ \;\;\;\;\frac{a}{1 + k \cdot k}\\ \mathbf{elif}\;m \leq 2.15 \cdot 10^{+285}:\\ \;\;\;\;a \cdot \left(1 + k \cdot -10\right)\\ \mathbf{else}:\\ \;\;\;\;a\\ \end{array} \]

Alternative 7: 53.5% accurate, 8.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -24500000:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 3.6 \cdot 10^{+77}:\\ \;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\ \mathbf{elif}\;m \leq 2.15 \cdot 10^{+285}:\\ \;\;\;\;a \cdot \left(1 + k \cdot -10\right)\\ \mathbf{else}:\\ \;\;\;\;a\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -24500000.0)
   (/ a (* k k))
   (if (<= m 3.6e+77)
     (/ a (+ 1.0 (* k (+ k 10.0))))
     (if (<= m 2.15e+285) (* a (+ 1.0 (* k -10.0))) a))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -24500000.0) {
		tmp = a / (k * k);
	} else if (m <= 3.6e+77) {
		tmp = a / (1.0 + (k * (k + 10.0)));
	} else if (m <= 2.15e+285) {
		tmp = a * (1.0 + (k * -10.0));
	} 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 (m <= (-24500000.0d0)) then
        tmp = a / (k * k)
    else if (m <= 3.6d+77) then
        tmp = a / (1.0d0 + (k * (k + 10.0d0)))
    else if (m <= 2.15d+285) then
        tmp = a * (1.0d0 + (k * (-10.0d0)))
    else
        tmp = a
    end if
    code = tmp
end function
public static double code(double a, double k, double m) {
	double tmp;
	if (m <= -24500000.0) {
		tmp = a / (k * k);
	} else if (m <= 3.6e+77) {
		tmp = a / (1.0 + (k * (k + 10.0)));
	} else if (m <= 2.15e+285) {
		tmp = a * (1.0 + (k * -10.0));
	} else {
		tmp = a;
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= -24500000.0:
		tmp = a / (k * k)
	elif m <= 3.6e+77:
		tmp = a / (1.0 + (k * (k + 10.0)))
	elif m <= 2.15e+285:
		tmp = a * (1.0 + (k * -10.0))
	else:
		tmp = a
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= -24500000.0)
		tmp = Float64(a / Float64(k * k));
	elseif (m <= 3.6e+77)
		tmp = Float64(a / Float64(1.0 + Float64(k * Float64(k + 10.0))));
	elseif (m <= 2.15e+285)
		tmp = Float64(a * Float64(1.0 + Float64(k * -10.0)));
	else
		tmp = a;
	end
	return tmp
end
function tmp_2 = code(a, k, m)
	tmp = 0.0;
	if (m <= -24500000.0)
		tmp = a / (k * k);
	elseif (m <= 3.6e+77)
		tmp = a / (1.0 + (k * (k + 10.0)));
	elseif (m <= 2.15e+285)
		tmp = a * (1.0 + (k * -10.0));
	else
		tmp = a;
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, -24500000.0], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 3.6e+77], N[(a / N[(1.0 + N[(k * N[(k + 10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 2.15e+285], N[(a * N[(1.0 + N[(k * -10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], a]]]
\begin{array}{l}

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

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

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

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


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

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

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

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

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

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

    if -2.45e7 < m < 3.5999999999999998e77

    1. Initial program 92.5%

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

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

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

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

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

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

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

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

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

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

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

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

    if 3.5999999999999998e77 < m < 2.15e285

    1. Initial program 81.4%

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

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

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\left(1 + -10 \cdot k\right)} \cdot a \]
    6. Step-by-step derivation
      1. *-commutative8.6%

        \[\leadsto \left(1 + \color{blue}{k \cdot -10}\right) \cdot a \]
    7. Simplified8.6%

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

    if 2.15e285 < m

    1. Initial program 71.4%

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

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

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

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

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

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -24500000:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 3.6 \cdot 10^{+77}:\\ \;\;\;\;\frac{a}{1 + k \cdot \left(k + 10\right)}\\ \mathbf{elif}\;m \leq 2.15 \cdot 10^{+285}:\\ \;\;\;\;a \cdot \left(1 + k \cdot -10\right)\\ \mathbf{else}:\\ \;\;\;\;a\\ \end{array} \]

Alternative 8: 40.6% accurate, 10.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -7.5 \cdot 10^{-282}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 4.8 \cdot 10^{+34}:\\ \;\;\;\;\frac{a}{1 + k \cdot 10}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \left(1 + k \cdot -10\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -7.5e-282)
   (/ a (* k k))
   (if (<= m 4.8e+34) (/ a (+ 1.0 (* k 10.0))) (* a (+ 1.0 (* k -10.0))))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -7.5e-282) {
		tmp = a / (k * k);
	} else if (m <= 4.8e+34) {
		tmp = a / (1.0 + (k * 10.0));
	} 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 (m <= (-7.5d-282)) then
        tmp = a / (k * k)
    else if (m <= 4.8d+34) then
        tmp = a / (1.0d0 + (k * 10.0d0))
    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 (m <= -7.5e-282) {
		tmp = a / (k * k);
	} else if (m <= 4.8e+34) {
		tmp = a / (1.0 + (k * 10.0));
	} else {
		tmp = a * (1.0 + (k * -10.0));
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= -7.5e-282:
		tmp = a / (k * k)
	elif m <= 4.8e+34:
		tmp = a / (1.0 + (k * 10.0))
	else:
		tmp = a * (1.0 + (k * -10.0))
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= -7.5e-282)
		tmp = Float64(a / Float64(k * k));
	elseif (m <= 4.8e+34)
		tmp = Float64(a / Float64(1.0 + Float64(k * 10.0)));
	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 (m <= -7.5e-282)
		tmp = a / (k * k);
	elseif (m <= 4.8e+34)
		tmp = a / (1.0 + (k * 10.0));
	else
		tmp = a * (1.0 + (k * -10.0));
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, -7.5e-282], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 4.8e+34], N[(a / N[(1.0 + N[(k * 10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(a * N[(1.0 + N[(k * -10.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

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

\mathbf{elif}\;m \leq 4.8 \cdot 10^{+34}:\\
\;\;\;\;\frac{a}{1 + k \cdot 10}\\

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


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

    1. Initial program 97.6%

      \[\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 m around 0 49.4%

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

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

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

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

    if -7.49999999999999937e-282 < m < 4.79999999999999974e34

    1. Initial program 96.3%

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg96.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+96.3%

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

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

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

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

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

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

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

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

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

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

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

    if 4.79999999999999974e34 < m

    1. Initial program 79.5%

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      3. sqr-neg79.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+79.5%

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

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

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

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

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

        \[\leadsto \frac{{k}^{m}}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
    3. Simplified79.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{1}{1 + k \cdot \left(10 + k\right)}} \cdot a \]
    5. Taylor expanded in k around 0 7.3%

      \[\leadsto \color{blue}{\left(1 + -10 \cdot k\right)} \cdot a \]
    6. Step-by-step derivation
      1. *-commutative7.3%

        \[\leadsto \left(1 + \color{blue}{k \cdot -10}\right) \cdot a \]
    7. Simplified7.3%

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

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

Alternative 9: 38.2% accurate, 12.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -5.4 \cdot 10^{-283}:\\ \;\;\;\;\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 (<= m -5.4e-283) (/ a (* k k)) (* a (+ 1.0 (* k -10.0)))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -5.4e-283) {
		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 (m <= (-5.4d-283)) 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 (m <= -5.4e-283) {
		tmp = a / (k * k);
	} else {
		tmp = a * (1.0 + (k * -10.0));
	}
	return tmp;
}
def code(a, k, m):
	tmp = 0
	if m <= -5.4e-283:
		tmp = a / (k * k)
	else:
		tmp = a * (1.0 + (k * -10.0))
	return tmp
function code(a, k, m)
	tmp = 0.0
	if (m <= -5.4e-283)
		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 (m <= -5.4e-283)
		tmp = a / (k * k);
	else
		tmp = a * (1.0 + (k * -10.0));
	end
	tmp_2 = tmp;
end
code[a_, k_, m_] := If[LessEqual[m, -5.4e-283], 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}\;m \leq -5.4 \cdot 10^{-283}:\\
\;\;\;\;\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 m < -5.4e-283

    1. Initial program 97.6%

      \[\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 m around 0 49.4%

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

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

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

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

    if -5.4e-283 < m

    1. Initial program 85.8%

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

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

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\left(1 + -10 \cdot k\right)} \cdot a \]
    6. Step-by-step derivation
      1. *-commutative24.3%

        \[\leadsto \left(1 + \color{blue}{k \cdot -10}\right) \cdot a \]
    7. Simplified24.3%

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

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

Alternative 10: 20.4% 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 91.1%

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

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

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
    3. sqr-neg91.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+91.1%

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

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

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

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

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

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

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

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

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

    \[\leadsto a \]

Reproduce

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