Falkner and Boettcher, Appendix A

Percentage Accurate: 90.0% → 99.7%
Time: 15.9s
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: 90.0% 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: 99.7% accurate, 0.4× speedup?

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

\\
\begin{array}{l}
t_0 := {k}^{m} \cdot a\\
\mathbf{if}\;k \leq 10^{-18}:\\
\;\;\;\;t\_0\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(k, \frac{k}{t\_0} + \frac{10}{t\_0}, \frac{1}{t\_0}\right)}\\


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

    1. Initial program 97.0%

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

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \cdot a \]
      5. pow-lowering-pow.f64N/A

        \[\leadsto \frac{\color{blue}{{k}^{m}}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a \]
      6. associate-+l+N/A

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

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + k \cdot k\right) + 1}} \cdot a \]
      8. distribute-rgt-outN/A

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      9. accelerator-lowering-fma.f64N/A

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

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

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

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]
    6. Step-by-step derivation
      1. pow-lowering-pow.f64100.0

        \[\leadsto \color{blue}{{k}^{m}} \cdot a \]
    7. Simplified100.0%

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

    if 1.0000000000000001e-18 < k

    1. Initial program 77.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{\left(1 + 10 \cdot k\right) + k \cdot k}{a \cdot {k}^{m}}}} \]
      2. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{\frac{\left(1 + 10 \cdot k\right) + k \cdot k}{a \cdot {k}^{m}}}} \]
      3. /-lowering-/.f64N/A

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

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

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

        \[\leadsto \frac{1}{\frac{\color{blue}{k \cdot \left(10 + k\right)} + 1}{a \cdot {k}^{m}}} \]
      7. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{1}{\frac{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}}{a \cdot {k}^{m}}} \]
      8. +-lowering-+.f64N/A

        \[\leadsto \frac{1}{\frac{\mathsf{fma}\left(k, \color{blue}{10 + k}, 1\right)}{a \cdot {k}^{m}}} \]
      9. *-lowering-*.f64N/A

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

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

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

      \[\leadsto \frac{1}{\color{blue}{k \cdot \left(10 \cdot \frac{1}{a \cdot {k}^{m}} + \frac{k}{a \cdot {k}^{m}}\right) + \frac{1}{a \cdot {k}^{m}}}} \]
    6. Step-by-step derivation
      1. accelerator-lowering-fma.f64N/A

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

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \color{blue}{\frac{k}{a \cdot {k}^{m}} + 10 \cdot \frac{1}{a \cdot {k}^{m}}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      3. +-lowering-+.f64N/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \color{blue}{\frac{k}{a \cdot {k}^{m}} + 10 \cdot \frac{1}{a \cdot {k}^{m}}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \color{blue}{\frac{k}{a \cdot {k}^{m}}} + 10 \cdot \frac{1}{a \cdot {k}^{m}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      5. *-commutativeN/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{\color{blue}{{k}^{m} \cdot a}} + 10 \cdot \frac{1}{a \cdot {k}^{m}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      6. *-lowering-*.f64N/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{\color{blue}{{k}^{m} \cdot a}} + 10 \cdot \frac{1}{a \cdot {k}^{m}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      7. pow-lowering-pow.f64N/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{\color{blue}{{k}^{m}} \cdot a} + 10 \cdot \frac{1}{a \cdot {k}^{m}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      8. associate-*r/N/A

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

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

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{{k}^{m} \cdot a} + \color{blue}{\frac{10}{a \cdot {k}^{m}}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      11. *-commutativeN/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{{k}^{m} \cdot a} + \frac{10}{\color{blue}{{k}^{m} \cdot a}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      12. *-lowering-*.f64N/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{{k}^{m} \cdot a} + \frac{10}{\color{blue}{{k}^{m} \cdot a}}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      13. pow-lowering-pow.f64N/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{{k}^{m} \cdot a} + \frac{10}{\color{blue}{{k}^{m}} \cdot a}, \frac{1}{a \cdot {k}^{m}}\right)} \]
      14. /-lowering-/.f64N/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{{k}^{m} \cdot a} + \frac{10}{{k}^{m} \cdot a}, \color{blue}{\frac{1}{a \cdot {k}^{m}}}\right)} \]
      15. *-commutativeN/A

        \[\leadsto \frac{1}{\mathsf{fma}\left(k, \frac{k}{{k}^{m} \cdot a} + \frac{10}{{k}^{m} \cdot a}, \frac{1}{\color{blue}{{k}^{m} \cdot a}}\right)} \]
      16. *-lowering-*.f64N/A

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

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

      \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, \frac{k}{{k}^{m} \cdot a} + \frac{10}{{k}^{m} \cdot a}, \frac{1}{{k}^{m} \cdot a}\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 2: 97.4% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{{k}^{m} \cdot a}{\left(1 + k \cdot 10\right) + k \cdot k}\\ \mathbf{if}\;t\_0 \leq \infty:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (let* ((t_0 (/ (* (pow k m) a) (+ (+ 1.0 (* k 10.0)) (* k k)))))
   (if (<= t_0 INFINITY) t_0 (* a (fma k (fma k 99.0 -10.0) 1.0)))))
double code(double a, double k, double m) {
	double t_0 = (pow(k, m) * a) / ((1.0 + (k * 10.0)) + (k * k));
	double tmp;
	if (t_0 <= ((double) INFINITY)) {
		tmp = t_0;
	} else {
		tmp = a * fma(k, fma(k, 99.0, -10.0), 1.0);
	}
	return tmp;
}
function code(a, k, m)
	t_0 = Float64(Float64((k ^ m) * a) / Float64(Float64(1.0 + Float64(k * 10.0)) + Float64(k * k)))
	tmp = 0.0
	if (t_0 <= Inf)
		tmp = t_0;
	else
		tmp = Float64(a * fma(k, fma(k, 99.0, -10.0), 1.0));
	end
	return tmp
end
code[a_, k_, m_] := Block[{t$95$0 = N[(N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision] / N[(N[(1.0 + N[(k * 10.0), $MachinePrecision]), $MachinePrecision] + N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$0, Infinity], t$95$0, N[(a * N[(k * N[(k * 99.0 + -10.0), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

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

\mathbf{else}:\\
\;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (*.f64 a (pow.f64 k m)) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 10 binary64) k)) (*.f64 k k))) < +inf.0

    1. Initial program 97.2%

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

    if +inf.0 < (/.f64 (*.f64 a (pow.f64 k m)) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 10 binary64) k)) (*.f64 k k)))

    1. Initial program 0.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f641.6

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 + k}, 1\right)} \]
    5. Simplified1.6%

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
      5. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      6. +-commutativeN/A

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

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

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

      \[\leadsto \color{blue}{\left(1 + k \cdot \left(99 \cdot k - 10\right)\right)} \cdot a \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\left(k \cdot \left(99 \cdot k - 10\right) + 1\right)} \cdot a \]
      2. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(k, 99 \cdot k - 10, 1\right)} \cdot a \]
      3. sub-negN/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{99 \cdot k + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot 99} + \left(\mathsf{neg}\left(10\right)\right), 1\right) \cdot a \]
      5. metadata-evalN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot 99 + \color{blue}{-10}, 1\right) \cdot a \]
      6. accelerator-lowering-fma.f64100.0

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99, -10\right)}, 1\right) \cdot a \]
    10. Simplified100.0%

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

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

Alternative 3: 97.4% accurate, 0.5× speedup?

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

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

\mathbf{else}:\\
\;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 (*.f64 a (pow.f64 k m)) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 10 binary64) k)) (*.f64 k k))) < +inf.0

    1. Initial program 97.2%

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

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \cdot a \]
      5. pow-lowering-pow.f64N/A

        \[\leadsto \frac{\color{blue}{{k}^{m}}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a \]
      6. associate-+l+N/A

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

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + k \cdot k\right) + 1}} \cdot a \]
      8. distribute-rgt-outN/A

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      9. accelerator-lowering-fma.f64N/A

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

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

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

    if +inf.0 < (/.f64 (*.f64 a (pow.f64 k m)) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 10 binary64) k)) (*.f64 k k)))

    1. Initial program 0.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f641.6

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 + k}, 1\right)} \]
    5. Simplified1.6%

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
      5. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      6. +-commutativeN/A

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

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

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

      \[\leadsto \color{blue}{\left(1 + k \cdot \left(99 \cdot k - 10\right)\right)} \cdot a \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\left(k \cdot \left(99 \cdot k - 10\right) + 1\right)} \cdot a \]
      2. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(k, 99 \cdot k - 10, 1\right)} \cdot a \]
      3. sub-negN/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{99 \cdot k + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot 99} + \left(\mathsf{neg}\left(10\right)\right), 1\right) \cdot a \]
      5. metadata-evalN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot 99 + \color{blue}{-10}, 1\right) \cdot a \]
      6. accelerator-lowering-fma.f64100.0

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99, -10\right)}, 1\right) \cdot a \]
    10. Simplified100.0%

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

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

Alternative 4: 96.3% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {k}^{m} \cdot a\\ \mathbf{if}\;m \leq -0.016:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;m \leq 3.5 \cdot 10^{-35}:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\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.016)
     t_0
     (if (<= m 3.5e-35) (/ a (fma k (+ k 10.0) 1.0)) t_0))))
double code(double a, double k, double m) {
	double t_0 = pow(k, m) * a;
	double tmp;
	if (m <= -0.016) {
		tmp = t_0;
	} else if (m <= 3.5e-35) {
		tmp = a / fma(k, (k + 10.0), 1.0);
	} else {
		tmp = t_0;
	}
	return tmp;
}
function code(a, k, m)
	t_0 = Float64((k ^ m) * a)
	tmp = 0.0
	if (m <= -0.016)
		tmp = t_0;
	elseif (m <= 3.5e-35)
		tmp = Float64(a / fma(k, Float64(k + 10.0), 1.0));
	else
		tmp = t_0;
	end
	return tmp
end
code[a_, k_, m_] := Block[{t$95$0 = N[(N[Power[k, m], $MachinePrecision] * a), $MachinePrecision]}, If[LessEqual[m, -0.016], t$95$0, If[LessEqual[m, 3.5e-35], N[(a / N[(k * N[(k + 10.0), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], t$95$0]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {k}^{m} \cdot a\\
\mathbf{if}\;m \leq -0.016:\\
\;\;\;\;t\_0\\

\mathbf{elif}\;m \leq 3.5 \cdot 10^{-35}:\\
\;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\

\mathbf{else}:\\
\;\;\;\;t\_0\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if m < -0.016 or 3.49999999999999996e-35 < m

    1. Initial program 89.3%

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

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

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

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{{k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}} \cdot a \]
      5. pow-lowering-pow.f64N/A

        \[\leadsto \frac{\color{blue}{{k}^{m}}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot a \]
      6. associate-+l+N/A

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

        \[\leadsto \frac{{k}^{m}}{\color{blue}{\left(10 \cdot k + k \cdot k\right) + 1}} \cdot a \]
      8. distribute-rgt-outN/A

        \[\leadsto \frac{{k}^{m}}{\color{blue}{k \cdot \left(10 + k\right)} + 1} \cdot a \]
      9. accelerator-lowering-fma.f64N/A

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

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

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

      \[\leadsto \color{blue}{{k}^{m}} \cdot a \]
    6. Step-by-step derivation
      1. pow-lowering-pow.f64100.0

        \[\leadsto \color{blue}{{k}^{m}} \cdot a \]
    7. Simplified100.0%

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

    if -0.016 < m < 3.49999999999999996e-35

    1. Initial program 91.6%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6491.6

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.016:\\ \;\;\;\;{k}^{m} \cdot a\\ \mathbf{elif}\;m \leq 3.5 \cdot 10^{-35}:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;{k}^{m} \cdot a\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 73.6% accurate, 2.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -0.085:\\ \;\;\;\;\frac{99 \cdot \frac{a}{k \cdot k}}{k \cdot k}\\ \mathbf{elif}\;m \leq 0.84:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(k \cdot \left(a \cdot \left(k \cdot k\right)\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -0.085)
   (/ (* 99.0 (/ a (* k k))) (* k k))
   (if (<= m 0.84)
     (/ a (fma k (+ k 10.0) 1.0))
     (* (* (* k (* a (* k k))) -20.0) (fma k (+ k 10.0) -1.0)))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -0.085) {
		tmp = (99.0 * (a / (k * k))) / (k * k);
	} else if (m <= 0.84) {
		tmp = a / fma(k, (k + 10.0), 1.0);
	} else {
		tmp = ((k * (a * (k * k))) * -20.0) * fma(k, (k + 10.0), -1.0);
	}
	return tmp;
}
function code(a, k, m)
	tmp = 0.0
	if (m <= -0.085)
		tmp = Float64(Float64(99.0 * Float64(a / Float64(k * k))) / Float64(k * k));
	elseif (m <= 0.84)
		tmp = Float64(a / fma(k, Float64(k + 10.0), 1.0));
	else
		tmp = Float64(Float64(Float64(k * Float64(a * Float64(k * k))) * -20.0) * fma(k, Float64(k + 10.0), -1.0));
	end
	return tmp
end
code[a_, k_, m_] := If[LessEqual[m, -0.085], N[(N[(99.0 * N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 0.84], N[(a / N[(k * N[(k + 10.0), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision], N[(N[(N[(k * N[(a * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * -20.0), $MachinePrecision] * N[(k * N[(k + 10.0), $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

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

\mathbf{elif}\;m \leq 0.84:\\
\;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\

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


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

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6433.9

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

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. flip3-+N/A

        \[\leadsto \frac{a}{\color{blue}{\frac{{\left(k \cdot \left(10 + k\right)\right)}^{3} + {1}^{3}}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) + \left(1 \cdot 1 - \left(k \cdot \left(10 + k\right)\right) \cdot 1\right)}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{a}{{\left(k \cdot \left(10 + k\right)\right)}^{3} + {1}^{3}} \cdot \left(\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) + \left(1 \cdot 1 - \left(k \cdot \left(10 + k\right)\right) \cdot 1\right)\right)} \]
      3. *-lowering-*.f64N/A

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

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

      \[\leadsto \color{blue}{\frac{a + -1 \cdot \frac{\left(-20 \cdot a + -1 \cdot \frac{99 \cdot a - \left(-30 \cdot \left(-20 \cdot a - -30 \cdot a\right) + 300 \cdot a\right)}{k}\right) - -30 \cdot a}{k}}{{k}^{2}}} \]
    9. Simplified68.3%

      \[\leadsto \color{blue}{\frac{a - \frac{\mathsf{fma}\left(-1, \frac{\mathsf{fma}\left(a, 99, \mathsf{fma}\left(a, 300, a \cdot -300\right)\right)}{k}, a \cdot 10\right)}{k}}{k \cdot k}} \]
    10. Taylor expanded in k around 0

      \[\leadsto \frac{\color{blue}{\frac{-300 \cdot a + \left(99 \cdot a + 300 \cdot a\right)}{{k}^{2}}}}{k \cdot k} \]
    11. Step-by-step derivation
      1. distribute-rgt-outN/A

        \[\leadsto \frac{\frac{-300 \cdot a + \color{blue}{a \cdot \left(99 + 300\right)}}{{k}^{2}}}{k \cdot k} \]
      2. *-commutativeN/A

        \[\leadsto \frac{\frac{-300 \cdot a + \color{blue}{\left(99 + 300\right) \cdot a}}{{k}^{2}}}{k \cdot k} \]
      3. distribute-rgt-outN/A

        \[\leadsto \frac{\frac{\color{blue}{a \cdot \left(-300 + \left(99 + 300\right)\right)}}{{k}^{2}}}{k \cdot k} \]
      4. metadata-evalN/A

        \[\leadsto \frac{\frac{a \cdot \left(-300 + \color{blue}{399}\right)}{{k}^{2}}}{k \cdot k} \]
      5. metadata-evalN/A

        \[\leadsto \frac{\frac{a \cdot \color{blue}{99}}{{k}^{2}}}{k \cdot k} \]
      6. *-commutativeN/A

        \[\leadsto \frac{\frac{\color{blue}{99 \cdot a}}{{k}^{2}}}{k \cdot k} \]
      7. associate-*r/N/A

        \[\leadsto \frac{\color{blue}{99 \cdot \frac{a}{{k}^{2}}}}{k \cdot k} \]
      8. *-lowering-*.f64N/A

        \[\leadsto \frac{\color{blue}{99 \cdot \frac{a}{{k}^{2}}}}{k \cdot k} \]
      9. /-lowering-/.f64N/A

        \[\leadsto \frac{99 \cdot \color{blue}{\frac{a}{{k}^{2}}}}{k \cdot k} \]
      10. unpow2N/A

        \[\leadsto \frac{99 \cdot \frac{a}{\color{blue}{k \cdot k}}}{k \cdot k} \]
      11. *-lowering-*.f6477.6

        \[\leadsto \frac{99 \cdot \frac{a}{\color{blue}{k \cdot k}}}{k \cdot k} \]
    12. Simplified77.6%

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

    if -0.0850000000000000061 < m < 0.839999999999999969

    1. Initial program 92.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6491.1

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

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

    if 0.839999999999999969 < m

    1. Initial program 79.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f642.9

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

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. flip-+N/A

        \[\leadsto \frac{a}{\color{blue}{\frac{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - 1 \cdot 1}{k \cdot \left(10 + k\right) - 1}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - 1 \cdot 1} \cdot \left(k \cdot \left(10 + k\right) - 1\right)} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - 1 \cdot 1} \cdot \left(k \cdot \left(10 + k\right) - 1\right)} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - 1 \cdot 1}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - \color{blue}{1}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      6. sub-negN/A

        \[\leadsto \frac{a}{\color{blue}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) + \left(\mathsf{neg}\left(1\right)\right)}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      7. metadata-evalN/A

        \[\leadsto \frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) + \color{blue}{-1}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      8. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k \cdot \left(10 + k\right), k \cdot \left(10 + k\right), -1\right)}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(\color{blue}{k \cdot \left(10 + k\right)}, k \cdot \left(10 + k\right), -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \color{blue}{\left(k + 10\right)}, k \cdot \left(10 + k\right), -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \color{blue}{\left(k + 10\right)}, k \cdot \left(10 + k\right), -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), \color{blue}{k \cdot \left(10 + k\right)}, -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      13. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), k \cdot \color{blue}{\left(k + 10\right)}, -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      14. +-lowering-+.f64N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), k \cdot \color{blue}{\left(k + 10\right)}, -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      15. sub-negN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), k \cdot \left(k + 10\right), -1\right)} \cdot \color{blue}{\left(k \cdot \left(10 + k\right) + \left(\mathsf{neg}\left(1\right)\right)\right)} \]
      16. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), k \cdot \left(k + 10\right), -1\right)} \cdot \left(k \cdot \left(10 + k\right) + \color{blue}{-1}\right) \]
      17. accelerator-lowering-fma.f64N/A

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

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

      \[\leadsto \color{blue}{\left(-1 \cdot a + {k}^{2} \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right)\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\left({k}^{2} \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right) + -1 \cdot a\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      2. unpow2N/A

        \[\leadsto \left(\color{blue}{\left(k \cdot k\right)} \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right) + -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      3. associate-*l*N/A

        \[\leadsto \left(\color{blue}{k \cdot \left(k \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right)\right)} + -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      4. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(k, k \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right), -1 \cdot a\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right)}, -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      6. cancel-sign-sub-invN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \color{blue}{\left(-20 \cdot \left(a \cdot k\right) + \left(\mathsf{neg}\left(100\right)\right) \cdot a\right)}, -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      7. metadata-evalN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \left(-20 \cdot \left(a \cdot k\right) + \color{blue}{-100} \cdot a\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      8. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \color{blue}{\left(-100 \cdot a + -20 \cdot \left(a \cdot k\right)\right)}, -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      9. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \left(\color{blue}{a \cdot -100} + -20 \cdot \left(a \cdot k\right)\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      10. accelerator-lowering-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \color{blue}{\mathsf{fma}\left(a, -100, -20 \cdot \left(a \cdot k\right)\right)}, -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      11. associate-*r*N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, \color{blue}{\left(-20 \cdot a\right) \cdot k}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, \color{blue}{k \cdot \left(-20 \cdot a\right)}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, \color{blue}{k \cdot \left(-20 \cdot a\right)}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \color{blue}{\left(a \cdot -20\right)}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      15. *-lowering-*.f64N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \color{blue}{\left(a \cdot -20\right)}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      16. mul-1-negN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \left(a \cdot -20\right)\right), \color{blue}{\mathsf{neg}\left(a\right)}\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      17. neg-sub0N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \left(a \cdot -20\right)\right), \color{blue}{0 - a}\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      18. --lowering--.f6419.6

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \left(a \cdot -20\right)\right), \color{blue}{0 - a}\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    10. Simplified19.6%

      \[\leadsto \color{blue}{\mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \left(a \cdot -20\right)\right), 0 - a\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    11. Taylor expanded in k around inf

      \[\leadsto \color{blue}{\left(-20 \cdot \left(a \cdot {k}^{3}\right)\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    12. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(a \cdot {k}^{3}\right) \cdot -20\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\left(\left(a \cdot {k}^{3}\right) \cdot -20\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      3. *-commutativeN/A

        \[\leadsto \left(\color{blue}{\left({k}^{3} \cdot a\right)} \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      4. cube-multN/A

        \[\leadsto \left(\left(\color{blue}{\left(k \cdot \left(k \cdot k\right)\right)} \cdot a\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      5. unpow2N/A

        \[\leadsto \left(\left(\left(k \cdot \color{blue}{{k}^{2}}\right) \cdot a\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      6. associate-*l*N/A

        \[\leadsto \left(\color{blue}{\left(k \cdot \left({k}^{2} \cdot a\right)\right)} \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      7. *-commutativeN/A

        \[\leadsto \left(\left(k \cdot \color{blue}{\left(a \cdot {k}^{2}\right)}\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      8. unpow2N/A

        \[\leadsto \left(\left(k \cdot \left(a \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      9. associate-*r*N/A

        \[\leadsto \left(\left(k \cdot \color{blue}{\left(\left(a \cdot k\right) \cdot k\right)}\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \left(\color{blue}{\left(k \cdot \left(\left(a \cdot k\right) \cdot k\right)\right)} \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      11. associate-*r*N/A

        \[\leadsto \left(\left(k \cdot \color{blue}{\left(a \cdot \left(k \cdot k\right)\right)}\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      12. unpow2N/A

        \[\leadsto \left(\left(k \cdot \left(a \cdot \color{blue}{{k}^{2}}\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \left(\left(k \cdot \color{blue}{\left(a \cdot {k}^{2}\right)}\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      14. unpow2N/A

        \[\leadsto \left(\left(k \cdot \left(a \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      15. *-lowering-*.f6455.7

        \[\leadsto \left(\left(k \cdot \left(a \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    13. Simplified55.7%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.085:\\ \;\;\;\;\frac{99 \cdot \frac{a}{k \cdot k}}{k \cdot k}\\ \mathbf{elif}\;m \leq 0.84:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(k \cdot \left(a \cdot \left(k \cdot k\right)\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 6: 70.0% accurate, 2.8× speedup?

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

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

\mathbf{elif}\;m \leq 1.12:\\
\;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\

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


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

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6433.9

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

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
      5. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      6. +-commutativeN/A

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

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

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

      \[\leadsto \color{blue}{\frac{1}{{k}^{2}}} \cdot a \]
    9. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{{k}^{2}}} \cdot a \]
      2. unpow2N/A

        \[\leadsto \frac{1}{\color{blue}{k \cdot k}} \cdot a \]
      3. *-lowering-*.f6457.7

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

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

    if -0.025000000000000001 < m < 1.1200000000000001

    1. Initial program 92.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6491.1

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

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

    if 1.1200000000000001 < m

    1. Initial program 79.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f642.9

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

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. flip-+N/A

        \[\leadsto \frac{a}{\color{blue}{\frac{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - 1 \cdot 1}{k \cdot \left(10 + k\right) - 1}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - 1 \cdot 1} \cdot \left(k \cdot \left(10 + k\right) - 1\right)} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - 1 \cdot 1} \cdot \left(k \cdot \left(10 + k\right) - 1\right)} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - 1 \cdot 1}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) - \color{blue}{1}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      6. sub-negN/A

        \[\leadsto \frac{a}{\color{blue}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) + \left(\mathsf{neg}\left(1\right)\right)}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      7. metadata-evalN/A

        \[\leadsto \frac{a}{\left(k \cdot \left(10 + k\right)\right) \cdot \left(k \cdot \left(10 + k\right)\right) + \color{blue}{-1}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      8. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k \cdot \left(10 + k\right), k \cdot \left(10 + k\right), -1\right)}} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(\color{blue}{k \cdot \left(10 + k\right)}, k \cdot \left(10 + k\right), -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \color{blue}{\left(k + 10\right)}, k \cdot \left(10 + k\right), -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      11. +-lowering-+.f64N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \color{blue}{\left(k + 10\right)}, k \cdot \left(10 + k\right), -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), \color{blue}{k \cdot \left(10 + k\right)}, -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      13. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), k \cdot \color{blue}{\left(k + 10\right)}, -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      14. +-lowering-+.f64N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), k \cdot \color{blue}{\left(k + 10\right)}, -1\right)} \cdot \left(k \cdot \left(10 + k\right) - 1\right) \]
      15. sub-negN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), k \cdot \left(k + 10\right), -1\right)} \cdot \color{blue}{\left(k \cdot \left(10 + k\right) + \left(\mathsf{neg}\left(1\right)\right)\right)} \]
      16. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k \cdot \left(k + 10\right), k \cdot \left(k + 10\right), -1\right)} \cdot \left(k \cdot \left(10 + k\right) + \color{blue}{-1}\right) \]
      17. accelerator-lowering-fma.f64N/A

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

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

      \[\leadsto \color{blue}{\left(-1 \cdot a + {k}^{2} \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right)\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\left({k}^{2} \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right) + -1 \cdot a\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      2. unpow2N/A

        \[\leadsto \left(\color{blue}{\left(k \cdot k\right)} \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right) + -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      3. associate-*l*N/A

        \[\leadsto \left(\color{blue}{k \cdot \left(k \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right)\right)} + -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      4. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(k, k \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right), -1 \cdot a\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot \left(-20 \cdot \left(a \cdot k\right) - 100 \cdot a\right)}, -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      6. cancel-sign-sub-invN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \color{blue}{\left(-20 \cdot \left(a \cdot k\right) + \left(\mathsf{neg}\left(100\right)\right) \cdot a\right)}, -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      7. metadata-evalN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \left(-20 \cdot \left(a \cdot k\right) + \color{blue}{-100} \cdot a\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      8. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \color{blue}{\left(-100 \cdot a + -20 \cdot \left(a \cdot k\right)\right)}, -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      9. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \left(\color{blue}{a \cdot -100} + -20 \cdot \left(a \cdot k\right)\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      10. accelerator-lowering-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \color{blue}{\mathsf{fma}\left(a, -100, -20 \cdot \left(a \cdot k\right)\right)}, -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      11. associate-*r*N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, \color{blue}{\left(-20 \cdot a\right) \cdot k}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      12. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, \color{blue}{k \cdot \left(-20 \cdot a\right)}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, \color{blue}{k \cdot \left(-20 \cdot a\right)}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      14. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \color{blue}{\left(a \cdot -20\right)}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      15. *-lowering-*.f64N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \color{blue}{\left(a \cdot -20\right)}\right), -1 \cdot a\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      16. mul-1-negN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \left(a \cdot -20\right)\right), \color{blue}{\mathsf{neg}\left(a\right)}\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      17. neg-sub0N/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \left(a \cdot -20\right)\right), \color{blue}{0 - a}\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      18. --lowering--.f6419.6

        \[\leadsto \mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \left(a \cdot -20\right)\right), \color{blue}{0 - a}\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    10. Simplified19.6%

      \[\leadsto \color{blue}{\mathsf{fma}\left(k, k \cdot \mathsf{fma}\left(a, -100, k \cdot \left(a \cdot -20\right)\right), 0 - a\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    11. Taylor expanded in k around inf

      \[\leadsto \color{blue}{\left(-20 \cdot \left(a \cdot {k}^{3}\right)\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    12. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \color{blue}{\left(\left(a \cdot {k}^{3}\right) \cdot -20\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\left(\left(a \cdot {k}^{3}\right) \cdot -20\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      3. *-commutativeN/A

        \[\leadsto \left(\color{blue}{\left({k}^{3} \cdot a\right)} \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      4. cube-multN/A

        \[\leadsto \left(\left(\color{blue}{\left(k \cdot \left(k \cdot k\right)\right)} \cdot a\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      5. unpow2N/A

        \[\leadsto \left(\left(\left(k \cdot \color{blue}{{k}^{2}}\right) \cdot a\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      6. associate-*l*N/A

        \[\leadsto \left(\color{blue}{\left(k \cdot \left({k}^{2} \cdot a\right)\right)} \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      7. *-commutativeN/A

        \[\leadsto \left(\left(k \cdot \color{blue}{\left(a \cdot {k}^{2}\right)}\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      8. unpow2N/A

        \[\leadsto \left(\left(k \cdot \left(a \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      9. associate-*r*N/A

        \[\leadsto \left(\left(k \cdot \color{blue}{\left(\left(a \cdot k\right) \cdot k\right)}\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \left(\color{blue}{\left(k \cdot \left(\left(a \cdot k\right) \cdot k\right)\right)} \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      11. associate-*r*N/A

        \[\leadsto \left(\left(k \cdot \color{blue}{\left(a \cdot \left(k \cdot k\right)\right)}\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      12. unpow2N/A

        \[\leadsto \left(\left(k \cdot \left(a \cdot \color{blue}{{k}^{2}}\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \left(\left(k \cdot \color{blue}{\left(a \cdot {k}^{2}\right)}\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      14. unpow2N/A

        \[\leadsto \left(\left(k \cdot \left(a \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
      15. *-lowering-*.f6455.7

        \[\leadsto \left(\left(k \cdot \left(a \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
    13. Simplified55.7%

      \[\leadsto \color{blue}{\left(\left(k \cdot \left(a \cdot \left(k \cdot k\right)\right)\right) \cdot -20\right)} \cdot \mathsf{fma}\left(k, k + 10, -1\right) \]
  3. Recombined 3 regimes into one program.
  4. Final simplification67.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.025:\\ \;\;\;\;a \cdot \frac{1}{k \cdot k}\\ \mathbf{elif}\;m \leq 1.12:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(k \cdot \left(a \cdot \left(k \cdot k\right)\right)\right) \cdot -20\right) \cdot \mathsf{fma}\left(k, k + 10, -1\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 70.6% accurate, 4.1× speedup?

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

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

\mathbf{elif}\;m \leq 0.74:\\
\;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\

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


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

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6433.9

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

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
      5. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      6. +-commutativeN/A

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

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

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

      \[\leadsto \color{blue}{\frac{1}{{k}^{2}}} \cdot a \]
    9. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{{k}^{2}}} \cdot a \]
      2. unpow2N/A

        \[\leadsto \frac{1}{\color{blue}{k \cdot k}} \cdot a \]
      3. *-lowering-*.f6457.7

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

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

    if -0.048000000000000001 < m < 0.73999999999999999

    1. Initial program 92.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6491.1

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

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

    if 0.73999999999999999 < m

    1. Initial program 79.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f642.9

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

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
      5. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      6. +-commutativeN/A

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

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

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

      \[\leadsto \color{blue}{\left(1 + k \cdot \left(k \cdot \left(99 + -980 \cdot k\right) - 10\right)\right)} \cdot a \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\left(k \cdot \left(k \cdot \left(99 + -980 \cdot k\right) - 10\right) + 1\right)} \cdot a \]
      2. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(k, k \cdot \left(99 + -980 \cdot k\right) - 10, 1\right)} \cdot a \]
      3. sub-negN/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot \left(99 + -980 \cdot k\right) + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \left(99 + -980 \cdot k\right) + \color{blue}{-10}, 1\right) \cdot a \]
      5. accelerator-lowering-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99 + -980 \cdot k, -10\right)}, 1\right) \cdot a \]
      6. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{-980 \cdot k + 99}, -10\right), 1\right) \cdot a \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{k \cdot -980} + 99, -10\right), 1\right) \cdot a \]
      8. accelerator-lowering-fma.f6416.5

        \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, -980, 99\right)}, -10\right), 1\right) \cdot a \]
    10. Simplified16.5%

      \[\leadsto \color{blue}{\mathsf{fma}\left(k, \mathsf{fma}\left(k, \mathsf{fma}\left(k, -980, 99\right), -10\right), 1\right)} \cdot a \]
    11. Taylor expanded in k around inf

      \[\leadsto \color{blue}{\left(-980 \cdot {k}^{3}\right)} \cdot a \]
    12. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\left(-980 \cdot {k}^{3}\right)} \cdot a \]
      2. cube-multN/A

        \[\leadsto \left(-980 \cdot \color{blue}{\left(k \cdot \left(k \cdot k\right)\right)}\right) \cdot a \]
      3. unpow2N/A

        \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{{k}^{2}}\right)\right) \cdot a \]
      4. *-lowering-*.f64N/A

        \[\leadsto \left(-980 \cdot \color{blue}{\left(k \cdot {k}^{2}\right)}\right) \cdot a \]
      5. unpow2N/A

        \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot a \]
      6. *-lowering-*.f6453.2

        \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot a \]
    13. Simplified53.2%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.048:\\ \;\;\;\;a \cdot \frac{1}{k \cdot k}\\ \mathbf{elif}\;m \leq 0.74:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \left(-980 \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 8: 70.3% accurate, 4.1× speedup?

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

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

\mathbf{elif}\;m \leq 1.05:\\
\;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\

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


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

    1. Initial program 100.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6433.9

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

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

      \[\leadsto \frac{a}{\color{blue}{{k}^{2}}} \]
    7. Step-by-step derivation
      1. unpow2N/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
      2. *-lowering-*.f6456.5

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
    8. Simplified56.5%

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

    if -0.025000000000000001 < m < 1.05000000000000004

    1. Initial program 92.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6491.1

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

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

    if 1.05000000000000004 < m

    1. Initial program 79.3%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f642.9

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

      \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
    6. Step-by-step derivation
      1. clear-numN/A

        \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
      2. associate-/r/N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
      4. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
      5. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
      6. +-commutativeN/A

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

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

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

      \[\leadsto \color{blue}{\left(1 + k \cdot \left(k \cdot \left(99 + -980 \cdot k\right) - 10\right)\right)} \cdot a \]
    9. Step-by-step derivation
      1. +-commutativeN/A

        \[\leadsto \color{blue}{\left(k \cdot \left(k \cdot \left(99 + -980 \cdot k\right) - 10\right) + 1\right)} \cdot a \]
      2. accelerator-lowering-fma.f64N/A

        \[\leadsto \color{blue}{\mathsf{fma}\left(k, k \cdot \left(99 + -980 \cdot k\right) - 10, 1\right)} \cdot a \]
      3. sub-negN/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot \left(99 + -980 \cdot k\right) + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{fma}\left(k, k \cdot \left(99 + -980 \cdot k\right) + \color{blue}{-10}, 1\right) \cdot a \]
      5. accelerator-lowering-fma.f64N/A

        \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99 + -980 \cdot k, -10\right)}, 1\right) \cdot a \]
      6. +-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{-980 \cdot k + 99}, -10\right), 1\right) \cdot a \]
      7. *-commutativeN/A

        \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{k \cdot -980} + 99, -10\right), 1\right) \cdot a \]
      8. accelerator-lowering-fma.f6416.5

        \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, -980, 99\right)}, -10\right), 1\right) \cdot a \]
    10. Simplified16.5%

      \[\leadsto \color{blue}{\mathsf{fma}\left(k, \mathsf{fma}\left(k, \mathsf{fma}\left(k, -980, 99\right), -10\right), 1\right)} \cdot a \]
    11. Taylor expanded in k around inf

      \[\leadsto \color{blue}{\left(-980 \cdot {k}^{3}\right)} \cdot a \]
    12. Step-by-step derivation
      1. *-lowering-*.f64N/A

        \[\leadsto \color{blue}{\left(-980 \cdot {k}^{3}\right)} \cdot a \]
      2. cube-multN/A

        \[\leadsto \left(-980 \cdot \color{blue}{\left(k \cdot \left(k \cdot k\right)\right)}\right) \cdot a \]
      3. unpow2N/A

        \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{{k}^{2}}\right)\right) \cdot a \]
      4. *-lowering-*.f64N/A

        \[\leadsto \left(-980 \cdot \color{blue}{\left(k \cdot {k}^{2}\right)}\right) \cdot a \]
      5. unpow2N/A

        \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot a \]
      6. *-lowering-*.f6453.2

        \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot a \]
    13. Simplified53.2%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.025:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 1.05:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k + 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \left(-980 \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 9: 69.4% accurate, 4.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -0.061:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 0.74:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \left(-980 \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\\ \end{array} \end{array} \]
(FPCore (a k m)
 :precision binary64
 (if (<= m -0.061)
   (/ a (* k k))
   (if (<= m 0.74) (/ a (fma k k 1.0)) (* a (* -980.0 (* k (* k k)))))))
double code(double a, double k, double m) {
	double tmp;
	if (m <= -0.061) {
		tmp = a / (k * k);
	} else if (m <= 0.74) {
		tmp = a / fma(k, k, 1.0);
	} else {
		tmp = a * (-980.0 * (k * (k * k)));
	}
	return tmp;
}
function code(a, k, m)
	tmp = 0.0
	if (m <= -0.061)
		tmp = Float64(a / Float64(k * k));
	elseif (m <= 0.74)
		tmp = Float64(a / fma(k, k, 1.0));
	else
		tmp = Float64(a * Float64(-980.0 * Float64(k * Float64(k * k))));
	end
	return tmp
end
code[a_, k_, m_] := If[LessEqual[m, -0.061], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 0.74], N[(a / N[(k * k + 1.0), $MachinePrecision]), $MachinePrecision], N[(a * N[(-980.0 * N[(k * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

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

\mathbf{elif}\;m \leq 0.74:\\
\;\;\;\;\frac{a}{\mathsf{fma}\left(k, k, 1\right)}\\

\mathbf{else}:\\
\;\;\;\;a \cdot \left(-980 \cdot \left(k \cdot \left(k \cdot k\right)\right)\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. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6433.9

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

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

      \[\leadsto \frac{a}{\color{blue}{{k}^{2}}} \]
    7. Step-by-step derivation
      1. unpow2N/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
      2. *-lowering-*.f6456.5

        \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
    8. Simplified56.5%

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

    if -0.060999999999999999 < m < 0.73999999999999999

    1. Initial program 92.0%

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
    2. Add Preprocessing
    3. Taylor expanded in m around 0

      \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      2. unpow2N/A

        \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
      3. distribute-rgt-inN/A

        \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
      4. +-commutativeN/A

        \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
      5. metadata-evalN/A

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
      6. lft-mult-inverseN/A

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

        \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
      8. *-lft-identityN/A

        \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
      9. distribute-rgt-inN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
      10. +-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
      11. *-commutativeN/A

        \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
      12. accelerator-lowering-fma.f64N/A

        \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
      13. *-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
      14. +-commutativeN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
      15. distribute-rgt-inN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
      16. associate-*l*N/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
      17. lft-mult-inverseN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
      18. metadata-evalN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
      19. *-lft-identityN/A

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
      20. +-lowering-+.f6491.1

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

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

      \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k}, 1\right)} \]
    7. Step-by-step derivation
      1. Simplified90.2%

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

      if 0.73999999999999999 < m

      1. Initial program 79.3%

        \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
      2. Add Preprocessing
      3. Taylor expanded in m around 0

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      4. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
        2. unpow2N/A

          \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
        3. distribute-rgt-inN/A

          \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
        4. +-commutativeN/A

          \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
        5. metadata-evalN/A

          \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
        6. lft-mult-inverseN/A

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

          \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
        8. *-lft-identityN/A

          \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
        9. distribute-rgt-inN/A

          \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
        10. +-commutativeN/A

          \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
        11. *-commutativeN/A

          \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
        12. accelerator-lowering-fma.f64N/A

          \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
        13. *-commutativeN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
        14. +-commutativeN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
        15. distribute-rgt-inN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
        16. associate-*l*N/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
        17. lft-mult-inverseN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
        18. metadata-evalN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
        19. *-lft-identityN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
        20. +-lowering-+.f642.9

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

        \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
      6. Step-by-step derivation
        1. clear-numN/A

          \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
        2. associate-/r/N/A

          \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
        3. *-lowering-*.f64N/A

          \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
        4. /-lowering-/.f64N/A

          \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
        5. accelerator-lowering-fma.f64N/A

          \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
        6. +-commutativeN/A

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

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

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

        \[\leadsto \color{blue}{\left(1 + k \cdot \left(k \cdot \left(99 + -980 \cdot k\right) - 10\right)\right)} \cdot a \]
      9. Step-by-step derivation
        1. +-commutativeN/A

          \[\leadsto \color{blue}{\left(k \cdot \left(k \cdot \left(99 + -980 \cdot k\right) - 10\right) + 1\right)} \cdot a \]
        2. accelerator-lowering-fma.f64N/A

          \[\leadsto \color{blue}{\mathsf{fma}\left(k, k \cdot \left(99 + -980 \cdot k\right) - 10, 1\right)} \cdot a \]
        3. sub-negN/A

          \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot \left(99 + -980 \cdot k\right) + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
        4. metadata-evalN/A

          \[\leadsto \mathsf{fma}\left(k, k \cdot \left(99 + -980 \cdot k\right) + \color{blue}{-10}, 1\right) \cdot a \]
        5. accelerator-lowering-fma.f64N/A

          \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99 + -980 \cdot k, -10\right)}, 1\right) \cdot a \]
        6. +-commutativeN/A

          \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{-980 \cdot k + 99}, -10\right), 1\right) \cdot a \]
        7. *-commutativeN/A

          \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{k \cdot -980} + 99, -10\right), 1\right) \cdot a \]
        8. accelerator-lowering-fma.f6416.5

          \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, -980, 99\right)}, -10\right), 1\right) \cdot a \]
      10. Simplified16.5%

        \[\leadsto \color{blue}{\mathsf{fma}\left(k, \mathsf{fma}\left(k, \mathsf{fma}\left(k, -980, 99\right), -10\right), 1\right)} \cdot a \]
      11. Taylor expanded in k around inf

        \[\leadsto \color{blue}{\left(-980 \cdot {k}^{3}\right)} \cdot a \]
      12. Step-by-step derivation
        1. *-lowering-*.f64N/A

          \[\leadsto \color{blue}{\left(-980 \cdot {k}^{3}\right)} \cdot a \]
        2. cube-multN/A

          \[\leadsto \left(-980 \cdot \color{blue}{\left(k \cdot \left(k \cdot k\right)\right)}\right) \cdot a \]
        3. unpow2N/A

          \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{{k}^{2}}\right)\right) \cdot a \]
        4. *-lowering-*.f64N/A

          \[\leadsto \left(-980 \cdot \color{blue}{\left(k \cdot {k}^{2}\right)}\right) \cdot a \]
        5. unpow2N/A

          \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot a \]
        6. *-lowering-*.f6453.2

          \[\leadsto \left(-980 \cdot \left(k \cdot \color{blue}{\left(k \cdot k\right)}\right)\right) \cdot a \]
      13. Simplified53.2%

        \[\leadsto \color{blue}{\left(-980 \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)} \cdot a \]
    8. Recombined 3 regimes into one program.
    9. Final simplification66.2%

      \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.061:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 0.74:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \left(-980 \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\\ \end{array} \]
    10. Add Preprocessing

    Alternative 10: 67.7% accurate, 4.1× speedup?

    \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -0.58:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 0.92:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;k \cdot \left(k \cdot \left(a \cdot \left(k \cdot -980\right)\right)\right)\\ \end{array} \end{array} \]
    (FPCore (a k m)
     :precision binary64
     (if (<= m -0.58)
       (/ a (* k k))
       (if (<= m 0.92) (/ a (fma k k 1.0)) (* k (* k (* a (* k -980.0)))))))
    double code(double a, double k, double m) {
    	double tmp;
    	if (m <= -0.58) {
    		tmp = a / (k * k);
    	} else if (m <= 0.92) {
    		tmp = a / fma(k, k, 1.0);
    	} else {
    		tmp = k * (k * (a * (k * -980.0)));
    	}
    	return tmp;
    }
    
    function code(a, k, m)
    	tmp = 0.0
    	if (m <= -0.58)
    		tmp = Float64(a / Float64(k * k));
    	elseif (m <= 0.92)
    		tmp = Float64(a / fma(k, k, 1.0));
    	else
    		tmp = Float64(k * Float64(k * Float64(a * Float64(k * -980.0))));
    	end
    	return tmp
    end
    
    code[a_, k_, m_] := If[LessEqual[m, -0.58], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 0.92], N[(a / N[(k * k + 1.0), $MachinePrecision]), $MachinePrecision], N[(k * N[(k * N[(a * N[(k * -980.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
    
    \begin{array}{l}
    
    \\
    \begin{array}{l}
    \mathbf{if}\;m \leq -0.58:\\
    \;\;\;\;\frac{a}{k \cdot k}\\
    
    \mathbf{elif}\;m \leq 0.92:\\
    \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k, 1\right)}\\
    
    \mathbf{else}:\\
    \;\;\;\;k \cdot \left(k \cdot \left(a \cdot \left(k \cdot -980\right)\right)\right)\\
    
    
    \end{array}
    \end{array}
    
    Derivation
    1. Split input into 3 regimes
    2. if m < -0.57999999999999996

      1. Initial program 100.0%

        \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
      2. Add Preprocessing
      3. Taylor expanded in m around 0

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      4. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
        2. unpow2N/A

          \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
        3. distribute-rgt-inN/A

          \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
        4. +-commutativeN/A

          \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
        5. metadata-evalN/A

          \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
        6. lft-mult-inverseN/A

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

          \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
        8. *-lft-identityN/A

          \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
        9. distribute-rgt-inN/A

          \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
        10. +-commutativeN/A

          \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
        11. *-commutativeN/A

          \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
        12. accelerator-lowering-fma.f64N/A

          \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
        13. *-commutativeN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
        14. +-commutativeN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
        15. distribute-rgt-inN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
        16. associate-*l*N/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
        17. lft-mult-inverseN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
        18. metadata-evalN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
        19. *-lft-identityN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
        20. +-lowering-+.f6433.9

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

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

        \[\leadsto \frac{a}{\color{blue}{{k}^{2}}} \]
      7. Step-by-step derivation
        1. unpow2N/A

          \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
        2. *-lowering-*.f6456.5

          \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
      8. Simplified56.5%

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

      if -0.57999999999999996 < m < 0.92000000000000004

      1. Initial program 92.0%

        \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
      2. Add Preprocessing
      3. Taylor expanded in m around 0

        \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
      4. Step-by-step derivation
        1. /-lowering-/.f64N/A

          \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
        2. unpow2N/A

          \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
        3. distribute-rgt-inN/A

          \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
        4. +-commutativeN/A

          \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
        5. metadata-evalN/A

          \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
        6. lft-mult-inverseN/A

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

          \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
        8. *-lft-identityN/A

          \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
        9. distribute-rgt-inN/A

          \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
        10. +-commutativeN/A

          \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
        11. *-commutativeN/A

          \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
        12. accelerator-lowering-fma.f64N/A

          \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
        13. *-commutativeN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
        14. +-commutativeN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
        15. distribute-rgt-inN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
        16. associate-*l*N/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
        17. lft-mult-inverseN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
        18. metadata-evalN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
        19. *-lft-identityN/A

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
        20. +-lowering-+.f6491.1

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

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

        \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k}, 1\right)} \]
      7. Step-by-step derivation
        1. Simplified90.2%

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

        if 0.92000000000000004 < m

        1. Initial program 79.3%

          \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
        2. Add Preprocessing
        3. Taylor expanded in m around 0

          \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
        4. Step-by-step derivation
          1. /-lowering-/.f64N/A

            \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
          2. unpow2N/A

            \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
          3. distribute-rgt-inN/A

            \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
          4. +-commutativeN/A

            \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
          5. metadata-evalN/A

            \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
          6. lft-mult-inverseN/A

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

            \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
          8. *-lft-identityN/A

            \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
          9. distribute-rgt-inN/A

            \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
          10. +-commutativeN/A

            \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
          11. *-commutativeN/A

            \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
          12. accelerator-lowering-fma.f64N/A

            \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
          13. *-commutativeN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
          14. +-commutativeN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
          15. distribute-rgt-inN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
          16. associate-*l*N/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
          17. lft-mult-inverseN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
          18. metadata-evalN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
          19. *-lft-identityN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
          20. +-lowering-+.f642.9

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

          \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
        6. Step-by-step derivation
          1. clear-numN/A

            \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
          2. associate-/r/N/A

            \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
          3. *-lowering-*.f64N/A

            \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
          4. /-lowering-/.f64N/A

            \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
          5. accelerator-lowering-fma.f64N/A

            \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
          6. +-commutativeN/A

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

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

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

          \[\leadsto \color{blue}{\left(1 + k \cdot \left(k \cdot \left(99 + -980 \cdot k\right) - 10\right)\right)} \cdot a \]
        9. Step-by-step derivation
          1. +-commutativeN/A

            \[\leadsto \color{blue}{\left(k \cdot \left(k \cdot \left(99 + -980 \cdot k\right) - 10\right) + 1\right)} \cdot a \]
          2. accelerator-lowering-fma.f64N/A

            \[\leadsto \color{blue}{\mathsf{fma}\left(k, k \cdot \left(99 + -980 \cdot k\right) - 10, 1\right)} \cdot a \]
          3. sub-negN/A

            \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot \left(99 + -980 \cdot k\right) + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
          4. metadata-evalN/A

            \[\leadsto \mathsf{fma}\left(k, k \cdot \left(99 + -980 \cdot k\right) + \color{blue}{-10}, 1\right) \cdot a \]
          5. accelerator-lowering-fma.f64N/A

            \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99 + -980 \cdot k, -10\right)}, 1\right) \cdot a \]
          6. +-commutativeN/A

            \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{-980 \cdot k + 99}, -10\right), 1\right) \cdot a \]
          7. *-commutativeN/A

            \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{k \cdot -980} + 99, -10\right), 1\right) \cdot a \]
          8. accelerator-lowering-fma.f6416.5

            \[\leadsto \mathsf{fma}\left(k, \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, -980, 99\right)}, -10\right), 1\right) \cdot a \]
        10. Simplified16.5%

          \[\leadsto \color{blue}{\mathsf{fma}\left(k, \mathsf{fma}\left(k, \mathsf{fma}\left(k, -980, 99\right), -10\right), 1\right)} \cdot a \]
        11. Taylor expanded in k around inf

          \[\leadsto \color{blue}{-980 \cdot \left(a \cdot {k}^{3}\right)} \]
        12. Step-by-step derivation
          1. associate-*r*N/A

            \[\leadsto \color{blue}{\left(-980 \cdot a\right) \cdot {k}^{3}} \]
          2. *-commutativeN/A

            \[\leadsto \color{blue}{{k}^{3} \cdot \left(-980 \cdot a\right)} \]
          3. cube-multN/A

            \[\leadsto \color{blue}{\left(k \cdot \left(k \cdot k\right)\right)} \cdot \left(-980 \cdot a\right) \]
          4. unpow2N/A

            \[\leadsto \left(k \cdot \color{blue}{{k}^{2}}\right) \cdot \left(-980 \cdot a\right) \]
          5. associate-*l*N/A

            \[\leadsto \color{blue}{k \cdot \left({k}^{2} \cdot \left(-980 \cdot a\right)\right)} \]
          6. unpow2N/A

            \[\leadsto k \cdot \left(\color{blue}{\left(k \cdot k\right)} \cdot \left(-980 \cdot a\right)\right) \]
          7. associate-*r*N/A

            \[\leadsto k \cdot \color{blue}{\left(k \cdot \left(k \cdot \left(-980 \cdot a\right)\right)\right)} \]
          8. *-commutativeN/A

            \[\leadsto k \cdot \left(k \cdot \color{blue}{\left(\left(-980 \cdot a\right) \cdot k\right)}\right) \]
          9. associate-*r*N/A

            \[\leadsto k \cdot \left(k \cdot \color{blue}{\left(-980 \cdot \left(a \cdot k\right)\right)}\right) \]
          10. *-lowering-*.f64N/A

            \[\leadsto \color{blue}{k \cdot \left(k \cdot \left(-980 \cdot \left(a \cdot k\right)\right)\right)} \]
          11. *-lowering-*.f64N/A

            \[\leadsto k \cdot \color{blue}{\left(k \cdot \left(-980 \cdot \left(a \cdot k\right)\right)\right)} \]
          12. *-commutativeN/A

            \[\leadsto k \cdot \left(k \cdot \color{blue}{\left(\left(a \cdot k\right) \cdot -980\right)}\right) \]
          13. associate-*l*N/A

            \[\leadsto k \cdot \left(k \cdot \color{blue}{\left(a \cdot \left(k \cdot -980\right)\right)}\right) \]
          14. *-commutativeN/A

            \[\leadsto k \cdot \left(k \cdot \left(a \cdot \color{blue}{\left(-980 \cdot k\right)}\right)\right) \]
          15. *-lowering-*.f64N/A

            \[\leadsto k \cdot \left(k \cdot \color{blue}{\left(a \cdot \left(-980 \cdot k\right)\right)}\right) \]
          16. *-commutativeN/A

            \[\leadsto k \cdot \left(k \cdot \left(a \cdot \color{blue}{\left(k \cdot -980\right)}\right)\right) \]
          17. *-lowering-*.f6446.7

            \[\leadsto k \cdot \left(k \cdot \left(a \cdot \color{blue}{\left(k \cdot -980\right)}\right)\right) \]
        13. Simplified46.7%

          \[\leadsto \color{blue}{k \cdot \left(k \cdot \left(a \cdot \left(k \cdot -980\right)\right)\right)} \]
      8. Recombined 3 regimes into one program.
      9. Add Preprocessing

      Alternative 11: 60.8% accurate, 4.5× speedup?

      \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -0.6:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 3.5 \cdot 10^{-10}:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\ \end{array} \end{array} \]
      (FPCore (a k m)
       :precision binary64
       (if (<= m -0.6)
         (/ a (* k k))
         (if (<= m 3.5e-10)
           (/ a (fma k k 1.0))
           (* a (fma k (fma k 99.0 -10.0) 1.0)))))
      double code(double a, double k, double m) {
      	double tmp;
      	if (m <= -0.6) {
      		tmp = a / (k * k);
      	} else if (m <= 3.5e-10) {
      		tmp = a / fma(k, k, 1.0);
      	} else {
      		tmp = a * fma(k, fma(k, 99.0, -10.0), 1.0);
      	}
      	return tmp;
      }
      
      function code(a, k, m)
      	tmp = 0.0
      	if (m <= -0.6)
      		tmp = Float64(a / Float64(k * k));
      	elseif (m <= 3.5e-10)
      		tmp = Float64(a / fma(k, k, 1.0));
      	else
      		tmp = Float64(a * fma(k, fma(k, 99.0, -10.0), 1.0));
      	end
      	return tmp
      end
      
      code[a_, k_, m_] := If[LessEqual[m, -0.6], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 3.5e-10], N[(a / N[(k * k + 1.0), $MachinePrecision]), $MachinePrecision], N[(a * N[(k * N[(k * 99.0 + -10.0), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]]]
      
      \begin{array}{l}
      
      \\
      \begin{array}{l}
      \mathbf{if}\;m \leq -0.6:\\
      \;\;\;\;\frac{a}{k \cdot k}\\
      
      \mathbf{elif}\;m \leq 3.5 \cdot 10^{-10}:\\
      \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k, 1\right)}\\
      
      \mathbf{else}:\\
      \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\
      
      
      \end{array}
      \end{array}
      
      Derivation
      1. Split input into 3 regimes
      2. if m < -0.599999999999999978

        1. Initial program 100.0%

          \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
        2. Add Preprocessing
        3. Taylor expanded in m around 0

          \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
        4. Step-by-step derivation
          1. /-lowering-/.f64N/A

            \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
          2. unpow2N/A

            \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
          3. distribute-rgt-inN/A

            \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
          4. +-commutativeN/A

            \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
          5. metadata-evalN/A

            \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
          6. lft-mult-inverseN/A

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

            \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
          8. *-lft-identityN/A

            \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
          9. distribute-rgt-inN/A

            \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
          10. +-commutativeN/A

            \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
          11. *-commutativeN/A

            \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
          12. accelerator-lowering-fma.f64N/A

            \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
          13. *-commutativeN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
          14. +-commutativeN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
          15. distribute-rgt-inN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
          16. associate-*l*N/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
          17. lft-mult-inverseN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
          18. metadata-evalN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
          19. *-lft-identityN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
          20. +-lowering-+.f6433.9

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

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

          \[\leadsto \frac{a}{\color{blue}{{k}^{2}}} \]
        7. Step-by-step derivation
          1. unpow2N/A

            \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
          2. *-lowering-*.f6456.5

            \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
        8. Simplified56.5%

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

        if -0.599999999999999978 < m < 3.4999999999999998e-10

        1. Initial program 91.9%

          \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
        2. Add Preprocessing
        3. Taylor expanded in m around 0

          \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
        4. Step-by-step derivation
          1. /-lowering-/.f64N/A

            \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
          2. unpow2N/A

            \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
          3. distribute-rgt-inN/A

            \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
          4. +-commutativeN/A

            \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
          5. metadata-evalN/A

            \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
          6. lft-mult-inverseN/A

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

            \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
          8. *-lft-identityN/A

            \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
          9. distribute-rgt-inN/A

            \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
          10. +-commutativeN/A

            \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
          11. *-commutativeN/A

            \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
          12. accelerator-lowering-fma.f64N/A

            \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
          13. *-commutativeN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
          14. +-commutativeN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
          15. distribute-rgt-inN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
          16. associate-*l*N/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
          17. lft-mult-inverseN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
          18. metadata-evalN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
          19. *-lft-identityN/A

            \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
          20. +-lowering-+.f6491.6

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

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

          \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k}, 1\right)} \]
        7. Step-by-step derivation
          1. Simplified90.6%

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

          if 3.4999999999999998e-10 < m

          1. Initial program 79.6%

            \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
          2. Add Preprocessing
          3. Taylor expanded in m around 0

            \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
          4. Step-by-step derivation
            1. /-lowering-/.f64N/A

              \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
            2. unpow2N/A

              \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
            3. distribute-rgt-inN/A

              \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
            4. +-commutativeN/A

              \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
            5. metadata-evalN/A

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
            6. lft-mult-inverseN/A

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

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
            8. *-lft-identityN/A

              \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
            9. distribute-rgt-inN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
            10. +-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
            11. *-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
            12. accelerator-lowering-fma.f64N/A

              \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
            13. *-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
            14. +-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
            15. distribute-rgt-inN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
            16. associate-*l*N/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
            17. lft-mult-inverseN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
            18. metadata-evalN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
            19. *-lft-identityN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
            20. +-lowering-+.f643.5

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

            \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
          6. Step-by-step derivation
            1. clear-numN/A

              \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
            2. associate-/r/N/A

              \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
            3. *-lowering-*.f64N/A

              \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
            4. /-lowering-/.f64N/A

              \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
            5. accelerator-lowering-fma.f64N/A

              \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
            6. +-commutativeN/A

              \[\leadsto \frac{1}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
            7. +-lowering-+.f643.5

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

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

            \[\leadsto \color{blue}{\left(1 + k \cdot \left(99 \cdot k - 10\right)\right)} \cdot a \]
          9. Step-by-step derivation
            1. +-commutativeN/A

              \[\leadsto \color{blue}{\left(k \cdot \left(99 \cdot k - 10\right) + 1\right)} \cdot a \]
            2. accelerator-lowering-fma.f64N/A

              \[\leadsto \color{blue}{\mathsf{fma}\left(k, 99 \cdot k - 10, 1\right)} \cdot a \]
            3. sub-negN/A

              \[\leadsto \mathsf{fma}\left(k, \color{blue}{99 \cdot k + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
            4. *-commutativeN/A

              \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot 99} + \left(\mathsf{neg}\left(10\right)\right), 1\right) \cdot a \]
            5. metadata-evalN/A

              \[\leadsto \mathsf{fma}\left(k, k \cdot 99 + \color{blue}{-10}, 1\right) \cdot a \]
            6. accelerator-lowering-fma.f6430.3

              \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99, -10\right)}, 1\right) \cdot a \]
          10. Simplified30.3%

            \[\leadsto \color{blue}{\mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)} \cdot a \]
        8. Recombined 3 regimes into one program.
        9. Final simplification57.9%

          \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -0.6:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 3.5 \cdot 10^{-10}:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, k, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\ \end{array} \]
        10. Add Preprocessing

        Alternative 12: 50.0% accurate, 4.5× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -1.95 \cdot 10^{-160}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 3.5 \cdot 10^{-35}:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\ \end{array} \end{array} \]
        (FPCore (a k m)
         :precision binary64
         (if (<= m -1.95e-160)
           (/ a (* k k))
           (if (<= m 3.5e-35)
             (/ a (fma k 10.0 1.0))
             (* a (fma k (fma k 99.0 -10.0) 1.0)))))
        double code(double a, double k, double m) {
        	double tmp;
        	if (m <= -1.95e-160) {
        		tmp = a / (k * k);
        	} else if (m <= 3.5e-35) {
        		tmp = a / fma(k, 10.0, 1.0);
        	} else {
        		tmp = a * fma(k, fma(k, 99.0, -10.0), 1.0);
        	}
        	return tmp;
        }
        
        function code(a, k, m)
        	tmp = 0.0
        	if (m <= -1.95e-160)
        		tmp = Float64(a / Float64(k * k));
        	elseif (m <= 3.5e-35)
        		tmp = Float64(a / fma(k, 10.0, 1.0));
        	else
        		tmp = Float64(a * fma(k, fma(k, 99.0, -10.0), 1.0));
        	end
        	return tmp
        end
        
        code[a_, k_, m_] := If[LessEqual[m, -1.95e-160], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[m, 3.5e-35], N[(a / N[(k * 10.0 + 1.0), $MachinePrecision]), $MachinePrecision], N[(a * N[(k * N[(k * 99.0 + -10.0), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        \mathbf{if}\;m \leq -1.95 \cdot 10^{-160}:\\
        \;\;\;\;\frac{a}{k \cdot k}\\
        
        \mathbf{elif}\;m \leq 3.5 \cdot 10^{-35}:\\
        \;\;\;\;\frac{a}{\mathsf{fma}\left(k, 10, 1\right)}\\
        
        \mathbf{else}:\\
        \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 3 regimes
        2. if m < -1.94999999999999995e-160

          1. Initial program 98.2%

            \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
          2. Add Preprocessing
          3. Taylor expanded in m around 0

            \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
          4. Step-by-step derivation
            1. /-lowering-/.f64N/A

              \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
            2. unpow2N/A

              \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
            3. distribute-rgt-inN/A

              \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
            4. +-commutativeN/A

              \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
            5. metadata-evalN/A

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
            6. lft-mult-inverseN/A

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

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
            8. *-lft-identityN/A

              \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
            9. distribute-rgt-inN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
            10. +-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
            11. *-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
            12. accelerator-lowering-fma.f64N/A

              \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
            13. *-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
            14. +-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
            15. distribute-rgt-inN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
            16. associate-*l*N/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
            17. lft-mult-inverseN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
            18. metadata-evalN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
            19. *-lft-identityN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
            20. +-lowering-+.f6446.2

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 + k}, 1\right)} \]
          5. Simplified46.2%

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

            \[\leadsto \frac{a}{\color{blue}{{k}^{2}}} \]
          7. Step-by-step derivation
            1. unpow2N/A

              \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
            2. *-lowering-*.f6456.5

              \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
          8. Simplified56.5%

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

          if -1.94999999999999995e-160 < m < 3.49999999999999996e-35

          1. Initial program 91.6%

            \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
          2. Add Preprocessing
          3. Taylor expanded in m around 0

            \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
          4. Step-by-step derivation
            1. /-lowering-/.f64N/A

              \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
            2. unpow2N/A

              \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
            3. distribute-rgt-inN/A

              \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
            4. +-commutativeN/A

              \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
            5. metadata-evalN/A

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
            6. lft-mult-inverseN/A

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

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
            8. *-lft-identityN/A

              \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
            9. distribute-rgt-inN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
            10. +-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
            11. *-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
            12. accelerator-lowering-fma.f64N/A

              \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
            13. *-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
            14. +-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
            15. distribute-rgt-inN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
            16. associate-*l*N/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
            17. lft-mult-inverseN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
            18. metadata-evalN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
            19. *-lft-identityN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
            20. +-lowering-+.f6491.6

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

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

            \[\leadsto \frac{a}{\color{blue}{1 + 10 \cdot k}} \]
          7. Step-by-step derivation
            1. +-commutativeN/A

              \[\leadsto \frac{a}{\color{blue}{10 \cdot k + 1}} \]
            2. *-commutativeN/A

              \[\leadsto \frac{a}{\color{blue}{k \cdot 10} + 1} \]
            3. accelerator-lowering-fma.f6466.9

              \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, 10, 1\right)}} \]
          8. Simplified66.9%

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

          if 3.49999999999999996e-35 < m

          1. Initial program 80.2%

            \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
          2. Add Preprocessing
          3. Taylor expanded in m around 0

            \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
          4. Step-by-step derivation
            1. /-lowering-/.f64N/A

              \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
            2. unpow2N/A

              \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
            3. distribute-rgt-inN/A

              \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
            4. +-commutativeN/A

              \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
            5. metadata-evalN/A

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
            6. lft-mult-inverseN/A

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

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
            8. *-lft-identityN/A

              \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
            9. distribute-rgt-inN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
            10. +-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
            11. *-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
            12. accelerator-lowering-fma.f64N/A

              \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
            13. *-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
            14. +-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
            15. distribute-rgt-inN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
            16. associate-*l*N/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
            17. lft-mult-inverseN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
            18. metadata-evalN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
            19. *-lft-identityN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
            20. +-lowering-+.f646.2

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 + k}, 1\right)} \]
          5. Simplified6.2%

            \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
          6. Step-by-step derivation
            1. clear-numN/A

              \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
            2. associate-/r/N/A

              \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
            3. *-lowering-*.f64N/A

              \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
            4. /-lowering-/.f64N/A

              \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
            5. accelerator-lowering-fma.f64N/A

              \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
            6. +-commutativeN/A

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

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

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

            \[\leadsto \color{blue}{\left(1 + k \cdot \left(99 \cdot k - 10\right)\right)} \cdot a \]
          9. Step-by-step derivation
            1. +-commutativeN/A

              \[\leadsto \color{blue}{\left(k \cdot \left(99 \cdot k - 10\right) + 1\right)} \cdot a \]
            2. accelerator-lowering-fma.f64N/A

              \[\leadsto \color{blue}{\mathsf{fma}\left(k, 99 \cdot k - 10, 1\right)} \cdot a \]
            3. sub-negN/A

              \[\leadsto \mathsf{fma}\left(k, \color{blue}{99 \cdot k + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
            4. *-commutativeN/A

              \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot 99} + \left(\mathsf{neg}\left(10\right)\right), 1\right) \cdot a \]
            5. metadata-evalN/A

              \[\leadsto \mathsf{fma}\left(k, k \cdot 99 + \color{blue}{-10}, 1\right) \cdot a \]
            6. accelerator-lowering-fma.f6432.2

              \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99, -10\right)}, 1\right) \cdot a \]
          10. Simplified32.2%

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

          \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -1.95 \cdot 10^{-160}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;m \leq 3.5 \cdot 10^{-35}:\\ \;\;\;\;\frac{a}{\mathsf{fma}\left(k, 10, 1\right)}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\ \end{array} \]
        5. Add Preprocessing

        Alternative 13: 44.2% accurate, 4.6× speedup?

        \[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{a}{k \cdot k}\\ \mathbf{if}\;k \leq 1.85 \cdot 10^{-240}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;k \leq 0.098:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, -10, 1\right)\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
        (FPCore (a k m)
         :precision binary64
         (let* ((t_0 (/ a (* k k))))
           (if (<= k 1.85e-240) t_0 (if (<= k 0.098) (* a (fma k -10.0 1.0)) t_0))))
        double code(double a, double k, double m) {
        	double t_0 = a / (k * k);
        	double tmp;
        	if (k <= 1.85e-240) {
        		tmp = t_0;
        	} else if (k <= 0.098) {
        		tmp = a * fma(k, -10.0, 1.0);
        	} else {
        		tmp = t_0;
        	}
        	return tmp;
        }
        
        function code(a, k, m)
        	t_0 = Float64(a / Float64(k * k))
        	tmp = 0.0
        	if (k <= 1.85e-240)
        		tmp = t_0;
        	elseif (k <= 0.098)
        		tmp = Float64(a * fma(k, -10.0, 1.0));
        	else
        		tmp = t_0;
        	end
        	return tmp
        end
        
        code[a_, k_, m_] := Block[{t$95$0 = N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, 1.85e-240], t$95$0, If[LessEqual[k, 0.098], N[(a * N[(k * -10.0 + 1.0), $MachinePrecision]), $MachinePrecision], t$95$0]]]
        
        \begin{array}{l}
        
        \\
        \begin{array}{l}
        t_0 := \frac{a}{k \cdot k}\\
        \mathbf{if}\;k \leq 1.85 \cdot 10^{-240}:\\
        \;\;\;\;t\_0\\
        
        \mathbf{elif}\;k \leq 0.098:\\
        \;\;\;\;a \cdot \mathsf{fma}\left(k, -10, 1\right)\\
        
        \mathbf{else}:\\
        \;\;\;\;t\_0\\
        
        
        \end{array}
        \end{array}
        
        Derivation
        1. Split input into 2 regimes
        2. if k < 1.8500000000000001e-240 or 0.098000000000000004 < k

          1. Initial program 86.1%

            \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
          2. Add Preprocessing
          3. Taylor expanded in m around 0

            \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
          4. Step-by-step derivation
            1. /-lowering-/.f64N/A

              \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
            2. unpow2N/A

              \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
            3. distribute-rgt-inN/A

              \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
            4. +-commutativeN/A

              \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
            5. metadata-evalN/A

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
            6. lft-mult-inverseN/A

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

              \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
            8. *-lft-identityN/A

              \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
            9. distribute-rgt-inN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
            10. +-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
            11. *-commutativeN/A

              \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
            12. accelerator-lowering-fma.f64N/A

              \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
            13. *-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
            14. +-commutativeN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
            15. distribute-rgt-inN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
            16. associate-*l*N/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
            17. lft-mult-inverseN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
            18. metadata-evalN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
            19. *-lft-identityN/A

              \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
            20. +-lowering-+.f6437.3

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

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

            \[\leadsto \frac{a}{\color{blue}{{k}^{2}}} \]
          7. Step-by-step derivation
            1. unpow2N/A

              \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
            2. *-lowering-*.f6440.7

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

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

          if 1.8500000000000001e-240 < k < 0.098000000000000004

          1. Initial program 100.0%

            \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
          2. Add Preprocessing
          3. Taylor expanded in k around 0

            \[\leadsto \color{blue}{-10 \cdot \left(a \cdot \left(k \cdot {k}^{m}\right)\right) + a \cdot {k}^{m}} \]
          4. Step-by-step derivation
            1. *-commutativeN/A

              \[\leadsto -10 \cdot \left(a \cdot \color{blue}{\left({k}^{m} \cdot k\right)}\right) + a \cdot {k}^{m} \]
            2. associate-*r*N/A

              \[\leadsto -10 \cdot \color{blue}{\left(\left(a \cdot {k}^{m}\right) \cdot k\right)} + a \cdot {k}^{m} \]
            3. associate-*l*N/A

              \[\leadsto \color{blue}{\left(-10 \cdot \left(a \cdot {k}^{m}\right)\right) \cdot k} + a \cdot {k}^{m} \]
            4. *-commutativeN/A

              \[\leadsto \color{blue}{k \cdot \left(-10 \cdot \left(a \cdot {k}^{m}\right)\right)} + a \cdot {k}^{m} \]
            5. associate-*r*N/A

              \[\leadsto \color{blue}{\left(k \cdot -10\right) \cdot \left(a \cdot {k}^{m}\right)} + a \cdot {k}^{m} \]
            6. distribute-lft1-inN/A

              \[\leadsto \color{blue}{\left(k \cdot -10 + 1\right) \cdot \left(a \cdot {k}^{m}\right)} \]
            7. rem-exp-logN/A

              \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot {\color{blue}{\left(e^{\log k}\right)}}^{m}\right) \]
            8. remove-double-negN/A

              \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot {\left(e^{\color{blue}{\mathsf{neg}\left(\left(\mathsf{neg}\left(\log k\right)\right)\right)}}\right)}^{m}\right) \]
            9. log-recN/A

              \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot {\left(e^{\mathsf{neg}\left(\color{blue}{\log \left(\frac{1}{k}\right)}\right)}\right)}^{m}\right) \]
            10. exp-prodN/A

              \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot \color{blue}{e^{\left(\mathsf{neg}\left(\log \left(\frac{1}{k}\right)\right)\right) \cdot m}}\right) \]
            11. distribute-lft-neg-inN/A

              \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot e^{\color{blue}{\mathsf{neg}\left(\log \left(\frac{1}{k}\right) \cdot m\right)}}\right) \]
            12. *-commutativeN/A

              \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot e^{\mathsf{neg}\left(\color{blue}{m \cdot \log \left(\frac{1}{k}\right)}\right)}\right) \]
            13. mul-1-negN/A

              \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot e^{\color{blue}{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}\right) \]
            14. *-lowering-*.f64N/A

              \[\leadsto \color{blue}{\left(k \cdot -10 + 1\right) \cdot \left(a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}\right)} \]
            15. accelerator-lowering-fma.f64N/A

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

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

            \[\leadsto \mathsf{fma}\left(k, -10, 1\right) \cdot \color{blue}{a} \]
          7. Step-by-step derivation
            1. Simplified50.8%

              \[\leadsto \mathsf{fma}\left(k, -10, 1\right) \cdot \color{blue}{a} \]
          8. Recombined 2 regimes into one program.
          9. Final simplification43.5%

            \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq 1.85 \cdot 10^{-240}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{elif}\;k \leq 0.098:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, -10, 1\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \end{array} \]
          10. Add Preprocessing

          Alternative 14: 46.8% accurate, 5.6× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq -1.55 \cdot 10^{-193}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\ \end{array} \end{array} \]
          (FPCore (a k m)
           :precision binary64
           (if (<= m -1.55e-193) (/ a (* k k)) (* a (fma k (fma k 99.0 -10.0) 1.0))))
          double code(double a, double k, double m) {
          	double tmp;
          	if (m <= -1.55e-193) {
          		tmp = a / (k * k);
          	} else {
          		tmp = a * fma(k, fma(k, 99.0, -10.0), 1.0);
          	}
          	return tmp;
          }
          
          function code(a, k, m)
          	tmp = 0.0
          	if (m <= -1.55e-193)
          		tmp = Float64(a / Float64(k * k));
          	else
          		tmp = Float64(a * fma(k, fma(k, 99.0, -10.0), 1.0));
          	end
          	return tmp
          end
          
          code[a_, k_, m_] := If[LessEqual[m, -1.55e-193], N[(a / N[(k * k), $MachinePrecision]), $MachinePrecision], N[(a * N[(k * N[(k * 99.0 + -10.0), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]]
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          \mathbf{if}\;m \leq -1.55 \cdot 10^{-193}:\\
          \;\;\;\;\frac{a}{k \cdot k}\\
          
          \mathbf{else}:\\
          \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if m < -1.5500000000000001e-193

            1. Initial program 97.3%

              \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
            2. Add Preprocessing
            3. Taylor expanded in m around 0

              \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
            4. Step-by-step derivation
              1. /-lowering-/.f64N/A

                \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
              2. unpow2N/A

                \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
              3. distribute-rgt-inN/A

                \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
              4. +-commutativeN/A

                \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
              5. metadata-evalN/A

                \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
              6. lft-mult-inverseN/A

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

                \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
              8. *-lft-identityN/A

                \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
              9. distribute-rgt-inN/A

                \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
              10. +-commutativeN/A

                \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
              11. *-commutativeN/A

                \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
              12. accelerator-lowering-fma.f64N/A

                \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
              13. *-commutativeN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
              14. +-commutativeN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
              15. distribute-rgt-inN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
              16. associate-*l*N/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
              17. lft-mult-inverseN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
              18. metadata-evalN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
              19. *-lft-identityN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
              20. +-lowering-+.f6447.3

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

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

              \[\leadsto \frac{a}{\color{blue}{{k}^{2}}} \]
            7. Step-by-step derivation
              1. unpow2N/A

                \[\leadsto \frac{a}{\color{blue}{k \cdot k}} \]
              2. *-lowering-*.f6456.3

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

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

            if -1.5500000000000001e-193 < m

            1. Initial program 84.7%

              \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
            2. Add Preprocessing
            3. Taylor expanded in m around 0

              \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
            4. Step-by-step derivation
              1. /-lowering-/.f64N/A

                \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
              2. unpow2N/A

                \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
              3. distribute-rgt-inN/A

                \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
              4. +-commutativeN/A

                \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
              5. metadata-evalN/A

                \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
              6. lft-mult-inverseN/A

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

                \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
              8. *-lft-identityN/A

                \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
              9. distribute-rgt-inN/A

                \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
              10. +-commutativeN/A

                \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
              11. *-commutativeN/A

                \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
              12. accelerator-lowering-fma.f64N/A

                \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
              13. *-commutativeN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
              14. +-commutativeN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
              15. distribute-rgt-inN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
              16. associate-*l*N/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
              17. lft-mult-inverseN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
              18. metadata-evalN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
              19. *-lft-identityN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
              20. +-lowering-+.f6437.0

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 + k}, 1\right)} \]
            5. Simplified37.0%

              \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \]
            6. Step-by-step derivation
              1. clear-numN/A

                \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot \left(10 + k\right) + 1}{a}}} \]
              2. associate-/r/N/A

                \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
              3. *-lowering-*.f64N/A

                \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot a} \]
              4. /-lowering-/.f64N/A

                \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1}} \cdot a \]
              5. accelerator-lowering-fma.f64N/A

                \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right)}} \cdot a \]
              6. +-commutativeN/A

                \[\leadsto \frac{1}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
              7. +-lowering-+.f6437.0

                \[\leadsto \frac{1}{\mathsf{fma}\left(k, \color{blue}{k + 10}, 1\right)} \cdot a \]
            7. Applied egg-rr37.0%

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

              \[\leadsto \color{blue}{\left(1 + k \cdot \left(99 \cdot k - 10\right)\right)} \cdot a \]
            9. Step-by-step derivation
              1. +-commutativeN/A

                \[\leadsto \color{blue}{\left(k \cdot \left(99 \cdot k - 10\right) + 1\right)} \cdot a \]
              2. accelerator-lowering-fma.f64N/A

                \[\leadsto \color{blue}{\mathsf{fma}\left(k, 99 \cdot k - 10, 1\right)} \cdot a \]
              3. sub-negN/A

                \[\leadsto \mathsf{fma}\left(k, \color{blue}{99 \cdot k + \left(\mathsf{neg}\left(10\right)\right)}, 1\right) \cdot a \]
              4. *-commutativeN/A

                \[\leadsto \mathsf{fma}\left(k, \color{blue}{k \cdot 99} + \left(\mathsf{neg}\left(10\right)\right), 1\right) \cdot a \]
              5. metadata-evalN/A

                \[\leadsto \mathsf{fma}\left(k, k \cdot 99 + \color{blue}{-10}, 1\right) \cdot a \]
              6. accelerator-lowering-fma.f6440.8

                \[\leadsto \mathsf{fma}\left(k, \color{blue}{\mathsf{fma}\left(k, 99, -10\right)}, 1\right) \cdot a \]
            10. Simplified40.8%

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

            \[\leadsto \begin{array}{l} \mathbf{if}\;m \leq -1.55 \cdot 10^{-193}:\\ \;\;\;\;\frac{a}{k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;a \cdot \mathsf{fma}\left(k, \mathsf{fma}\left(k, 99, -10\right), 1\right)\\ \end{array} \]
          5. Add Preprocessing

          Alternative 15: 25.9% accurate, 7.9× speedup?

          \[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;m \leq 0.21:\\ \;\;\;\;a\\ \mathbf{else}:\\ \;\;\;\;a \cdot \left(k \cdot -10\right)\\ \end{array} \end{array} \]
          (FPCore (a k m) :precision binary64 (if (<= m 0.21) a (* a (* k -10.0))))
          double code(double a, double k, double m) {
          	double tmp;
          	if (m <= 0.21) {
          		tmp = a;
          	} else {
          		tmp = a * (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.21d0) then
                  tmp = a
              else
                  tmp = a * (k * (-10.0d0))
              end if
              code = tmp
          end function
          
          public static double code(double a, double k, double m) {
          	double tmp;
          	if (m <= 0.21) {
          		tmp = a;
          	} else {
          		tmp = a * (k * -10.0);
          	}
          	return tmp;
          }
          
          def code(a, k, m):
          	tmp = 0
          	if m <= 0.21:
          		tmp = a
          	else:
          		tmp = a * (k * -10.0)
          	return tmp
          
          function code(a, k, m)
          	tmp = 0.0
          	if (m <= 0.21)
          		tmp = a;
          	else
          		tmp = Float64(a * Float64(k * -10.0));
          	end
          	return tmp
          end
          
          function tmp_2 = code(a, k, m)
          	tmp = 0.0;
          	if (m <= 0.21)
          		tmp = a;
          	else
          		tmp = a * (k * -10.0);
          	end
          	tmp_2 = tmp;
          end
          
          code[a_, k_, m_] := If[LessEqual[m, 0.21], a, N[(a * N[(k * -10.0), $MachinePrecision]), $MachinePrecision]]
          
          \begin{array}{l}
          
          \\
          \begin{array}{l}
          \mathbf{if}\;m \leq 0.21:\\
          \;\;\;\;a\\
          
          \mathbf{else}:\\
          \;\;\;\;a \cdot \left(k \cdot -10\right)\\
          
          
          \end{array}
          \end{array}
          
          Derivation
          1. Split input into 2 regimes
          2. if m < 0.209999999999999992

            1. Initial program 95.9%

              \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
            2. Add Preprocessing
            3. Taylor expanded in m around 0

              \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
            4. Step-by-step derivation
              1. /-lowering-/.f64N/A

                \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
              2. unpow2N/A

                \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
              3. distribute-rgt-inN/A

                \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
              4. +-commutativeN/A

                \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
              5. metadata-evalN/A

                \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
              6. lft-mult-inverseN/A

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

                \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
              8. *-lft-identityN/A

                \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
              9. distribute-rgt-inN/A

                \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
              10. +-commutativeN/A

                \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
              11. *-commutativeN/A

                \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
              12. accelerator-lowering-fma.f64N/A

                \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
              13. *-commutativeN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
              14. +-commutativeN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
              15. distribute-rgt-inN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
              16. associate-*l*N/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
              17. lft-mult-inverseN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
              18. metadata-evalN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
              19. *-lft-identityN/A

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
              20. +-lowering-+.f6462.8

                \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 + k}, 1\right)} \]
            5. Simplified62.8%

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

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

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

              if 0.209999999999999992 < m

              1. Initial program 79.3%

                \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
              2. Add Preprocessing
              3. Taylor expanded in k around 0

                \[\leadsto \color{blue}{-10 \cdot \left(a \cdot \left(k \cdot {k}^{m}\right)\right) + a \cdot {k}^{m}} \]
              4. Step-by-step derivation
                1. *-commutativeN/A

                  \[\leadsto -10 \cdot \left(a \cdot \color{blue}{\left({k}^{m} \cdot k\right)}\right) + a \cdot {k}^{m} \]
                2. associate-*r*N/A

                  \[\leadsto -10 \cdot \color{blue}{\left(\left(a \cdot {k}^{m}\right) \cdot k\right)} + a \cdot {k}^{m} \]
                3. associate-*l*N/A

                  \[\leadsto \color{blue}{\left(-10 \cdot \left(a \cdot {k}^{m}\right)\right) \cdot k} + a \cdot {k}^{m} \]
                4. *-commutativeN/A

                  \[\leadsto \color{blue}{k \cdot \left(-10 \cdot \left(a \cdot {k}^{m}\right)\right)} + a \cdot {k}^{m} \]
                5. associate-*r*N/A

                  \[\leadsto \color{blue}{\left(k \cdot -10\right) \cdot \left(a \cdot {k}^{m}\right)} + a \cdot {k}^{m} \]
                6. distribute-lft1-inN/A

                  \[\leadsto \color{blue}{\left(k \cdot -10 + 1\right) \cdot \left(a \cdot {k}^{m}\right)} \]
                7. rem-exp-logN/A

                  \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot {\color{blue}{\left(e^{\log k}\right)}}^{m}\right) \]
                8. remove-double-negN/A

                  \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot {\left(e^{\color{blue}{\mathsf{neg}\left(\left(\mathsf{neg}\left(\log k\right)\right)\right)}}\right)}^{m}\right) \]
                9. log-recN/A

                  \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot {\left(e^{\mathsf{neg}\left(\color{blue}{\log \left(\frac{1}{k}\right)}\right)}\right)}^{m}\right) \]
                10. exp-prodN/A

                  \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot \color{blue}{e^{\left(\mathsf{neg}\left(\log \left(\frac{1}{k}\right)\right)\right) \cdot m}}\right) \]
                11. distribute-lft-neg-inN/A

                  \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot e^{\color{blue}{\mathsf{neg}\left(\log \left(\frac{1}{k}\right) \cdot m\right)}}\right) \]
                12. *-commutativeN/A

                  \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot e^{\mathsf{neg}\left(\color{blue}{m \cdot \log \left(\frac{1}{k}\right)}\right)}\right) \]
                13. mul-1-negN/A

                  \[\leadsto \left(k \cdot -10 + 1\right) \cdot \left(a \cdot e^{\color{blue}{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}\right) \]
                14. *-lowering-*.f64N/A

                  \[\leadsto \color{blue}{\left(k \cdot -10 + 1\right) \cdot \left(a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}\right)} \]
                15. accelerator-lowering-fma.f64N/A

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

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

                \[\leadsto \mathsf{fma}\left(k, -10, 1\right) \cdot \color{blue}{a} \]
              7. Step-by-step derivation
                1. Simplified5.1%

                  \[\leadsto \mathsf{fma}\left(k, -10, 1\right) \cdot \color{blue}{a} \]
                2. Taylor expanded in k around inf

                  \[\leadsto \color{blue}{\left(-10 \cdot k\right)} \cdot a \]
                3. Step-by-step derivation
                  1. *-commutativeN/A

                    \[\leadsto \color{blue}{\left(k \cdot -10\right)} \cdot a \]
                  2. *-lowering-*.f6417.8

                    \[\leadsto \color{blue}{\left(k \cdot -10\right)} \cdot a \]
                4. Simplified17.8%

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

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

              Alternative 16: 20.0% accurate, 134.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 90.0%

                \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \]
              2. Add Preprocessing
              3. Taylor expanded in m around 0

                \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
              4. Step-by-step derivation
                1. /-lowering-/.f64N/A

                  \[\leadsto \color{blue}{\frac{a}{1 + \left(10 \cdot k + {k}^{2}\right)}} \]
                2. unpow2N/A

                  \[\leadsto \frac{a}{1 + \left(10 \cdot k + \color{blue}{k \cdot k}\right)} \]
                3. distribute-rgt-inN/A

                  \[\leadsto \frac{a}{1 + \color{blue}{k \cdot \left(10 + k\right)}} \]
                4. +-commutativeN/A

                  \[\leadsto \frac{a}{\color{blue}{k \cdot \left(10 + k\right) + 1}} \]
                5. metadata-evalN/A

                  \[\leadsto \frac{a}{k \cdot \left(\color{blue}{10 \cdot 1} + k\right) + 1} \]
                6. lft-mult-inverseN/A

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

                  \[\leadsto \frac{a}{k \cdot \left(\color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k} + k\right) + 1} \]
                8. *-lft-identityN/A

                  \[\leadsto \frac{a}{k \cdot \left(\left(10 \cdot \frac{1}{k}\right) \cdot k + \color{blue}{1 \cdot k}\right) + 1} \]
                9. distribute-rgt-inN/A

                  \[\leadsto \frac{a}{k \cdot \color{blue}{\left(k \cdot \left(10 \cdot \frac{1}{k} + 1\right)\right)} + 1} \]
                10. +-commutativeN/A

                  \[\leadsto \frac{a}{k \cdot \left(k \cdot \color{blue}{\left(1 + 10 \cdot \frac{1}{k}\right)}\right) + 1} \]
                11. *-commutativeN/A

                  \[\leadsto \frac{a}{k \cdot \color{blue}{\left(\left(1 + 10 \cdot \frac{1}{k}\right) \cdot k\right)} + 1} \]
                12. accelerator-lowering-fma.f64N/A

                  \[\leadsto \frac{a}{\color{blue}{\mathsf{fma}\left(k, \left(1 + 10 \cdot \frac{1}{k}\right) \cdot k, 1\right)}} \]
                13. *-commutativeN/A

                  \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{k \cdot \left(1 + 10 \cdot \frac{1}{k}\right)}, 1\right)} \]
                14. +-commutativeN/A

                  \[\leadsto \frac{a}{\mathsf{fma}\left(k, k \cdot \color{blue}{\left(10 \cdot \frac{1}{k} + 1\right)}, 1\right)} \]
                15. distribute-rgt-inN/A

                  \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{\left(10 \cdot \frac{1}{k}\right) \cdot k + 1 \cdot k}, 1\right)} \]
                16. associate-*l*N/A

                  \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10 \cdot \left(\frac{1}{k} \cdot k\right)} + 1 \cdot k, 1\right)} \]
                17. lft-mult-inverseN/A

                  \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 \cdot \color{blue}{1} + 1 \cdot k, 1\right)} \]
                18. metadata-evalN/A

                  \[\leadsto \frac{a}{\mathsf{fma}\left(k, \color{blue}{10} + 1 \cdot k, 1\right)} \]
                19. *-lft-identityN/A

                  \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + \color{blue}{k}, 1\right)} \]
                20. +-lowering-+.f6441.3

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

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

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

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

                Reproduce

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