Toniolo and Linder, Equation (10-)

Percentage Accurate: 35.5% → 99.3%
Time: 16.0s
Alternatives: 9
Speedup: 28.1×

Specification

?
\[\begin{array}{l} \\ \frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \end{array} \]
(FPCore (t l k)
 :precision binary64
 (/
  2.0
  (*
   (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
   (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
	return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) - 1.0));
}
real(8) function code(t, l, k)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) - 1.0d0))
end function
public static double code(double t, double l, double k) {
	return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) - 1.0));
}
def code(t, l, k):
	return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) - 1.0))
function code(t, l, k)
	return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) - 1.0)))
end
function tmp = code(t, l, k)
	tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) - 1.0));
end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] - 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}
\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 9 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: 35.5% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \end{array} \]
(FPCore (t l k)
 :precision binary64
 (/
  2.0
  (*
   (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
   (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
	return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) - 1.0));
}
real(8) function code(t, l, k)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) - 1.0d0))
end function
public static double code(double t, double l, double k) {
	return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) - 1.0));
}
def code(t, l, k):
	return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) - 1.0))
function code(t, l, k)
	return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) - 1.0)))
end
function tmp = code(t, l, k)
	tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) - 1.0));
end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] - 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}
\end{array}

Alternative 1: 99.3% accurate, 1.9× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \begin{array}{l} \mathbf{if}\;k\_m \leq 1.15 \cdot 10^{-20}:\\ \;\;\;\;\frac{\frac{2}{t}}{\frac{k\_m}{\frac{\ell}{k\_m}}} \cdot \frac{\frac{\ell}{k\_m}}{k\_m}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\frac{k\_m}{\ell} \cdot \left(\frac{k\_m}{\ell} \cdot \left(\sin k\_m \cdot \left(t \cdot \tan k\_m\right)\right)\right)}\\ \end{array} \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (if (<= k_m 1.15e-20)
   (* (/ (/ 2.0 t) (/ k_m (/ l k_m))) (/ (/ l k_m) k_m))
   (/ 2.0 (* (/ k_m l) (* (/ k_m l) (* (sin k_m) (* t (tan k_m))))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	double tmp;
	if (k_m <= 1.15e-20) {
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
	} else {
		tmp = 2.0 / ((k_m / l) * ((k_m / l) * (sin(k_m) * (t * tan(k_m)))));
	}
	return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    real(8) :: tmp
    if (k_m <= 1.15d-20) then
        tmp = ((2.0d0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m)
    else
        tmp = 2.0d0 / ((k_m / l) * ((k_m / l) * (sin(k_m) * (t * tan(k_m)))))
    end if
    code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	double tmp;
	if (k_m <= 1.15e-20) {
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
	} else {
		tmp = 2.0 / ((k_m / l) * ((k_m / l) * (Math.sin(k_m) * (t * Math.tan(k_m)))));
	}
	return tmp;
}
k_m = math.fabs(k)
def code(t, l, k_m):
	tmp = 0
	if k_m <= 1.15e-20:
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m)
	else:
		tmp = 2.0 / ((k_m / l) * ((k_m / l) * (math.sin(k_m) * (t * math.tan(k_m)))))
	return tmp
k_m = abs(k)
function code(t, l, k_m)
	tmp = 0.0
	if (k_m <= 1.15e-20)
		tmp = Float64(Float64(Float64(2.0 / t) / Float64(k_m / Float64(l / k_m))) * Float64(Float64(l / k_m) / k_m));
	else
		tmp = Float64(2.0 / Float64(Float64(k_m / l) * Float64(Float64(k_m / l) * Float64(sin(k_m) * Float64(t * tan(k_m))))));
	end
	return tmp
end
k_m = abs(k);
function tmp_2 = code(t, l, k_m)
	tmp = 0.0;
	if (k_m <= 1.15e-20)
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
	else
		tmp = 2.0 / ((k_m / l) * ((k_m / l) * (sin(k_m) * (t * tan(k_m)))));
	end
	tmp_2 = tmp;
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.15e-20], N[(N[(N[(2.0 / t), $MachinePrecision] / N[(k$95$m / N[(l / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(N[(k$95$m / l), $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[(t * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|

\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.15 \cdot 10^{-20}:\\
\;\;\;\;\frac{\frac{2}{t}}{\frac{k\_m}{\frac{\ell}{k\_m}}} \cdot \frac{\frac{\ell}{k\_m}}{k\_m}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k\_m}{\ell} \cdot \left(\frac{k\_m}{\ell} \cdot \left(\sin k\_m \cdot \left(t \cdot \tan k\_m\right)\right)\right)}\\


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

    1. Initial program 36.1%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in k around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      5. pow-sqrN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      9. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
      12. *-lowering-*.f6460.0%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
    5. Simplified60.0%

      \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. remove-double-negN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}\right)\right)\right)\right)\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      3. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      4. distribute-lft-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right) \cdot \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right), \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      6. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(0 - \frac{t}{\ell}\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      7. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \left(\frac{t}{\ell}\right)\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\color{blue}{\ell}}\right)\right)\right)\right) \]
      9. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(0 - \color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right) \]
      10. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \color{blue}{\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right) \]
      11. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(\frac{k \cdot \left(k \cdot \left(k \cdot k\right)\right)}{\ell}\right)\right)\right)\right) \]
      12. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(k \cdot \color{blue}{\frac{k \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \color{blue}{\left(\frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\left(k \cdot \left(k \cdot k\right)\right), \color{blue}{\ell}\right)\right)\right)\right)\right) \]
      15. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \left(k \cdot k\right)\right), \ell\right)\right)\right)\right)\right) \]
      16. *-lowering-*.f6450.8%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right), \ell\right)\right)\right)\right)\right) \]
    7. Applied egg-rr50.8%

      \[\leadsto \frac{2}{\color{blue}{\left(0 - \frac{t}{\ell}\right) \cdot \left(0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}} \]
    8. Step-by-step derivation
      1. associate-/r*N/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\color{blue}{0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      2. sub0-negN/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\mathsf{neg}\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)} \]
      3. distribute-frac-neg2N/A

        \[\leadsto \mathsf{neg}\left(\frac{\frac{2}{0 - \frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}\right) \]
      4. distribute-frac-negN/A

        \[\leadsto \frac{\mathsf{neg}\left(\frac{2}{0 - \frac{t}{\ell}}\right)}{\color{blue}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      5. distribute-frac-neg2N/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(0 - \frac{t}{\ell}\right)\right)}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      6. sub0-negN/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right)\right)}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      7. remove-double-negN/A

        \[\leadsto \frac{\frac{2}{\frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      8. un-div-invN/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      9. clear-numN/A

        \[\leadsto \frac{2 \cdot \frac{\ell}{t}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{\ell}{t}\right), \color{blue}{\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right) \]
      11. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{1}{\frac{t}{\ell}}\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      12. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{2}{\frac{t}{\ell}}\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      13. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \left(\frac{t}{\ell}\right)\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      15. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \left(k \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right)\right) \]
      16. associate-*r*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right) \]
      17. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \frac{1}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      18. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\frac{k \cdot k}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      19. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\left(k \cdot k\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right)\right) \]
      20. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right)\right) \]
      21. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(k \cdot k\right)}\right)\right)\right) \]
    9. Applied egg-rr74.2%

      \[\leadsto \color{blue}{\frac{\frac{2}{\frac{t}{\ell}}}{\frac{k \cdot k}{\frac{\ell}{k \cdot k}}}} \]
    10. Step-by-step derivation
      1. associate-/r/N/A

        \[\leadsto \frac{\frac{2}{t} \cdot \ell}{\frac{\color{blue}{k \cdot k}}{\frac{\ell}{k \cdot k}}} \]
      2. associate-/r/N/A

        \[\leadsto \frac{\frac{2}{t} \cdot \ell}{\frac{k \cdot k}{\ell} \cdot \color{blue}{\left(k \cdot k\right)}} \]
      3. times-fracN/A

        \[\leadsto \frac{\frac{2}{t}}{\frac{k \cdot k}{\ell}} \cdot \color{blue}{\frac{\ell}{k \cdot k}} \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{2}{t}}{\frac{k \cdot k}{\ell}}\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\frac{2}{t}\right), \left(\frac{k \cdot k}{\ell}\right)\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k \cdot k}{\ell}\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      7. associate-*l/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k}{\ell} \cdot k\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      8. associate-/r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k}{\frac{\ell}{k}}\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      9. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \left(\frac{\ell}{k}\right)\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      11. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \left(\frac{\frac{\ell}{k}}{\color{blue}{k}}\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \mathsf{/.f64}\left(\left(\frac{\ell}{k}\right), \color{blue}{k}\right)\right) \]
      13. /-lowering-/.f6482.6%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, k\right), k\right)\right) \]
    11. Applied egg-rr82.6%

      \[\leadsto \color{blue}{\frac{\frac{2}{t}}{\frac{k}{\frac{\ell}{k}}} \cdot \frac{\frac{\ell}{k}}{k}} \]

    if 1.15e-20 < k

    1. Initial program 37.8%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in t around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{2} \cdot \left(t \cdot {\sin k}^{2}\right)}{{\ell}^{2} \cdot \cos k}\right)}\right) \]
    4. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left({k}^{2} \cdot \color{blue}{\frac{t \cdot {\sin k}^{2}}{{\ell}^{2} \cdot \cos k}}\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left({k}^{2}\right), \color{blue}{\left(\frac{t \cdot {\sin k}^{2}}{{\ell}^{2} \cdot \cos k}\right)}\right)\right) \]
      3. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(k \cdot k\right), \left(\frac{\color{blue}{t \cdot {\sin k}^{2}}}{{\ell}^{2} \cdot \cos k}\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{t \cdot {\sin k}^{2}}}{{\ell}^{2} \cdot \cos k}\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{t \cdot {\sin k}^{2}}{\cos k \cdot \color{blue}{{\ell}^{2}}}\right)\right)\right) \]
      6. associate-/r*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\color{blue}{{\ell}^{2}}}\right)\right)\right) \]
      7. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\left(\frac{t \cdot {\sin k}^{2}}{\cos k}\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(t \cdot {\sin k}^{2}\right), \cos k\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({\sin k}^{2}\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      10. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\sin k, 2\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      11. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      12. cos-lowering-cos.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      13. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right)\right) \]
      14. *-lowering-*.f6467.6%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right)\right) \]
    5. Simplified67.6%

      \[\leadsto \frac{2}{\color{blue}{\left(k \cdot k\right) \cdot \frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{\left(k \cdot k\right) \cdot \frac{t \cdot {\sin k}^{2}}{\cos k}}{\color{blue}{\ell \cdot \ell}}\right)\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot k}{\ell} \cdot \color{blue}{\frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\ell}}\right)\right) \]
      3. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot k}{\ell} \cdot \frac{1}{\color{blue}{\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}}}\right)\right) \]
      4. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{\frac{k \cdot k}{\ell}}{\color{blue}{\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}}}\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(\frac{k \cdot k}{\ell}\right), \color{blue}{\left(\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)}\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(k \cdot k\right), \ell\right), \left(\frac{\color{blue}{\ell}}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \left(\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(\frac{t \cdot {\sin k}^{2}}{\cos k}\right)}\right)\right)\right) \]
      9. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \left(t \cdot \color{blue}{\frac{{\sin k}^{2}}{\cos k}}\right)\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \color{blue}{\left(\frac{{\sin k}^{2}}{\cos k}\right)}\right)\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\frac{\sin k \cdot \sin k}{\cos \color{blue}{k}}\right)\right)\right)\right)\right) \]
      12. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\sin k \cdot \color{blue}{\frac{\sin k}{\cos k}}\right)\right)\right)\right)\right) \]
      13. tan-quotN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\sin k \cdot \tan k\right)\right)\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\sin k, \color{blue}{\tan k}\right)\right)\right)\right)\right) \]
      15. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \tan \color{blue}{k}\right)\right)\right)\right)\right) \]
      16. tan-lowering-tan.f6475.4%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \mathsf{tan.f64}\left(k\right)\right)\right)\right)\right)\right) \]
    7. Applied egg-rr75.4%

      \[\leadsto \frac{2}{\color{blue}{\frac{\frac{k \cdot k}{\ell}}{\frac{\ell}{t \cdot \left(\sin k \cdot \tan k\right)}}}} \]
    8. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot \frac{k}{\ell}}{\frac{\color{blue}{\ell}}{t \cdot \left(\sin k \cdot \tan k\right)}}\right)\right) \]
      2. div-invN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot \frac{k}{\ell}}{\ell \cdot \color{blue}{\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}}}\right)\right) \]
      3. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k}{\ell} \cdot \color{blue}{\frac{\frac{k}{\ell}}{\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}}}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\frac{k}{\ell}\right), \color{blue}{\left(\frac{\frac{k}{\ell}}{\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}}\right)}\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\color{blue}{\frac{k}{\ell}}}{\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}}\right)\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\left(\frac{k}{\ell}\right), \color{blue}{\left(\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}\right)}\right)\right)\right) \]
      7. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\color{blue}{1}}{t \cdot \left(\sin k \cdot \tan k\right)}\right)\right)\right)\right) \]
      8. associate-/r*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\frac{1}{t}}{\color{blue}{\sin k \cdot \tan k}}\right)\right)\right)\right) \]
      9. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\left(\frac{1}{t}\right), \color{blue}{\left(\sin k \cdot \tan k\right)}\right)\right)\right)\right) \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, t\right), \left(\color{blue}{\sin k} \cdot \tan k\right)\right)\right)\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, t\right), \mathsf{*.f64}\left(\sin k, \color{blue}{\tan k}\right)\right)\right)\right)\right) \]
      12. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, t\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \tan \color{blue}{k}\right)\right)\right)\right)\right) \]
      13. tan-lowering-tan.f6499.2%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, t\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \mathsf{tan.f64}\left(k\right)\right)\right)\right)\right)\right) \]
    9. Applied egg-rr99.2%

      \[\leadsto \frac{2}{\color{blue}{\frac{k}{\ell} \cdot \frac{\frac{k}{\ell}}{\frac{\frac{1}{t}}{\sin k \cdot \tan k}}}} \]
    10. Step-by-step derivation
      1. div-invN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{k}{\ell} \cdot \color{blue}{\frac{1}{\frac{\frac{1}{t}}{\sin k \cdot \tan k}}}\right)\right)\right) \]
      2. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{k}{\ell} \cdot \frac{\sin k \cdot \tan k}{\color{blue}{\frac{1}{t}}}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\left(\frac{k}{\ell}\right), \color{blue}{\left(\frac{\sin k \cdot \tan k}{\frac{1}{t}}\right)}\right)\right)\right) \]
      4. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\color{blue}{\sin k \cdot \tan k}}{\frac{1}{t}}\right)\right)\right)\right) \]
      5. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{1}{\color{blue}{\frac{\frac{1}{t}}{\sin k \cdot \tan k}}}\right)\right)\right)\right) \]
      6. associate-/l/N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{1}{\frac{1}{\color{blue}{\left(\sin k \cdot \tan k\right) \cdot t}}}\right)\right)\right)\right) \]
      7. remove-double-divN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\left(\sin k \cdot \tan k\right) \cdot \color{blue}{t}\right)\right)\right)\right) \]
      8. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\sin k \cdot \color{blue}{\left(\tan k \cdot t\right)}\right)\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\sin k, \color{blue}{\left(\tan k \cdot t\right)}\right)\right)\right)\right) \]
      10. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \left(\color{blue}{\tan k} \cdot t\right)\right)\right)\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \mathsf{*.f64}\left(\tan k, \color{blue}{t}\right)\right)\right)\right)\right) \]
      12. tan-lowering-tan.f6499.3%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \mathsf{*.f64}\left(\mathsf{tan.f64}\left(k\right), t\right)\right)\right)\right)\right) \]
    11. Applied egg-rr99.3%

      \[\leadsto \frac{2}{\frac{k}{\ell} \cdot \color{blue}{\left(\frac{k}{\ell} \cdot \left(\sin k \cdot \left(\tan k \cdot t\right)\right)\right)}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification87.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq 1.15 \cdot 10^{-20}:\\ \;\;\;\;\frac{\frac{2}{t}}{\frac{k}{\frac{\ell}{k}}} \cdot \frac{\frac{\ell}{k}}{k}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\frac{k}{\ell} \cdot \left(\frac{k}{\ell} \cdot \left(\sin k \cdot \left(t \cdot \tan k\right)\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 2: 95.7% accurate, 1.9× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \begin{array}{l} \mathbf{if}\;k\_m \leq 1.15 \cdot 10^{-20}:\\ \;\;\;\;\frac{\frac{2}{t}}{\frac{k\_m}{\frac{\ell}{k\_m}}} \cdot \frac{\frac{\ell}{k\_m}}{k\_m}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{k\_m \cdot \frac{\frac{k\_m}{\ell}}{\frac{\frac{\ell}{t}}{\sin k\_m \cdot \tan k\_m}}}\\ \end{array} \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (if (<= k_m 1.15e-20)
   (* (/ (/ 2.0 t) (/ k_m (/ l k_m))) (/ (/ l k_m) k_m))
   (/ 2.0 (* k_m (/ (/ k_m l) (/ (/ l t) (* (sin k_m) (tan k_m))))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	double tmp;
	if (k_m <= 1.15e-20) {
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
	} else {
		tmp = 2.0 / (k_m * ((k_m / l) / ((l / t) / (sin(k_m) * tan(k_m)))));
	}
	return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    real(8) :: tmp
    if (k_m <= 1.15d-20) then
        tmp = ((2.0d0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m)
    else
        tmp = 2.0d0 / (k_m * ((k_m / l) / ((l / t) / (sin(k_m) * tan(k_m)))))
    end if
    code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	double tmp;
	if (k_m <= 1.15e-20) {
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
	} else {
		tmp = 2.0 / (k_m * ((k_m / l) / ((l / t) / (Math.sin(k_m) * Math.tan(k_m)))));
	}
	return tmp;
}
k_m = math.fabs(k)
def code(t, l, k_m):
	tmp = 0
	if k_m <= 1.15e-20:
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m)
	else:
		tmp = 2.0 / (k_m * ((k_m / l) / ((l / t) / (math.sin(k_m) * math.tan(k_m)))))
	return tmp
k_m = abs(k)
function code(t, l, k_m)
	tmp = 0.0
	if (k_m <= 1.15e-20)
		tmp = Float64(Float64(Float64(2.0 / t) / Float64(k_m / Float64(l / k_m))) * Float64(Float64(l / k_m) / k_m));
	else
		tmp = Float64(2.0 / Float64(k_m * Float64(Float64(k_m / l) / Float64(Float64(l / t) / Float64(sin(k_m) * tan(k_m))))));
	end
	return tmp
end
k_m = abs(k);
function tmp_2 = code(t, l, k_m)
	tmp = 0.0;
	if (k_m <= 1.15e-20)
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
	else
		tmp = 2.0 / (k_m * ((k_m / l) / ((l / t) / (sin(k_m) * tan(k_m)))));
	end
	tmp_2 = tmp;
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.15e-20], N[(N[(N[(2.0 / t), $MachinePrecision] / N[(k$95$m / N[(l / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(k$95$m * N[(N[(k$95$m / l), $MachinePrecision] / N[(N[(l / t), $MachinePrecision] / N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|

\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.15 \cdot 10^{-20}:\\
\;\;\;\;\frac{\frac{2}{t}}{\frac{k\_m}{\frac{\ell}{k\_m}}} \cdot \frac{\frac{\ell}{k\_m}}{k\_m}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{k\_m \cdot \frac{\frac{k\_m}{\ell}}{\frac{\frac{\ell}{t}}{\sin k\_m \cdot \tan k\_m}}}\\


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

    1. Initial program 36.1%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in k around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      5. pow-sqrN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      9. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
      12. *-lowering-*.f6460.0%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
    5. Simplified60.0%

      \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. remove-double-negN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}\right)\right)\right)\right)\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      3. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      4. distribute-lft-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right) \cdot \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right), \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      6. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(0 - \frac{t}{\ell}\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      7. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \left(\frac{t}{\ell}\right)\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\color{blue}{\ell}}\right)\right)\right)\right) \]
      9. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(0 - \color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right) \]
      10. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \color{blue}{\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right) \]
      11. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(\frac{k \cdot \left(k \cdot \left(k \cdot k\right)\right)}{\ell}\right)\right)\right)\right) \]
      12. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(k \cdot \color{blue}{\frac{k \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \color{blue}{\left(\frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\left(k \cdot \left(k \cdot k\right)\right), \color{blue}{\ell}\right)\right)\right)\right)\right) \]
      15. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \left(k \cdot k\right)\right), \ell\right)\right)\right)\right)\right) \]
      16. *-lowering-*.f6450.8%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right), \ell\right)\right)\right)\right)\right) \]
    7. Applied egg-rr50.8%

      \[\leadsto \frac{2}{\color{blue}{\left(0 - \frac{t}{\ell}\right) \cdot \left(0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}} \]
    8. Step-by-step derivation
      1. associate-/r*N/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\color{blue}{0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      2. sub0-negN/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\mathsf{neg}\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)} \]
      3. distribute-frac-neg2N/A

        \[\leadsto \mathsf{neg}\left(\frac{\frac{2}{0 - \frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}\right) \]
      4. distribute-frac-negN/A

        \[\leadsto \frac{\mathsf{neg}\left(\frac{2}{0 - \frac{t}{\ell}}\right)}{\color{blue}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      5. distribute-frac-neg2N/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(0 - \frac{t}{\ell}\right)\right)}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      6. sub0-negN/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right)\right)}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      7. remove-double-negN/A

        \[\leadsto \frac{\frac{2}{\frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      8. un-div-invN/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      9. clear-numN/A

        \[\leadsto \frac{2 \cdot \frac{\ell}{t}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{\ell}{t}\right), \color{blue}{\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right) \]
      11. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{1}{\frac{t}{\ell}}\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      12. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{2}{\frac{t}{\ell}}\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      13. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \left(\frac{t}{\ell}\right)\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      15. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \left(k \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right)\right) \]
      16. associate-*r*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right) \]
      17. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \frac{1}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      18. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\frac{k \cdot k}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      19. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\left(k \cdot k\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right)\right) \]
      20. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right)\right) \]
      21. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(k \cdot k\right)}\right)\right)\right) \]
    9. Applied egg-rr74.2%

      \[\leadsto \color{blue}{\frac{\frac{2}{\frac{t}{\ell}}}{\frac{k \cdot k}{\frac{\ell}{k \cdot k}}}} \]
    10. Step-by-step derivation
      1. associate-/r/N/A

        \[\leadsto \frac{\frac{2}{t} \cdot \ell}{\frac{\color{blue}{k \cdot k}}{\frac{\ell}{k \cdot k}}} \]
      2. associate-/r/N/A

        \[\leadsto \frac{\frac{2}{t} \cdot \ell}{\frac{k \cdot k}{\ell} \cdot \color{blue}{\left(k \cdot k\right)}} \]
      3. times-fracN/A

        \[\leadsto \frac{\frac{2}{t}}{\frac{k \cdot k}{\ell}} \cdot \color{blue}{\frac{\ell}{k \cdot k}} \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{2}{t}}{\frac{k \cdot k}{\ell}}\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\frac{2}{t}\right), \left(\frac{k \cdot k}{\ell}\right)\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k \cdot k}{\ell}\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      7. associate-*l/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k}{\ell} \cdot k\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      8. associate-/r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k}{\frac{\ell}{k}}\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      9. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \left(\frac{\ell}{k}\right)\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      11. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \left(\frac{\frac{\ell}{k}}{\color{blue}{k}}\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \mathsf{/.f64}\left(\left(\frac{\ell}{k}\right), \color{blue}{k}\right)\right) \]
      13. /-lowering-/.f6482.6%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, k\right), k\right)\right) \]
    11. Applied egg-rr82.6%

      \[\leadsto \color{blue}{\frac{\frac{2}{t}}{\frac{k}{\frac{\ell}{k}}} \cdot \frac{\frac{\ell}{k}}{k}} \]

    if 1.15e-20 < k

    1. Initial program 37.8%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in t around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{2} \cdot \left(t \cdot {\sin k}^{2}\right)}{{\ell}^{2} \cdot \cos k}\right)}\right) \]
    4. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left({k}^{2} \cdot \color{blue}{\frac{t \cdot {\sin k}^{2}}{{\ell}^{2} \cdot \cos k}}\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left({k}^{2}\right), \color{blue}{\left(\frac{t \cdot {\sin k}^{2}}{{\ell}^{2} \cdot \cos k}\right)}\right)\right) \]
      3. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(k \cdot k\right), \left(\frac{\color{blue}{t \cdot {\sin k}^{2}}}{{\ell}^{2} \cdot \cos k}\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{t \cdot {\sin k}^{2}}}{{\ell}^{2} \cdot \cos k}\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{t \cdot {\sin k}^{2}}{\cos k \cdot \color{blue}{{\ell}^{2}}}\right)\right)\right) \]
      6. associate-/r*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\color{blue}{{\ell}^{2}}}\right)\right)\right) \]
      7. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\left(\frac{t \cdot {\sin k}^{2}}{\cos k}\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(t \cdot {\sin k}^{2}\right), \cos k\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({\sin k}^{2}\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      10. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\sin k, 2\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      11. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      12. cos-lowering-cos.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      13. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right)\right) \]
      14. *-lowering-*.f6467.6%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right)\right) \]
    5. Simplified67.6%

      \[\leadsto \frac{2}{\color{blue}{\left(k \cdot k\right) \cdot \frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{\left(k \cdot k\right) \cdot \frac{t \cdot {\sin k}^{2}}{\cos k}}{\color{blue}{\ell \cdot \ell}}\right)\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot k}{\ell} \cdot \color{blue}{\frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\ell}}\right)\right) \]
      3. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot k}{\ell} \cdot \frac{1}{\color{blue}{\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}}}\right)\right) \]
      4. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{\frac{k \cdot k}{\ell}}{\color{blue}{\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}}}\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(\frac{k \cdot k}{\ell}\right), \color{blue}{\left(\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)}\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(k \cdot k\right), \ell\right), \left(\frac{\color{blue}{\ell}}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \left(\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(\frac{t \cdot {\sin k}^{2}}{\cos k}\right)}\right)\right)\right) \]
      9. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \left(t \cdot \color{blue}{\frac{{\sin k}^{2}}{\cos k}}\right)\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \color{blue}{\left(\frac{{\sin k}^{2}}{\cos k}\right)}\right)\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\frac{\sin k \cdot \sin k}{\cos \color{blue}{k}}\right)\right)\right)\right)\right) \]
      12. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\sin k \cdot \color{blue}{\frac{\sin k}{\cos k}}\right)\right)\right)\right)\right) \]
      13. tan-quotN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\sin k \cdot \tan k\right)\right)\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\sin k, \color{blue}{\tan k}\right)\right)\right)\right)\right) \]
      15. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \tan \color{blue}{k}\right)\right)\right)\right)\right) \]
      16. tan-lowering-tan.f6475.4%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \mathsf{tan.f64}\left(k\right)\right)\right)\right)\right)\right) \]
    7. Applied egg-rr75.4%

      \[\leadsto \frac{2}{\color{blue}{\frac{\frac{k \cdot k}{\ell}}{\frac{\ell}{t \cdot \left(\sin k \cdot \tan k\right)}}}} \]
    8. Step-by-step derivation
      1. div-invN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot k}{\ell} \cdot \color{blue}{\frac{1}{\frac{\ell}{t \cdot \left(\sin k \cdot \tan k\right)}}}\right)\right) \]
      2. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot k}{\ell} \cdot \frac{t \cdot \left(\sin k \cdot \tan k\right)}{\color{blue}{\ell}}\right)\right) \]
      3. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\left(k \cdot \frac{k}{\ell}\right) \cdot \frac{\color{blue}{t \cdot \left(\sin k \cdot \tan k\right)}}{\ell}\right)\right) \]
      4. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(k \cdot \color{blue}{\left(\frac{k}{\ell} \cdot \frac{t \cdot \left(\sin k \cdot \tan k\right)}{\ell}\right)}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \color{blue}{\left(\frac{k}{\ell} \cdot \frac{t \cdot \left(\sin k \cdot \tan k\right)}{\ell}\right)}\right)\right) \]
      6. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \left(\frac{k}{\ell} \cdot \frac{1}{\color{blue}{\frac{\ell}{t \cdot \left(\sin k \cdot \tan k\right)}}}\right)\right)\right) \]
      7. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \left(\frac{\frac{k}{\ell}}{\color{blue}{\frac{\ell}{t \cdot \left(\sin k \cdot \tan k\right)}}}\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\left(\frac{k}{\ell}\right), \color{blue}{\left(\frac{\ell}{t \cdot \left(\sin k \cdot \tan k\right)}\right)}\right)\right)\right) \]
      9. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\color{blue}{\ell}}{t \cdot \left(\sin k \cdot \tan k\right)}\right)\right)\right)\right) \]
      10. associate-/r*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\frac{\ell}{t}}{\color{blue}{\sin k \cdot \tan k}}\right)\right)\right)\right) \]
      11. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\left(\frac{\ell}{t}\right), \color{blue}{\left(\sin k \cdot \tan k\right)}\right)\right)\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(\color{blue}{\sin k} \cdot \tan k\right)\right)\right)\right)\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{*.f64}\left(\sin k, \color{blue}{\tan k}\right)\right)\right)\right)\right) \]
      14. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \tan \color{blue}{k}\right)\right)\right)\right)\right) \]
      15. tan-lowering-tan.f6492.7%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \mathsf{tan.f64}\left(k\right)\right)\right)\right)\right)\right) \]
    9. Applied egg-rr92.7%

      \[\leadsto \frac{2}{\color{blue}{k \cdot \frac{\frac{k}{\ell}}{\frac{\frac{\ell}{t}}{\sin k \cdot \tan k}}}} \]
  3. Recombined 2 regimes into one program.
  4. Add Preprocessing

Alternative 3: 93.4% accurate, 1.9× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \begin{array}{l} t_1 := \frac{\frac{\ell}{k\_m}}{k\_m}\\ \mathbf{if}\;k\_m \leq 5 \cdot 10^{-100}:\\ \;\;\;\;\frac{\frac{2}{t}}{\frac{k\_m}{\frac{\ell}{k\_m}}} \cdot t\_1\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \left(t\_1 \cdot \frac{\frac{\ell}{t}}{\sin k\_m \cdot \tan k\_m}\right)\\ \end{array} \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (let* ((t_1 (/ (/ l k_m) k_m)))
   (if (<= k_m 5e-100)
     (* (/ (/ 2.0 t) (/ k_m (/ l k_m))) t_1)
     (* 2.0 (* t_1 (/ (/ l t) (* (sin k_m) (tan k_m))))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	double t_1 = (l / k_m) / k_m;
	double tmp;
	if (k_m <= 5e-100) {
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * t_1;
	} else {
		tmp = 2.0 * (t_1 * ((l / t) / (sin(k_m) * tan(k_m))));
	}
	return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    real(8) :: t_1
    real(8) :: tmp
    t_1 = (l / k_m) / k_m
    if (k_m <= 5d-100) then
        tmp = ((2.0d0 / t) / (k_m / (l / k_m))) * t_1
    else
        tmp = 2.0d0 * (t_1 * ((l / t) / (sin(k_m) * tan(k_m))))
    end if
    code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	double t_1 = (l / k_m) / k_m;
	double tmp;
	if (k_m <= 5e-100) {
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * t_1;
	} else {
		tmp = 2.0 * (t_1 * ((l / t) / (Math.sin(k_m) * Math.tan(k_m))));
	}
	return tmp;
}
k_m = math.fabs(k)
def code(t, l, k_m):
	t_1 = (l / k_m) / k_m
	tmp = 0
	if k_m <= 5e-100:
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * t_1
	else:
		tmp = 2.0 * (t_1 * ((l / t) / (math.sin(k_m) * math.tan(k_m))))
	return tmp
k_m = abs(k)
function code(t, l, k_m)
	t_1 = Float64(Float64(l / k_m) / k_m)
	tmp = 0.0
	if (k_m <= 5e-100)
		tmp = Float64(Float64(Float64(2.0 / t) / Float64(k_m / Float64(l / k_m))) * t_1);
	else
		tmp = Float64(2.0 * Float64(t_1 * Float64(Float64(l / t) / Float64(sin(k_m) * tan(k_m)))));
	end
	return tmp
end
k_m = abs(k);
function tmp_2 = code(t, l, k_m)
	t_1 = (l / k_m) / k_m;
	tmp = 0.0;
	if (k_m <= 5e-100)
		tmp = ((2.0 / t) / (k_m / (l / k_m))) * t_1;
	else
		tmp = 2.0 * (t_1 * ((l / t) / (sin(k_m) * tan(k_m))));
	end
	tmp_2 = tmp;
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[(l / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision]}, If[LessEqual[k$95$m, 5e-100], N[(N[(N[(2.0 / t), $MachinePrecision] / N[(k$95$m / N[(l / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision], N[(2.0 * N[(t$95$1 * N[(N[(l / t), $MachinePrecision] / N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|

\\
\begin{array}{l}
t_1 := \frac{\frac{\ell}{k\_m}}{k\_m}\\
\mathbf{if}\;k\_m \leq 5 \cdot 10^{-100}:\\
\;\;\;\;\frac{\frac{2}{t}}{\frac{k\_m}{\frac{\ell}{k\_m}}} \cdot t\_1\\

\mathbf{else}:\\
\;\;\;\;2 \cdot \left(t\_1 \cdot \frac{\frac{\ell}{t}}{\sin k\_m \cdot \tan k\_m}\right)\\


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

    1. Initial program 35.7%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in k around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      5. pow-sqrN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      9. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
      12. *-lowering-*.f6460.0%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
    5. Simplified60.0%

      \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. remove-double-negN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}\right)\right)\right)\right)\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      3. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      4. distribute-lft-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right) \cdot \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right), \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      6. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(0 - \frac{t}{\ell}\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      7. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \left(\frac{t}{\ell}\right)\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\color{blue}{\ell}}\right)\right)\right)\right) \]
      9. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(0 - \color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right) \]
      10. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \color{blue}{\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right) \]
      11. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(\frac{k \cdot \left(k \cdot \left(k \cdot k\right)\right)}{\ell}\right)\right)\right)\right) \]
      12. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(k \cdot \color{blue}{\frac{k \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \color{blue}{\left(\frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\left(k \cdot \left(k \cdot k\right)\right), \color{blue}{\ell}\right)\right)\right)\right)\right) \]
      15. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \left(k \cdot k\right)\right), \ell\right)\right)\right)\right)\right) \]
      16. *-lowering-*.f6448.2%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right), \ell\right)\right)\right)\right)\right) \]
    7. Applied egg-rr48.2%

      \[\leadsto \frac{2}{\color{blue}{\left(0 - \frac{t}{\ell}\right) \cdot \left(0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}} \]
    8. Step-by-step derivation
      1. associate-/r*N/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\color{blue}{0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      2. sub0-negN/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\mathsf{neg}\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)} \]
      3. distribute-frac-neg2N/A

        \[\leadsto \mathsf{neg}\left(\frac{\frac{2}{0 - \frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}\right) \]
      4. distribute-frac-negN/A

        \[\leadsto \frac{\mathsf{neg}\left(\frac{2}{0 - \frac{t}{\ell}}\right)}{\color{blue}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      5. distribute-frac-neg2N/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(0 - \frac{t}{\ell}\right)\right)}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      6. sub0-negN/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right)\right)}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      7. remove-double-negN/A

        \[\leadsto \frac{\frac{2}{\frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      8. un-div-invN/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      9. clear-numN/A

        \[\leadsto \frac{2 \cdot \frac{\ell}{t}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{\ell}{t}\right), \color{blue}{\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right) \]
      11. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{1}{\frac{t}{\ell}}\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      12. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{2}{\frac{t}{\ell}}\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      13. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \left(\frac{t}{\ell}\right)\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      15. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \left(k \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right)\right) \]
      16. associate-*r*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right) \]
      17. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \frac{1}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      18. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\frac{k \cdot k}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      19. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\left(k \cdot k\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right)\right) \]
      20. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right)\right) \]
      21. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(k \cdot k\right)}\right)\right)\right) \]
    9. Applied egg-rr71.9%

      \[\leadsto \color{blue}{\frac{\frac{2}{\frac{t}{\ell}}}{\frac{k \cdot k}{\frac{\ell}{k \cdot k}}}} \]
    10. Step-by-step derivation
      1. associate-/r/N/A

        \[\leadsto \frac{\frac{2}{t} \cdot \ell}{\frac{\color{blue}{k \cdot k}}{\frac{\ell}{k \cdot k}}} \]
      2. associate-/r/N/A

        \[\leadsto \frac{\frac{2}{t} \cdot \ell}{\frac{k \cdot k}{\ell} \cdot \color{blue}{\left(k \cdot k\right)}} \]
      3. times-fracN/A

        \[\leadsto \frac{\frac{2}{t}}{\frac{k \cdot k}{\ell}} \cdot \color{blue}{\frac{\ell}{k \cdot k}} \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{2}{t}}{\frac{k \cdot k}{\ell}}\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\frac{2}{t}\right), \left(\frac{k \cdot k}{\ell}\right)\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k \cdot k}{\ell}\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      7. associate-*l/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k}{\ell} \cdot k\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      8. associate-/r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k}{\frac{\ell}{k}}\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      9. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \left(\frac{\ell}{k}\right)\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
      11. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \left(\frac{\frac{\ell}{k}}{\color{blue}{k}}\right)\right) \]
      12. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \mathsf{/.f64}\left(\left(\frac{\ell}{k}\right), \color{blue}{k}\right)\right) \]
      13. /-lowering-/.f6481.1%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, k\right), k\right)\right) \]
    11. Applied egg-rr81.1%

      \[\leadsto \color{blue}{\frac{\frac{2}{t}}{\frac{k}{\frac{\ell}{k}}} \cdot \frac{\frac{\ell}{k}}{k}} \]

    if 5.0000000000000001e-100 < k

    1. Initial program 38.3%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in t around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{2} \cdot \left(t \cdot {\sin k}^{2}\right)}{{\ell}^{2} \cdot \cos k}\right)}\right) \]
    4. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left({k}^{2} \cdot \color{blue}{\frac{t \cdot {\sin k}^{2}}{{\ell}^{2} \cdot \cos k}}\right)\right) \]
      2. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left({k}^{2}\right), \color{blue}{\left(\frac{t \cdot {\sin k}^{2}}{{\ell}^{2} \cdot \cos k}\right)}\right)\right) \]
      3. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(k \cdot k\right), \left(\frac{\color{blue}{t \cdot {\sin k}^{2}}}{{\ell}^{2} \cdot \cos k}\right)\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{t \cdot {\sin k}^{2}}}{{\ell}^{2} \cdot \cos k}\right)\right)\right) \]
      5. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{t \cdot {\sin k}^{2}}{\cos k \cdot \color{blue}{{\ell}^{2}}}\right)\right)\right) \]
      6. associate-/r*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\color{blue}{{\ell}^{2}}}\right)\right)\right) \]
      7. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\left(\frac{t \cdot {\sin k}^{2}}{\cos k}\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(t \cdot {\sin k}^{2}\right), \cos k\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right)\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({\sin k}^{2}\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      10. pow-lowering-pow.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\sin k, 2\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      11. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \cos k\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      12. cos-lowering-cos.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \left({\ell}^{2}\right)\right)\right)\right) \]
      13. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right)\right) \]
      14. *-lowering-*.f6468.6%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{pow.f64}\left(\mathsf{sin.f64}\left(k\right), 2\right)\right), \mathsf{cos.f64}\left(k\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right)\right) \]
    5. Simplified68.6%

      \[\leadsto \frac{2}{\color{blue}{\left(k \cdot k\right) \cdot \frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{\left(k \cdot k\right) \cdot \frac{t \cdot {\sin k}^{2}}{\cos k}}{\color{blue}{\ell \cdot \ell}}\right)\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot k}{\ell} \cdot \color{blue}{\frac{\frac{t \cdot {\sin k}^{2}}{\cos k}}{\ell}}\right)\right) \]
      3. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot k}{\ell} \cdot \frac{1}{\color{blue}{\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}}}\right)\right) \]
      4. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{\frac{k \cdot k}{\ell}}{\color{blue}{\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}}}\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(\frac{k \cdot k}{\ell}\right), \color{blue}{\left(\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)}\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\left(k \cdot k\right), \ell\right), \left(\frac{\color{blue}{\ell}}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\right)\right) \]
      7. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \left(\frac{\ell}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(\frac{t \cdot {\sin k}^{2}}{\cos k}\right)}\right)\right)\right) \]
      9. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \left(t \cdot \color{blue}{\frac{{\sin k}^{2}}{\cos k}}\right)\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \color{blue}{\left(\frac{{\sin k}^{2}}{\cos k}\right)}\right)\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\frac{\sin k \cdot \sin k}{\cos \color{blue}{k}}\right)\right)\right)\right)\right) \]
      12. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\sin k \cdot \color{blue}{\frac{\sin k}{\cos k}}\right)\right)\right)\right)\right) \]
      13. tan-quotN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \left(\sin k \cdot \tan k\right)\right)\right)\right)\right) \]
      14. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\sin k, \color{blue}{\tan k}\right)\right)\right)\right)\right) \]
      15. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \tan \color{blue}{k}\right)\right)\right)\right)\right) \]
      16. tan-lowering-tan.f6476.4%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \ell\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \mathsf{tan.f64}\left(k\right)\right)\right)\right)\right)\right) \]
    7. Applied egg-rr76.4%

      \[\leadsto \frac{2}{\color{blue}{\frac{\frac{k \cdot k}{\ell}}{\frac{\ell}{t \cdot \left(\sin k \cdot \tan k\right)}}}} \]
    8. Step-by-step derivation
      1. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot \frac{k}{\ell}}{\frac{\color{blue}{\ell}}{t \cdot \left(\sin k \cdot \tan k\right)}}\right)\right) \]
      2. div-invN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k \cdot \frac{k}{\ell}}{\ell \cdot \color{blue}{\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}}}\right)\right) \]
      3. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\frac{k}{\ell} \cdot \color{blue}{\frac{\frac{k}{\ell}}{\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}}}\right)\right) \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\frac{k}{\ell}\right), \color{blue}{\left(\frac{\frac{k}{\ell}}{\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}}\right)}\right)\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\color{blue}{\frac{k}{\ell}}}{\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}}\right)\right)\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\left(\frac{k}{\ell}\right), \color{blue}{\left(\frac{1}{t \cdot \left(\sin k \cdot \tan k\right)}\right)}\right)\right)\right) \]
      7. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\color{blue}{1}}{t \cdot \left(\sin k \cdot \tan k\right)}\right)\right)\right)\right) \]
      8. associate-/r*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \left(\frac{\frac{1}{t}}{\color{blue}{\sin k \cdot \tan k}}\right)\right)\right)\right) \]
      9. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\left(\frac{1}{t}\right), \color{blue}{\left(\sin k \cdot \tan k\right)}\right)\right)\right)\right) \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, t\right), \left(\color{blue}{\sin k} \cdot \tan k\right)\right)\right)\right)\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, t\right), \mathsf{*.f64}\left(\sin k, \color{blue}{\tan k}\right)\right)\right)\right)\right) \]
      12. sin-lowering-sin.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, t\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \tan \color{blue}{k}\right)\right)\right)\right)\right) \]
      13. tan-lowering-tan.f6496.0%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(k, \ell\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(1, t\right), \mathsf{*.f64}\left(\mathsf{sin.f64}\left(k\right), \mathsf{tan.f64}\left(k\right)\right)\right)\right)\right)\right) \]
    9. Applied egg-rr96.0%

      \[\leadsto \frac{2}{\color{blue}{\frac{k}{\ell} \cdot \frac{\frac{k}{\ell}}{\frac{\frac{1}{t}}{\sin k \cdot \tan k}}}} \]
    10. Step-by-step derivation
      1. clear-numN/A

        \[\leadsto \frac{1}{\color{blue}{\frac{\frac{k}{\ell} \cdot \frac{\frac{k}{\ell}}{\frac{\frac{1}{t}}{\sin k \cdot \tan k}}}{2}}} \]
      2. associate-/r/N/A

        \[\leadsto \frac{1}{\frac{k}{\ell} \cdot \frac{\frac{k}{\ell}}{\frac{\frac{1}{t}}{\sin k \cdot \tan k}}} \cdot \color{blue}{2} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{1}{\frac{k}{\ell} \cdot \frac{\frac{k}{\ell}}{\frac{\frac{1}{t}}{\sin k \cdot \tan k}}}\right), \color{blue}{2}\right) \]
    11. Applied egg-rr87.7%

      \[\leadsto \color{blue}{\left(\frac{\frac{\ell}{k}}{k} \cdot \frac{\frac{\ell}{t}}{\sin k \cdot \tan k}\right) \cdot 2} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification83.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq 5 \cdot 10^{-100}:\\ \;\;\;\;\frac{\frac{2}{t}}{\frac{k}{\frac{\ell}{k}}} \cdot \frac{\frac{\ell}{k}}{k}\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \left(\frac{\frac{\ell}{k}}{k} \cdot \frac{\frac{\ell}{t}}{\sin k \cdot \tan k}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 74.0% accurate, 21.0× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \begin{array}{l} \mathbf{if}\;t \leq 4 \cdot 10^{+14}:\\ \;\;\;\;\frac{2}{k\_m} \cdot \frac{\frac{\ell}{t}}{\frac{k\_m}{\frac{\frac{\ell}{k\_m}}{k\_m}}}\\ \mathbf{else}:\\ \;\;\;\;\ell \cdot \frac{\ell \cdot \frac{2}{k\_m}}{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot t\right)\right)}\\ \end{array} \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (if (<= t 4e+14)
   (* (/ 2.0 k_m) (/ (/ l t) (/ k_m (/ (/ l k_m) k_m))))
   (* l (/ (* l (/ 2.0 k_m)) (* k_m (* k_m (* k_m t)))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	double tmp;
	if (t <= 4e+14) {
		tmp = (2.0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)));
	} else {
		tmp = l * ((l * (2.0 / k_m)) / (k_m * (k_m * (k_m * t))));
	}
	return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    real(8) :: tmp
    if (t <= 4d+14) then
        tmp = (2.0d0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)))
    else
        tmp = l * ((l * (2.0d0 / k_m)) / (k_m * (k_m * (k_m * t))))
    end if
    code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	double tmp;
	if (t <= 4e+14) {
		tmp = (2.0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)));
	} else {
		tmp = l * ((l * (2.0 / k_m)) / (k_m * (k_m * (k_m * t))));
	}
	return tmp;
}
k_m = math.fabs(k)
def code(t, l, k_m):
	tmp = 0
	if t <= 4e+14:
		tmp = (2.0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)))
	else:
		tmp = l * ((l * (2.0 / k_m)) / (k_m * (k_m * (k_m * t))))
	return tmp
k_m = abs(k)
function code(t, l, k_m)
	tmp = 0.0
	if (t <= 4e+14)
		tmp = Float64(Float64(2.0 / k_m) * Float64(Float64(l / t) / Float64(k_m / Float64(Float64(l / k_m) / k_m))));
	else
		tmp = Float64(l * Float64(Float64(l * Float64(2.0 / k_m)) / Float64(k_m * Float64(k_m * Float64(k_m * t)))));
	end
	return tmp
end
k_m = abs(k);
function tmp_2 = code(t, l, k_m)
	tmp = 0.0;
	if (t <= 4e+14)
		tmp = (2.0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)));
	else
		tmp = l * ((l * (2.0 / k_m)) / (k_m * (k_m * (k_m * t))));
	end
	tmp_2 = tmp;
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := If[LessEqual[t, 4e+14], N[(N[(2.0 / k$95$m), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] / N[(k$95$m / N[(N[(l / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(l * N[(N[(l * N[(2.0 / k$95$m), $MachinePrecision]), $MachinePrecision] / N[(k$95$m * N[(k$95$m * N[(k$95$m * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|

\\
\begin{array}{l}
\mathbf{if}\;t \leq 4 \cdot 10^{+14}:\\
\;\;\;\;\frac{2}{k\_m} \cdot \frac{\frac{\ell}{t}}{\frac{k\_m}{\frac{\frac{\ell}{k\_m}}{k\_m}}}\\

\mathbf{else}:\\
\;\;\;\;\ell \cdot \frac{\ell \cdot \frac{2}{k\_m}}{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot t\right)\right)}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t < 4e14

    1. Initial program 41.5%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in k around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      5. pow-sqrN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      9. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
      12. *-lowering-*.f6458.2%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
    5. Simplified58.2%

      \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. remove-double-negN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}\right)\right)\right)\right)\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      3. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      4. distribute-lft-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right) \cdot \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right), \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      6. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(0 - \frac{t}{\ell}\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      7. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \left(\frac{t}{\ell}\right)\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\color{blue}{\ell}}\right)\right)\right)\right) \]
      9. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(0 - \color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right) \]
      10. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \color{blue}{\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right) \]
      11. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(\frac{k \cdot \left(k \cdot \left(k \cdot k\right)\right)}{\ell}\right)\right)\right)\right) \]
      12. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(k \cdot \color{blue}{\frac{k \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \color{blue}{\left(\frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\left(k \cdot \left(k \cdot k\right)\right), \color{blue}{\ell}\right)\right)\right)\right)\right) \]
      15. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \left(k \cdot k\right)\right), \ell\right)\right)\right)\right)\right) \]
      16. *-lowering-*.f6453.2%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right), \ell\right)\right)\right)\right)\right) \]
    7. Applied egg-rr53.2%

      \[\leadsto \frac{2}{\color{blue}{\left(0 - \frac{t}{\ell}\right) \cdot \left(0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}} \]
    8. Step-by-step derivation
      1. associate-/r*N/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\color{blue}{0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      2. sub0-negN/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\mathsf{neg}\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)} \]
      3. distribute-frac-neg2N/A

        \[\leadsto \mathsf{neg}\left(\frac{\frac{2}{0 - \frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}\right) \]
      4. distribute-frac-negN/A

        \[\leadsto \frac{\mathsf{neg}\left(\frac{2}{0 - \frac{t}{\ell}}\right)}{\color{blue}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      5. distribute-frac-neg2N/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(0 - \frac{t}{\ell}\right)\right)}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      6. sub0-negN/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right)\right)}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      7. remove-double-negN/A

        \[\leadsto \frac{\frac{2}{\frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      8. un-div-invN/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      9. clear-numN/A

        \[\leadsto \frac{2 \cdot \frac{\ell}{t}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{\ell}{t}\right), \color{blue}{\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right) \]
      11. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{1}{\frac{t}{\ell}}\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      12. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{2}{\frac{t}{\ell}}\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      13. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \left(\frac{t}{\ell}\right)\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      15. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \left(k \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right)\right) \]
      16. associate-*r*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right) \]
      17. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \frac{1}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      18. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\frac{k \cdot k}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      19. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\left(k \cdot k\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right)\right) \]
      20. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right)\right) \]
      21. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(k \cdot k\right)}\right)\right)\right) \]
    9. Applied egg-rr72.4%

      \[\leadsto \color{blue}{\frac{\frac{2}{\frac{t}{\ell}}}{\frac{k \cdot k}{\frac{\ell}{k \cdot k}}}} \]
    10. Step-by-step derivation
      1. div-invN/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{\frac{\color{blue}{k \cdot k}}{\frac{\ell}{k \cdot k}}} \]
      2. associate-/l*N/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{k \cdot \color{blue}{\frac{k}{\frac{\ell}{k \cdot k}}}} \]
      3. times-fracN/A

        \[\leadsto \frac{2}{k} \cdot \color{blue}{\frac{\frac{1}{\frac{t}{\ell}}}{\frac{k}{\frac{\ell}{k \cdot k}}}} \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{k}\right), \color{blue}{\left(\frac{\frac{1}{\frac{t}{\ell}}}{\frac{k}{\frac{\ell}{k \cdot k}}}\right)}\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \left(\frac{\color{blue}{\frac{1}{\frac{t}{\ell}}}}{\frac{k}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      6. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \left(\frac{\frac{1}{\frac{t}{\ell}}}{\frac{k}{\frac{\frac{\ell}{k}}{\color{blue}{k}}}}\right)\right) \]
      7. associate-/r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \left(\frac{\frac{1}{\frac{t}{\ell}}}{\frac{k}{\frac{\ell}{k}} \cdot \color{blue}{k}}\right)\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \left(\frac{\frac{1}{\frac{t}{\ell}}}{k \cdot \color{blue}{\frac{k}{\frac{\ell}{k}}}}\right)\right) \]
      9. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\left(\frac{1}{\frac{t}{\ell}}\right), \color{blue}{\left(k \cdot \frac{k}{\frac{\ell}{k}}\right)}\right)\right) \]
      10. clear-numN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\left(\frac{\ell}{t}\right), \left(\color{blue}{k} \cdot \frac{k}{\frac{\ell}{k}}\right)\right)\right) \]
      11. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(\color{blue}{k} \cdot \frac{k}{\frac{\ell}{k}}\right)\right)\right) \]
      12. clear-numN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(k \cdot \frac{1}{\color{blue}{\frac{\frac{\ell}{k}}{k}}}\right)\right)\right) \]
      13. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(k \cdot \frac{1}{\frac{\ell}{\color{blue}{k \cdot k}}}\right)\right)\right) \]
      14. div-invN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(\frac{k}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right)\right) \]
      15. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{/.f64}\left(k, \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right)\right)\right) \]
      16. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{/.f64}\left(k, \left(\frac{\frac{\ell}{k}}{\color{blue}{k}}\right)\right)\right)\right) \]
      17. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\left(\frac{\ell}{k}\right), \color{blue}{k}\right)\right)\right)\right) \]
      18. /-lowering-/.f6475.0%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, k\right), k\right)\right)\right)\right) \]
    11. Applied egg-rr75.0%

      \[\leadsto \color{blue}{\frac{2}{k} \cdot \frac{\frac{\ell}{t}}{\frac{k}{\frac{\frac{\ell}{k}}{k}}}} \]

    if 4e14 < t

    1. Initial program 23.2%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in k around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      5. pow-sqrN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      9. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
      12. *-lowering-*.f6460.6%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
    5. Simplified60.6%

      \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. associate-/r/N/A

        \[\leadsto \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \color{blue}{\left(\ell \cdot \ell\right)} \]
      2. associate-*r*N/A

        \[\leadsto \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right) \cdot \color{blue}{\ell} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right), \color{blue}{\ell}\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\left(\ell \cdot \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)\right)\right)\right), \ell\right) \]
      7. associate-*l*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(k \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot \left(k \cdot k\right)\right) \cdot k\right)\right)\right)\right), \ell\right) \]
      9. associate-*r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(\left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right) \cdot k\right)\right)\right), \ell\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      14. *-lowering-*.f6462.8%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right)\right)\right)\right)\right), \ell\right) \]
    7. Applied egg-rr62.8%

      \[\leadsto \color{blue}{\left(\ell \cdot \frac{2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right) \cdot \ell} \]
    8. Step-by-step derivation
      1. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)} \cdot \ell\right), \ell\right) \]
      2. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{2}{k}}{t \cdot \left(k \cdot \left(k \cdot k\right)\right)} \cdot \ell\right), \ell\right) \]
      3. associate-*l/N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{2}{k} \cdot \ell}{t \cdot \left(k \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
      4. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\frac{2}{k} \cdot \ell\right), \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right), \ell\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\left(\frac{2}{k}\right), \ell\right), \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right), \ell\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \ell\right), \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right), \ell\right) \]
      7. associate-*r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \ell\right), \left(\left(t \cdot k\right) \cdot \left(k \cdot k\right)\right)\right), \ell\right) \]
      8. associate-*r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \ell\right), \left(\left(\left(t \cdot k\right) \cdot k\right) \cdot k\right)\right), \ell\right) \]
      9. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \ell\right), \left(\left(\left(k \cdot t\right) \cdot k\right) \cdot k\right)\right), \ell\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \ell\right), \mathsf{*.f64}\left(\left(\left(k \cdot t\right) \cdot k\right), k\right)\right), \ell\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \ell\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(k \cdot t\right), k\right), k\right)\right), \ell\right) \]
      12. *-lowering-*.f6467.0%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \ell\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(k, t\right), k\right), k\right)\right), \ell\right) \]
    9. Applied egg-rr67.0%

      \[\leadsto \color{blue}{\frac{\frac{2}{k} \cdot \ell}{\left(\left(k \cdot t\right) \cdot k\right) \cdot k}} \cdot \ell \]
  3. Recombined 2 regimes into one program.
  4. Final simplification72.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq 4 \cdot 10^{+14}:\\ \;\;\;\;\frac{2}{k} \cdot \frac{\frac{\ell}{t}}{\frac{k}{\frac{\frac{\ell}{k}}{k}}}\\ \mathbf{else}:\\ \;\;\;\;\ell \cdot \frac{\ell \cdot \frac{2}{k}}{k \cdot \left(k \cdot \left(k \cdot t\right)\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 73.9% accurate, 21.0× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \begin{array}{l} \mathbf{if}\;t \leq 1.2 \cdot 10^{+17}:\\ \;\;\;\;\frac{2}{k\_m} \cdot \frac{\frac{\ell}{t}}{\frac{k\_m}{\frac{\frac{\ell}{k\_m}}{k\_m}}}\\ \mathbf{else}:\\ \;\;\;\;\ell \cdot \left(\frac{\ell}{k\_m} \cdot \frac{2}{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot t\right)\right)}\right)\\ \end{array} \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (if (<= t 1.2e+17)
   (* (/ 2.0 k_m) (/ (/ l t) (/ k_m (/ (/ l k_m) k_m))))
   (* l (* (/ l k_m) (/ 2.0 (* k_m (* k_m (* k_m t))))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	double tmp;
	if (t <= 1.2e+17) {
		tmp = (2.0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)));
	} else {
		tmp = l * ((l / k_m) * (2.0 / (k_m * (k_m * (k_m * t)))));
	}
	return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    real(8) :: tmp
    if (t <= 1.2d+17) then
        tmp = (2.0d0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)))
    else
        tmp = l * ((l / k_m) * (2.0d0 / (k_m * (k_m * (k_m * t)))))
    end if
    code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	double tmp;
	if (t <= 1.2e+17) {
		tmp = (2.0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)));
	} else {
		tmp = l * ((l / k_m) * (2.0 / (k_m * (k_m * (k_m * t)))));
	}
	return tmp;
}
k_m = math.fabs(k)
def code(t, l, k_m):
	tmp = 0
	if t <= 1.2e+17:
		tmp = (2.0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)))
	else:
		tmp = l * ((l / k_m) * (2.0 / (k_m * (k_m * (k_m * t)))))
	return tmp
k_m = abs(k)
function code(t, l, k_m)
	tmp = 0.0
	if (t <= 1.2e+17)
		tmp = Float64(Float64(2.0 / k_m) * Float64(Float64(l / t) / Float64(k_m / Float64(Float64(l / k_m) / k_m))));
	else
		tmp = Float64(l * Float64(Float64(l / k_m) * Float64(2.0 / Float64(k_m * Float64(k_m * Float64(k_m * t))))));
	end
	return tmp
end
k_m = abs(k);
function tmp_2 = code(t, l, k_m)
	tmp = 0.0;
	if (t <= 1.2e+17)
		tmp = (2.0 / k_m) * ((l / t) / (k_m / ((l / k_m) / k_m)));
	else
		tmp = l * ((l / k_m) * (2.0 / (k_m * (k_m * (k_m * t)))));
	end
	tmp_2 = tmp;
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := If[LessEqual[t, 1.2e+17], N[(N[(2.0 / k$95$m), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] / N[(k$95$m / N[(N[(l / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(l * N[(N[(l / k$95$m), $MachinePrecision] * N[(2.0 / N[(k$95$m * N[(k$95$m * N[(k$95$m * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|

\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.2 \cdot 10^{+17}:\\
\;\;\;\;\frac{2}{k\_m} \cdot \frac{\frac{\ell}{t}}{\frac{k\_m}{\frac{\frac{\ell}{k\_m}}{k\_m}}}\\

\mathbf{else}:\\
\;\;\;\;\ell \cdot \left(\frac{\ell}{k\_m} \cdot \frac{2}{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot t\right)\right)}\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t < 1.2e17

    1. Initial program 41.5%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in k around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      5. pow-sqrN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      9. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
      12. *-lowering-*.f6458.2%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
    5. Simplified58.2%

      \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. remove-double-negN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}\right)\right)\right)\right)\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      3. distribute-rgt-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
      4. distribute-lft-neg-inN/A

        \[\leadsto \mathsf{/.f64}\left(2, \left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right) \cdot \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right), \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
      6. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(0 - \frac{t}{\ell}\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      7. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \left(\frac{t}{\ell}\right)\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      8. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\color{blue}{\ell}}\right)\right)\right)\right) \]
      9. neg-sub0N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(0 - \color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right) \]
      10. --lowering--.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \color{blue}{\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right) \]
      11. associate-*l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(\frac{k \cdot \left(k \cdot \left(k \cdot k\right)\right)}{\ell}\right)\right)\right)\right) \]
      12. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(k \cdot \color{blue}{\frac{k \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \color{blue}{\left(\frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\left(k \cdot \left(k \cdot k\right)\right), \color{blue}{\ell}\right)\right)\right)\right)\right) \]
      15. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \left(k \cdot k\right)\right), \ell\right)\right)\right)\right)\right) \]
      16. *-lowering-*.f6453.2%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right), \ell\right)\right)\right)\right)\right) \]
    7. Applied egg-rr53.2%

      \[\leadsto \frac{2}{\color{blue}{\left(0 - \frac{t}{\ell}\right) \cdot \left(0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}} \]
    8. Step-by-step derivation
      1. associate-/r*N/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\color{blue}{0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      2. sub0-negN/A

        \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\mathsf{neg}\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)} \]
      3. distribute-frac-neg2N/A

        \[\leadsto \mathsf{neg}\left(\frac{\frac{2}{0 - \frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}\right) \]
      4. distribute-frac-negN/A

        \[\leadsto \frac{\mathsf{neg}\left(\frac{2}{0 - \frac{t}{\ell}}\right)}{\color{blue}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
      5. distribute-frac-neg2N/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(0 - \frac{t}{\ell}\right)\right)}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      6. sub0-negN/A

        \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right)\right)}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      7. remove-double-negN/A

        \[\leadsto \frac{\frac{2}{\frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      8. un-div-invN/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      9. clear-numN/A

        \[\leadsto \frac{2 \cdot \frac{\ell}{t}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
      10. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{\ell}{t}\right), \color{blue}{\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right) \]
      11. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{1}{\frac{t}{\ell}}\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      12. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\left(\frac{2}{\frac{t}{\ell}}\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      13. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \left(\frac{t}{\ell}\right)\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      14. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
      15. associate-/l*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \left(k \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right)\right) \]
      16. associate-*r*N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right) \]
      17. clear-numN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \frac{1}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      18. un-div-invN/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\frac{k \cdot k}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      19. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\left(k \cdot k\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right)\right) \]
      20. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right)\right) \]
      21. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(k \cdot k\right)}\right)\right)\right) \]
    9. Applied egg-rr72.4%

      \[\leadsto \color{blue}{\frac{\frac{2}{\frac{t}{\ell}}}{\frac{k \cdot k}{\frac{\ell}{k \cdot k}}}} \]
    10. Step-by-step derivation
      1. div-invN/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{\frac{\color{blue}{k \cdot k}}{\frac{\ell}{k \cdot k}}} \]
      2. associate-/l*N/A

        \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{k \cdot \color{blue}{\frac{k}{\frac{\ell}{k \cdot k}}}} \]
      3. times-fracN/A

        \[\leadsto \frac{2}{k} \cdot \color{blue}{\frac{\frac{1}{\frac{t}{\ell}}}{\frac{k}{\frac{\ell}{k \cdot k}}}} \]
      4. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{k}\right), \color{blue}{\left(\frac{\frac{1}{\frac{t}{\ell}}}{\frac{k}{\frac{\ell}{k \cdot k}}}\right)}\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \left(\frac{\color{blue}{\frac{1}{\frac{t}{\ell}}}}{\frac{k}{\frac{\ell}{k \cdot k}}}\right)\right) \]
      6. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \left(\frac{\frac{1}{\frac{t}{\ell}}}{\frac{k}{\frac{\frac{\ell}{k}}{\color{blue}{k}}}}\right)\right) \]
      7. associate-/r/N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \left(\frac{\frac{1}{\frac{t}{\ell}}}{\frac{k}{\frac{\ell}{k}} \cdot \color{blue}{k}}\right)\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \left(\frac{\frac{1}{\frac{t}{\ell}}}{k \cdot \color{blue}{\frac{k}{\frac{\ell}{k}}}}\right)\right) \]
      9. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\left(\frac{1}{\frac{t}{\ell}}\right), \color{blue}{\left(k \cdot \frac{k}{\frac{\ell}{k}}\right)}\right)\right) \]
      10. clear-numN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\left(\frac{\ell}{t}\right), \left(\color{blue}{k} \cdot \frac{k}{\frac{\ell}{k}}\right)\right)\right) \]
      11. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(\color{blue}{k} \cdot \frac{k}{\frac{\ell}{k}}\right)\right)\right) \]
      12. clear-numN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(k \cdot \frac{1}{\color{blue}{\frac{\frac{\ell}{k}}{k}}}\right)\right)\right) \]
      13. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(k \cdot \frac{1}{\frac{\ell}{\color{blue}{k \cdot k}}}\right)\right)\right) \]
      14. div-invN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \left(\frac{k}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right)\right) \]
      15. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{/.f64}\left(k, \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right)\right)\right) \]
      16. associate-/r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{/.f64}\left(k, \left(\frac{\frac{\ell}{k}}{\color{blue}{k}}\right)\right)\right)\right) \]
      17. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\left(\frac{\ell}{k}\right), \color{blue}{k}\right)\right)\right)\right) \]
      18. /-lowering-/.f6475.0%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(2, k\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, k\right), k\right)\right)\right)\right) \]
    11. Applied egg-rr75.0%

      \[\leadsto \color{blue}{\frac{2}{k} \cdot \frac{\frac{\ell}{t}}{\frac{k}{\frac{\frac{\ell}{k}}{k}}}} \]

    if 1.2e17 < t

    1. Initial program 23.2%

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
    2. Add Preprocessing
    3. Taylor expanded in k around 0

      \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
    4. Step-by-step derivation
      1. /-lowering-/.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
      2. *-commutativeN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
      4. metadata-evalN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      5. pow-sqrN/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      6. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      7. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      8. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      9. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
      11. unpow2N/A

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
      12. *-lowering-*.f6460.6%

        \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
    5. Simplified60.6%

      \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
    6. Step-by-step derivation
      1. associate-/r/N/A

        \[\leadsto \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \color{blue}{\left(\ell \cdot \ell\right)} \]
      2. associate-*r*N/A

        \[\leadsto \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right) \cdot \color{blue}{\ell} \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right), \color{blue}{\ell}\right) \]
      4. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\left(\ell \cdot \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
      5. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
      6. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)\right)\right)\right), \ell\right) \]
      7. associate-*l*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(k \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot \left(k \cdot k\right)\right) \cdot k\right)\right)\right)\right), \ell\right) \]
      9. associate-*r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(\left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right) \cdot k\right)\right)\right), \ell\right) \]
      10. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      11. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      12. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      13. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
      14. *-lowering-*.f6462.8%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right)\right)\right)\right)\right), \ell\right) \]
    7. Applied egg-rr62.8%

      \[\leadsto \color{blue}{\left(\ell \cdot \frac{2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right) \cdot \ell} \]
    8. Step-by-step derivation
      1. associate-*r/N/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\ell \cdot 2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right), \ell\right) \]
      2. times-fracN/A

        \[\leadsto \mathsf{*.f64}\left(\left(\frac{\ell}{k} \cdot \frac{2}{t \cdot \left(k \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
      3. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(\frac{\ell}{k}\right), \left(\frac{2}{t \cdot \left(k \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
      4. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \left(\frac{2}{t \cdot \left(k \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
      5. /-lowering-/.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right), \ell\right) \]
      6. associate-*r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \left(\left(t \cdot k\right) \cdot \left(k \cdot k\right)\right)\right)\right), \ell\right) \]
      7. associate-*r*N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \left(\left(\left(t \cdot k\right) \cdot k\right) \cdot k\right)\right)\right), \ell\right) \]
      8. *-commutativeN/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \left(\left(\left(k \cdot t\right) \cdot k\right) \cdot k\right)\right)\right), \ell\right) \]
      9. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\left(k \cdot t\right) \cdot k\right), k\right)\right)\right), \ell\right) \]
      10. *-lowering-*.f64N/A

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(k \cdot t\right), k\right), k\right)\right)\right), \ell\right) \]
      11. *-lowering-*.f6467.0%

        \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(k, t\right), k\right), k\right)\right)\right), \ell\right) \]
    9. Applied egg-rr67.0%

      \[\leadsto \color{blue}{\left(\frac{\ell}{k} \cdot \frac{2}{\left(\left(k \cdot t\right) \cdot k\right) \cdot k}\right)} \cdot \ell \]
  3. Recombined 2 regimes into one program.
  4. Final simplification72.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq 1.2 \cdot 10^{+17}:\\ \;\;\;\;\frac{2}{k} \cdot \frac{\frac{\ell}{t}}{\frac{k}{\frac{\frac{\ell}{k}}{k}}}\\ \mathbf{else}:\\ \;\;\;\;\ell \cdot \left(\frac{\ell}{k} \cdot \frac{2}{k \cdot \left(k \cdot \left(k \cdot t\right)\right)}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 6: 76.3% accurate, 28.1× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \frac{\frac{2}{t}}{\frac{k\_m}{\frac{\ell}{k\_m}}} \cdot \frac{\frac{\ell}{k\_m}}{k\_m} \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (* (/ (/ 2.0 t) (/ k_m (/ l k_m))) (/ (/ l k_m) k_m)))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	return ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    code = ((2.0d0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m)
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	return ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
}
k_m = math.fabs(k)
def code(t, l, k_m):
	return ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m)
k_m = abs(k)
function code(t, l, k_m)
	return Float64(Float64(Float64(2.0 / t) / Float64(k_m / Float64(l / k_m))) * Float64(Float64(l / k_m) / k_m))
end
k_m = abs(k);
function tmp = code(t, l, k_m)
	tmp = ((2.0 / t) / (k_m / (l / k_m))) * ((l / k_m) / k_m);
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := N[(N[(N[(2.0 / t), $MachinePrecision] / N[(k$95$m / N[(l / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|

\\
\frac{\frac{2}{t}}{\frac{k\_m}{\frac{\ell}{k\_m}}} \cdot \frac{\frac{\ell}{k\_m}}{k\_m}
\end{array}
Derivation
  1. Initial program 36.6%

    \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
  2. Add Preprocessing
  3. Taylor expanded in k around 0

    \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
  4. Step-by-step derivation
    1. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
    2. *-commutativeN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
    4. metadata-evalN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    5. pow-sqrN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    6. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    7. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    8. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    9. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    10. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    11. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
    12. *-lowering-*.f6458.8%

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
  5. Simplified58.8%

    \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
  6. Step-by-step derivation
    1. remove-double-negN/A

      \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}\right)\right)\right)\right)\right) \]
    2. times-fracN/A

      \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
    3. distribute-rgt-neg-inN/A

      \[\leadsto \mathsf{/.f64}\left(2, \left(\mathsf{neg}\left(\frac{t}{\ell} \cdot \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)\right)\right)\right) \]
    4. distribute-lft-neg-inN/A

      \[\leadsto \mathsf{/.f64}\left(2, \left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right) \cdot \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
    5. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right), \color{blue}{\left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)\right)}\right)\right) \]
    6. neg-sub0N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(0 - \frac{t}{\ell}\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
    7. --lowering--.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \left(\frac{t}{\ell}\right)\right), \left(\mathsf{neg}\left(\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
    8. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\mathsf{neg}\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\color{blue}{\ell}}\right)\right)\right)\right) \]
    9. neg-sub0N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \left(0 - \color{blue}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right) \]
    10. --lowering--.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \color{blue}{\left(\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right) \]
    11. associate-*l*N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(\frac{k \cdot \left(k \cdot \left(k \cdot k\right)\right)}{\ell}\right)\right)\right)\right) \]
    12. associate-/l*N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \left(k \cdot \color{blue}{\frac{k \cdot \left(k \cdot k\right)}{\ell}}\right)\right)\right)\right) \]
    13. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \color{blue}{\left(\frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right)\right)\right)\right) \]
    14. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\left(k \cdot \left(k \cdot k\right)\right), \color{blue}{\ell}\right)\right)\right)\right)\right) \]
    15. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \left(k \cdot k\right)\right), \ell\right)\right)\right)\right)\right) \]
    16. *-lowering-*.f6451.8%

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{\_.f64}\left(0, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{\_.f64}\left(0, \mathsf{*.f64}\left(k, \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right), \ell\right)\right)\right)\right)\right) \]
  7. Applied egg-rr51.8%

    \[\leadsto \frac{2}{\color{blue}{\left(0 - \frac{t}{\ell}\right) \cdot \left(0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}} \]
  8. Step-by-step derivation
    1. associate-/r*N/A

      \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\color{blue}{0 - k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
    2. sub0-negN/A

      \[\leadsto \frac{\frac{2}{0 - \frac{t}{\ell}}}{\mathsf{neg}\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)} \]
    3. distribute-frac-neg2N/A

      \[\leadsto \mathsf{neg}\left(\frac{\frac{2}{0 - \frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}\right) \]
    4. distribute-frac-negN/A

      \[\leadsto \frac{\mathsf{neg}\left(\frac{2}{0 - \frac{t}{\ell}}\right)}{\color{blue}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}}} \]
    5. distribute-frac-neg2N/A

      \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(0 - \frac{t}{\ell}\right)\right)}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
    6. sub0-negN/A

      \[\leadsto \frac{\frac{2}{\mathsf{neg}\left(\left(\mathsf{neg}\left(\frac{t}{\ell}\right)\right)\right)}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
    7. remove-double-negN/A

      \[\leadsto \frac{\frac{2}{\frac{t}{\ell}}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
    8. un-div-invN/A

      \[\leadsto \frac{2 \cdot \frac{1}{\frac{t}{\ell}}}{\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
    9. clear-numN/A

      \[\leadsto \frac{2 \cdot \frac{\ell}{t}}{k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}} \]
    10. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{\ell}{t}\right), \color{blue}{\left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)}\right) \]
    11. clear-numN/A

      \[\leadsto \mathsf{/.f64}\left(\left(2 \cdot \frac{1}{\frac{t}{\ell}}\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
    12. un-div-invN/A

      \[\leadsto \mathsf{/.f64}\left(\left(\frac{2}{\frac{t}{\ell}}\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
    13. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \left(\frac{t}{\ell}\right)\right), \left(\color{blue}{k} \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
    14. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \frac{k \cdot \left(k \cdot k\right)}{\ell}\right)\right) \]
    15. associate-/l*N/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(k \cdot \left(k \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right)\right) \]
    16. associate-*r*N/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \color{blue}{\frac{k \cdot k}{\ell}}\right)\right) \]
    17. clear-numN/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\left(k \cdot k\right) \cdot \frac{1}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
    18. un-div-invN/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \left(\frac{k \cdot k}{\color{blue}{\frac{\ell}{k \cdot k}}}\right)\right) \]
    19. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\left(k \cdot k\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right)\right) \]
    20. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right)\right) \]
    21. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(\mathsf{/.f64}\left(2, \mathsf{/.f64}\left(t, \ell\right)\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{/.f64}\left(\ell, \color{blue}{\left(k \cdot k\right)}\right)\right)\right) \]
  9. Applied egg-rr69.4%

    \[\leadsto \color{blue}{\frac{\frac{2}{\frac{t}{\ell}}}{\frac{k \cdot k}{\frac{\ell}{k \cdot k}}}} \]
  10. Step-by-step derivation
    1. associate-/r/N/A

      \[\leadsto \frac{\frac{2}{t} \cdot \ell}{\frac{\color{blue}{k \cdot k}}{\frac{\ell}{k \cdot k}}} \]
    2. associate-/r/N/A

      \[\leadsto \frac{\frac{2}{t} \cdot \ell}{\frac{k \cdot k}{\ell} \cdot \color{blue}{\left(k \cdot k\right)}} \]
    3. times-fracN/A

      \[\leadsto \frac{\frac{2}{t}}{\frac{k \cdot k}{\ell}} \cdot \color{blue}{\frac{\ell}{k \cdot k}} \]
    4. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{\frac{2}{t}}{\frac{k \cdot k}{\ell}}\right), \color{blue}{\left(\frac{\ell}{k \cdot k}\right)}\right) \]
    5. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\left(\frac{2}{t}\right), \left(\frac{k \cdot k}{\ell}\right)\right), \left(\frac{\color{blue}{\ell}}{k \cdot k}\right)\right) \]
    6. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k \cdot k}{\ell}\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
    7. associate-*l/N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k}{\ell} \cdot k\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
    8. associate-/r/N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \left(\frac{k}{\frac{\ell}{k}}\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
    9. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \left(\frac{\ell}{k}\right)\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
    10. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \left(\frac{\ell}{k \cdot k}\right)\right) \]
    11. associate-/r*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \left(\frac{\frac{\ell}{k}}{\color{blue}{k}}\right)\right) \]
    12. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \mathsf{/.f64}\left(\left(\frac{\ell}{k}\right), \color{blue}{k}\right)\right) \]
    13. /-lowering-/.f6475.5%

      \[\leadsto \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, t\right), \mathsf{/.f64}\left(k, \mathsf{/.f64}\left(\ell, k\right)\right)\right), \mathsf{/.f64}\left(\mathsf{/.f64}\left(\ell, k\right), k\right)\right) \]
  11. Applied egg-rr75.5%

    \[\leadsto \color{blue}{\frac{\frac{2}{t}}{\frac{k}{\frac{\ell}{k}}} \cdot \frac{\frac{\ell}{k}}{k}} \]
  12. Add Preprocessing

Alternative 7: 71.9% accurate, 28.1× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \ell \cdot \left(\frac{\ell}{k\_m} \cdot \frac{2}{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot t\right)\right)}\right) \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (* l (* (/ l k_m) (/ 2.0 (* k_m (* k_m (* k_m t)))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	return l * ((l / k_m) * (2.0 / (k_m * (k_m * (k_m * t)))));
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    code = l * ((l / k_m) * (2.0d0 / (k_m * (k_m * (k_m * t)))))
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	return l * ((l / k_m) * (2.0 / (k_m * (k_m * (k_m * t)))));
}
k_m = math.fabs(k)
def code(t, l, k_m):
	return l * ((l / k_m) * (2.0 / (k_m * (k_m * (k_m * t)))))
k_m = abs(k)
function code(t, l, k_m)
	return Float64(l * Float64(Float64(l / k_m) * Float64(2.0 / Float64(k_m * Float64(k_m * Float64(k_m * t))))))
end
k_m = abs(k);
function tmp = code(t, l, k_m)
	tmp = l * ((l / k_m) * (2.0 / (k_m * (k_m * (k_m * t)))));
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := N[(l * N[(N[(l / k$95$m), $MachinePrecision] * N[(2.0 / N[(k$95$m * N[(k$95$m * N[(k$95$m * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|

\\
\ell \cdot \left(\frac{\ell}{k\_m} \cdot \frac{2}{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot t\right)\right)}\right)
\end{array}
Derivation
  1. Initial program 36.6%

    \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
  2. Add Preprocessing
  3. Taylor expanded in k around 0

    \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
  4. Step-by-step derivation
    1. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
    2. *-commutativeN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
    4. metadata-evalN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    5. pow-sqrN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    6. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    7. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    8. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    9. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    10. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    11. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
    12. *-lowering-*.f6458.8%

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
  5. Simplified58.8%

    \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
  6. Step-by-step derivation
    1. associate-/r/N/A

      \[\leadsto \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \color{blue}{\left(\ell \cdot \ell\right)} \]
    2. associate-*r*N/A

      \[\leadsto \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right) \cdot \color{blue}{\ell} \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right), \color{blue}{\ell}\right) \]
    4. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\left(\ell \cdot \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
    5. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
    6. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)\right)\right)\right), \ell\right) \]
    7. associate-*l*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(k \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    8. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot \left(k \cdot k\right)\right) \cdot k\right)\right)\right)\right), \ell\right) \]
    9. associate-*r*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(\left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right) \cdot k\right)\right)\right), \ell\right) \]
    10. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    11. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    12. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    13. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    14. *-lowering-*.f6467.5%

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right)\right)\right)\right)\right), \ell\right) \]
  7. Applied egg-rr67.5%

    \[\leadsto \color{blue}{\left(\ell \cdot \frac{2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right) \cdot \ell} \]
  8. Step-by-step derivation
    1. associate-*r/N/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{\ell \cdot 2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right), \ell\right) \]
    2. times-fracN/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{\ell}{k} \cdot \frac{2}{t \cdot \left(k \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(\frac{\ell}{k}\right), \left(\frac{2}{t \cdot \left(k \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
    4. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \left(\frac{2}{t \cdot \left(k \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
    5. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right), \ell\right) \]
    6. associate-*r*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \left(\left(t \cdot k\right) \cdot \left(k \cdot k\right)\right)\right)\right), \ell\right) \]
    7. associate-*r*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \left(\left(\left(t \cdot k\right) \cdot k\right) \cdot k\right)\right)\right), \ell\right) \]
    8. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \left(\left(\left(k \cdot t\right) \cdot k\right) \cdot k\right)\right)\right), \ell\right) \]
    9. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\left(\left(k \cdot t\right) \cdot k\right), k\right)\right)\right), \ell\right) \]
    10. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(k \cdot t\right), k\right), k\right)\right)\right), \ell\right) \]
    11. *-lowering-*.f6469.6%

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\ell, k\right), \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(k, t\right), k\right), k\right)\right)\right), \ell\right) \]
  9. Applied egg-rr69.6%

    \[\leadsto \color{blue}{\left(\frac{\ell}{k} \cdot \frac{2}{\left(\left(k \cdot t\right) \cdot k\right) \cdot k}\right)} \cdot \ell \]
  10. Final simplification69.6%

    \[\leadsto \ell \cdot \left(\frac{\ell}{k} \cdot \frac{2}{k \cdot \left(k \cdot \left(k \cdot t\right)\right)}\right) \]
  11. Add Preprocessing

Alternative 8: 71.1% accurate, 28.1× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \ell \cdot \left(\frac{2}{k\_m \cdot t} \cdot \frac{\ell}{k\_m \cdot \left(k\_m \cdot k\_m\right)}\right) \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (* l (* (/ 2.0 (* k_m t)) (/ l (* k_m (* k_m k_m))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	return l * ((2.0 / (k_m * t)) * (l / (k_m * (k_m * k_m))));
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    code = l * ((2.0d0 / (k_m * t)) * (l / (k_m * (k_m * k_m))))
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	return l * ((2.0 / (k_m * t)) * (l / (k_m * (k_m * k_m))));
}
k_m = math.fabs(k)
def code(t, l, k_m):
	return l * ((2.0 / (k_m * t)) * (l / (k_m * (k_m * k_m))))
k_m = abs(k)
function code(t, l, k_m)
	return Float64(l * Float64(Float64(2.0 / Float64(k_m * t)) * Float64(l / Float64(k_m * Float64(k_m * k_m)))))
end
k_m = abs(k);
function tmp = code(t, l, k_m)
	tmp = l * ((2.0 / (k_m * t)) * (l / (k_m * (k_m * k_m))));
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := N[(l * N[(N[(2.0 / N[(k$95$m * t), $MachinePrecision]), $MachinePrecision] * N[(l / N[(k$95$m * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|

\\
\ell \cdot \left(\frac{2}{k\_m \cdot t} \cdot \frac{\ell}{k\_m \cdot \left(k\_m \cdot k\_m\right)}\right)
\end{array}
Derivation
  1. Initial program 36.6%

    \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
  2. Add Preprocessing
  3. Taylor expanded in k around 0

    \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
  4. Step-by-step derivation
    1. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
    2. *-commutativeN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
    4. metadata-evalN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    5. pow-sqrN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    6. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    7. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    8. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    9. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    10. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    11. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
    12. *-lowering-*.f6458.8%

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
  5. Simplified58.8%

    \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
  6. Step-by-step derivation
    1. associate-/r/N/A

      \[\leadsto \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \color{blue}{\left(\ell \cdot \ell\right)} \]
    2. associate-*r*N/A

      \[\leadsto \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right) \cdot \color{blue}{\ell} \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right), \color{blue}{\ell}\right) \]
    4. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\left(\ell \cdot \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
    5. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
    6. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)\right)\right)\right), \ell\right) \]
    7. associate-*l*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(k \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    8. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot \left(k \cdot k\right)\right) \cdot k\right)\right)\right)\right), \ell\right) \]
    9. associate-*r*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(\left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right) \cdot k\right)\right)\right), \ell\right) \]
    10. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    11. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    12. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    13. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    14. *-lowering-*.f6467.5%

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right)\right)\right)\right)\right), \ell\right) \]
  7. Applied egg-rr67.5%

    \[\leadsto \color{blue}{\left(\ell \cdot \frac{2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right) \cdot \ell} \]
  8. Step-by-step derivation
    1. associate-*r/N/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{\ell \cdot 2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right), \ell\right) \]
    2. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{2 \cdot \ell}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right), \ell\right) \]
    3. associate-*r*N/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{2 \cdot \ell}{\left(k \cdot t\right) \cdot \left(k \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
    4. times-fracN/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{k \cdot t} \cdot \frac{\ell}{k \cdot \left(k \cdot k\right)}\right), \ell\right) \]
    5. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\left(\frac{2}{k \cdot t}\right), \left(\frac{\ell}{k \cdot \left(k \cdot k\right)}\right)\right), \ell\right) \]
    6. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, \left(k \cdot t\right)\right), \left(\frac{\ell}{k \cdot \left(k \cdot k\right)}\right)\right), \ell\right) \]
    7. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, t\right)\right), \left(\frac{\ell}{k \cdot \left(k \cdot k\right)}\right)\right), \ell\right) \]
    8. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, t\right)\right), \mathsf{/.f64}\left(\ell, \left(k \cdot \left(k \cdot k\right)\right)\right)\right), \ell\right) \]
    9. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, t\right)\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(k, \left(k \cdot k\right)\right)\right)\right), \ell\right) \]
    10. *-lowering-*.f6469.3%

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, t\right)\right), \mathsf{/.f64}\left(\ell, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right)\right)\right), \ell\right) \]
  9. Applied egg-rr69.3%

    \[\leadsto \color{blue}{\left(\frac{2}{k \cdot t} \cdot \frac{\ell}{k \cdot \left(k \cdot k\right)}\right)} \cdot \ell \]
  10. Final simplification69.3%

    \[\leadsto \ell \cdot \left(\frac{2}{k \cdot t} \cdot \frac{\ell}{k \cdot \left(k \cdot k\right)}\right) \]
  11. Add Preprocessing

Alternative 9: 69.8% accurate, 28.1× speedup?

\[\begin{array}{l} k_m = \left|k\right| \\ \ell \cdot \left(\ell \cdot \frac{2}{k\_m \cdot \left(t \cdot \left(k\_m \cdot \left(k\_m \cdot k\_m\right)\right)\right)}\right) \end{array} \]
k_m = (fabs.f64 k)
(FPCore (t l k_m)
 :precision binary64
 (* l (* l (/ 2.0 (* k_m (* t (* k_m (* k_m k_m))))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
	return l * (l * (2.0 / (k_m * (t * (k_m * (k_m * k_m))))));
}
k_m = abs(k)
real(8) function code(t, l, k_m)
    real(8), intent (in) :: t
    real(8), intent (in) :: l
    real(8), intent (in) :: k_m
    code = l * (l * (2.0d0 / (k_m * (t * (k_m * (k_m * k_m))))))
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
	return l * (l * (2.0 / (k_m * (t * (k_m * (k_m * k_m))))));
}
k_m = math.fabs(k)
def code(t, l, k_m):
	return l * (l * (2.0 / (k_m * (t * (k_m * (k_m * k_m))))))
k_m = abs(k)
function code(t, l, k_m)
	return Float64(l * Float64(l * Float64(2.0 / Float64(k_m * Float64(t * Float64(k_m * Float64(k_m * k_m)))))))
end
k_m = abs(k);
function tmp = code(t, l, k_m)
	tmp = l * (l * (2.0 / (k_m * (t * (k_m * (k_m * k_m))))));
end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := N[(l * N[(l * N[(2.0 / N[(k$95$m * N[(t * N[(k$95$m * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|

\\
\ell \cdot \left(\ell \cdot \frac{2}{k\_m \cdot \left(t \cdot \left(k\_m \cdot \left(k\_m \cdot k\_m\right)\right)\right)}\right)
\end{array}
Derivation
  1. Initial program 36.6%

    \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)} \]
  2. Add Preprocessing
  3. Taylor expanded in k around 0

    \[\leadsto \mathsf{/.f64}\left(2, \color{blue}{\left(\frac{{k}^{4} \cdot t}{{\ell}^{2}}\right)}\right) \]
  4. Step-by-step derivation
    1. /-lowering-/.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left({k}^{4} \cdot t\right), \color{blue}{\left({\ell}^{2}\right)}\right)\right) \]
    2. *-commutativeN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\left(t \cdot {k}^{4}\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{4}\right)\right), \left({\color{blue}{\ell}}^{2}\right)\right)\right) \]
    4. metadata-evalN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{\left(2 \cdot 2\right)}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    5. pow-sqrN/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \left({k}^{2} \cdot {k}^{2}\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    6. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left({k}^{2}\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    7. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\left(k \cdot k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    8. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left({k}^{2}\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    9. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \left(k \cdot k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    10. *-lowering-*.f64N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left({\ell}^{2}\right)\right)\right) \]
    11. unpow2N/A

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \left(\ell \cdot \color{blue}{\ell}\right)\right)\right) \]
    12. *-lowering-*.f6458.8%

      \[\leadsto \mathsf{/.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(t, \mathsf{*.f64}\left(\mathsf{*.f64}\left(k, k\right), \mathsf{*.f64}\left(k, k\right)\right)\right), \mathsf{*.f64}\left(\ell, \color{blue}{\ell}\right)\right)\right) \]
  5. Simplified58.8%

    \[\leadsto \frac{2}{\color{blue}{\frac{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}{\ell \cdot \ell}}} \]
  6. Step-by-step derivation
    1. associate-/r/N/A

      \[\leadsto \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \color{blue}{\left(\ell \cdot \ell\right)} \]
    2. associate-*r*N/A

      \[\leadsto \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right) \cdot \color{blue}{\ell} \]
    3. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)} \cdot \ell\right), \color{blue}{\ell}\right) \]
    4. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\left(\ell \cdot \frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right), \ell\right) \]
    5. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \left(\frac{2}{t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)}\right)\right), \ell\right) \]
    6. /-lowering-/.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot k\right) \cdot \left(k \cdot k\right)\right)\right)\right)\right), \ell\right) \]
    7. associate-*l*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(k \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    8. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(t \cdot \left(\left(k \cdot \left(k \cdot k\right)\right) \cdot k\right)\right)\right)\right), \ell\right) \]
    9. associate-*r*N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(\left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right) \cdot k\right)\right)\right), \ell\right) \]
    10. *-commutativeN/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \left(k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    11. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    12. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \left(k \cdot \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    13. *-lowering-*.f64N/A

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \left(k \cdot k\right)\right)\right)\right)\right)\right), \ell\right) \]
    14. *-lowering-*.f6467.5%

      \[\leadsto \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{/.f64}\left(2, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(t, \mathsf{*.f64}\left(k, \mathsf{*.f64}\left(k, k\right)\right)\right)\right)\right)\right), \ell\right) \]
  7. Applied egg-rr67.5%

    \[\leadsto \color{blue}{\left(\ell \cdot \frac{2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right) \cdot \ell} \]
  8. Final simplification67.5%

    \[\leadsto \ell \cdot \left(\ell \cdot \frac{2}{k \cdot \left(t \cdot \left(k \cdot \left(k \cdot k\right)\right)\right)}\right) \]
  9. Add Preprocessing

Reproduce

?
herbie shell --seed 2024138 
(FPCore (t l k)
  :name "Toniolo and Linder, Equation (10-)"
  :precision binary64
  (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))