Toniolo and Linder, Equation (10+)

Percentage Accurate: 55.1% → 83.0%
Time: 26.1s
Alternatives: 30
Speedup: 1.4×

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 30 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: 55.1% 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: 83.0% accurate, 0.6× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := \mathsf{hypot}\left(1, \mathsf{hypot}\left(1, \frac{k}{t_m}\right)\right)\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 8.2 \cdot 10^{-140}:\\ \;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\ \mathbf{elif}\;t_m \leq 5.5 \cdot 10^{+102}:\\ \;\;\;\;\frac{\frac{\frac{2}{\tan k}}{\sin k \cdot {t_m}^{3}}}{\frac{t_2}{\ell}} \cdot \frac{\ell}{t_2}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(\tan k \cdot {\left({\left(\sqrt[3]{\ell}\right)}^{-2} \cdot \left(t_m \cdot \sqrt[3]{\sin k}\right)\right)}^{3}\right) \cdot \left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right)}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (hypot 1.0 (hypot 1.0 (/ k t_m)))))
   (*
    t_s
    (if (<= t_m 8.2e-140)
      (/
       (/ (* 2.0 (* (pow l 2.0) (cos k))) (* t_m (pow k 2.0)))
       (pow (sin k) 2.0))
      (if (<= t_m 5.5e+102)
        (*
         (/ (/ (/ 2.0 (tan k)) (* (sin k) (pow t_m 3.0))) (/ t_2 l))
         (/ l t_2))
        (/
         2.0
         (*
          (* (tan k) (pow (* (pow (cbrt l) -2.0) (* t_m (cbrt (sin k)))) 3.0))
          (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0))))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = hypot(1.0, hypot(1.0, (k / t_m)));
	double tmp;
	if (t_m <= 8.2e-140) {
		tmp = ((2.0 * (pow(l, 2.0) * cos(k))) / (t_m * pow(k, 2.0))) / pow(sin(k), 2.0);
	} else if (t_m <= 5.5e+102) {
		tmp = (((2.0 / tan(k)) / (sin(k) * pow(t_m, 3.0))) / (t_2 / l)) * (l / t_2);
	} else {
		tmp = 2.0 / ((tan(k) * pow((pow(cbrt(l), -2.0) * (t_m * cbrt(sin(k)))), 3.0)) * (1.0 + (1.0 + pow((k / t_m), 2.0))));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = Math.hypot(1.0, Math.hypot(1.0, (k / t_m)));
	double tmp;
	if (t_m <= 8.2e-140) {
		tmp = ((2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / (t_m * Math.pow(k, 2.0))) / Math.pow(Math.sin(k), 2.0);
	} else if (t_m <= 5.5e+102) {
		tmp = (((2.0 / Math.tan(k)) / (Math.sin(k) * Math.pow(t_m, 3.0))) / (t_2 / l)) * (l / t_2);
	} else {
		tmp = 2.0 / ((Math.tan(k) * Math.pow((Math.pow(Math.cbrt(l), -2.0) * (t_m * Math.cbrt(Math.sin(k)))), 3.0)) * (1.0 + (1.0 + Math.pow((k / t_m), 2.0))));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = hypot(1.0, hypot(1.0, Float64(k / t_m)))
	tmp = 0.0
	if (t_m <= 8.2e-140)
		tmp = Float64(Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(t_m * (k ^ 2.0))) / (sin(k) ^ 2.0));
	elseif (t_m <= 5.5e+102)
		tmp = Float64(Float64(Float64(Float64(2.0 / tan(k)) / Float64(sin(k) * (t_m ^ 3.0))) / Float64(t_2 / l)) * Float64(l / t_2));
	else
		tmp = Float64(2.0 / Float64(Float64(tan(k) * (Float64((cbrt(l) ^ -2.0) * Float64(t_m * cbrt(sin(k)))) ^ 3.0)) * Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0)))));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[Sqrt[1.0 ^ 2 + N[Sqrt[1.0 ^ 2 + N[(k / t$95$m), $MachinePrecision] ^ 2], $MachinePrecision] ^ 2], $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 8.2e-140], N[(N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.5e+102], N[(N[(N[(N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$2 / l), $MachinePrecision]), $MachinePrecision] * N[(l / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[Power[N[(N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision] * N[(t$95$m * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := \mathsf{hypot}\left(1, \mathsf{hypot}\left(1, \frac{k}{t_m}\right)\right)\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 8.2 \cdot 10^{-140}:\\
\;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\

\mathbf{elif}\;t_m \leq 5.5 \cdot 10^{+102}:\\
\;\;\;\;\frac{\frac{\frac{2}{\tan k}}{\sin k \cdot {t_m}^{3}}}{\frac{t_2}{\ell}} \cdot \frac{\ell}{t_2}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot {\left({\left(\sqrt[3]{\ell}\right)}^{-2} \cdot \left(t_m \cdot \sqrt[3]{\sin k}\right)\right)}^{3}\right) \cdot \left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right)}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 2: 73.0% accurate, 0.5× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\ \;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\left({t_m}^{2} \cdot \frac{1}{\ell}\right) \cdot \frac{t_m}{\ell}\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2} \cdot \cos k}{{k}^{2} \cdot \left(t_m \cdot {\sin k}^{2}\right)}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))))
   (*
    t_s
    (if (<= (* t_2 (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))) INFINITY)
      (/
       2.0
       (*
        t_2
        (* (tan k) (* (sin k) (* (* (pow t_m 2.0) (/ 1.0 l)) (/ t_m l))))))
      (*
       2.0
       (/
        (* (pow l 2.0) (cos k))
        (* (pow k 2.0) (* t_m (pow (sin k) 2.0)))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l))))) <= ((double) INFINITY)) {
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * ((pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))));
	} else {
		tmp = 2.0 * ((pow(l, 2.0) * cos(k)) / (pow(k, 2.0) * (t_m * pow(sin(k), 2.0))));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + Math.pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l))))) <= Double.POSITIVE_INFINITY) {
		tmp = 2.0 / (t_2 * (Math.tan(k) * (Math.sin(k) * ((Math.pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))));
	} else {
		tmp = 2.0 * ((Math.pow(l, 2.0) * Math.cos(k)) / (Math.pow(k, 2.0) * (t_m * Math.pow(Math.sin(k), 2.0))));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	t_2 = 1.0 + (1.0 + math.pow((k / t_m), 2.0))
	tmp = 0
	if (t_2 * (math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l))))) <= math.inf:
		tmp = 2.0 / (t_2 * (math.tan(k) * (math.sin(k) * ((math.pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))))
	else:
		tmp = 2.0 * ((math.pow(l, 2.0) * math.cos(k)) / (math.pow(k, 2.0) * (t_m * math.pow(math.sin(k), 2.0))))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0)))
	tmp = 0.0
	if (Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l))))) <= Inf)
		tmp = Float64(2.0 / Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64(Float64((t_m ^ 2.0) * Float64(1.0 / l)) * Float64(t_m / l))))));
	else
		tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) * cos(k)) / Float64((k ^ 2.0) * Float64(t_m * (sin(k) ^ 2.0)))));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	t_2 = 1.0 + (1.0 + ((k / t_m) ^ 2.0));
	tmp = 0.0;
	if ((t_2 * (tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l))))) <= Inf)
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * (((t_m ^ 2.0) * (1.0 / l)) * (t_m / l)))));
	else
		tmp = 2.0 * (((l ^ 2.0) * cos(k)) / ((k ^ 2.0) * (t_m * (sin(k) ^ 2.0))));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(N[Power[t$95$m, 2.0], $MachinePrecision] * N[(1.0 / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\
\;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\left({t_m}^{2} \cdot \frac{1}{\ell}\right) \cdot \frac{t_m}{\ell}\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2} \cdot \cos k}{{k}^{2} \cdot \left(t_m \cdot {\sin k}^{2}\right)}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 3: 73.0% accurate, 0.5× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\ \;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\left({t_m}^{2} \cdot \frac{1}{\ell}\right) \cdot \frac{t_m}{\ell}\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{\left(t_m \cdot {k}^{2}\right) \cdot {\sin k}^{2}}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))))
   (*
    t_s
    (if (<= (* t_2 (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))) INFINITY)
      (/
       2.0
       (*
        t_2
        (* (tan k) (* (sin k) (* (* (pow t_m 2.0) (/ 1.0 l)) (/ t_m l))))))
      (/
       (* 2.0 (* (pow l 2.0) (cos k)))
       (* (* t_m (pow k 2.0)) (pow (sin k) 2.0)))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l))))) <= ((double) INFINITY)) {
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * ((pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))));
	} else {
		tmp = (2.0 * (pow(l, 2.0) * cos(k))) / ((t_m * pow(k, 2.0)) * pow(sin(k), 2.0));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + Math.pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l))))) <= Double.POSITIVE_INFINITY) {
		tmp = 2.0 / (t_2 * (Math.tan(k) * (Math.sin(k) * ((Math.pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))));
	} else {
		tmp = (2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / ((t_m * Math.pow(k, 2.0)) * Math.pow(Math.sin(k), 2.0));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	t_2 = 1.0 + (1.0 + math.pow((k / t_m), 2.0))
	tmp = 0
	if (t_2 * (math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l))))) <= math.inf:
		tmp = 2.0 / (t_2 * (math.tan(k) * (math.sin(k) * ((math.pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))))
	else:
		tmp = (2.0 * (math.pow(l, 2.0) * math.cos(k))) / ((t_m * math.pow(k, 2.0)) * math.pow(math.sin(k), 2.0))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0)))
	tmp = 0.0
	if (Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l))))) <= Inf)
		tmp = Float64(2.0 / Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64(Float64((t_m ^ 2.0) * Float64(1.0 / l)) * Float64(t_m / l))))));
	else
		tmp = Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(Float64(t_m * (k ^ 2.0)) * (sin(k) ^ 2.0)));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	t_2 = 1.0 + (1.0 + ((k / t_m) ^ 2.0));
	tmp = 0.0;
	if ((t_2 * (tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l))))) <= Inf)
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * (((t_m ^ 2.0) * (1.0 / l)) * (t_m / l)))));
	else
		tmp = (2.0 * ((l ^ 2.0) * cos(k))) / ((t_m * (k ^ 2.0)) * (sin(k) ^ 2.0));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(N[Power[t$95$m, 2.0], $MachinePrecision] * N[(1.0 / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\
\;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\left({t_m}^{2} \cdot \frac{1}{\ell}\right) \cdot \frac{t_m}{\ell}\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{\left(t_m \cdot {k}^{2}\right) \cdot {\sin k}^{2}}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 4: 73.2% accurate, 0.5× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\ \;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\left({t_m}^{2} \cdot \frac{1}{\ell}\right) \cdot \frac{t_m}{\ell}\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))))
   (*
    t_s
    (if (<= (* t_2 (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))) INFINITY)
      (/
       2.0
       (*
        t_2
        (* (tan k) (* (sin k) (* (* (pow t_m 2.0) (/ 1.0 l)) (/ t_m l))))))
      (/
       (/ (* 2.0 (* (pow l 2.0) (cos k))) (* t_m (pow k 2.0)))
       (pow (sin k) 2.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l))))) <= ((double) INFINITY)) {
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * ((pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))));
	} else {
		tmp = ((2.0 * (pow(l, 2.0) * cos(k))) / (t_m * pow(k, 2.0))) / pow(sin(k), 2.0);
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + Math.pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l))))) <= Double.POSITIVE_INFINITY) {
		tmp = 2.0 / (t_2 * (Math.tan(k) * (Math.sin(k) * ((Math.pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))));
	} else {
		tmp = ((2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / (t_m * Math.pow(k, 2.0))) / Math.pow(Math.sin(k), 2.0);
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	t_2 = 1.0 + (1.0 + math.pow((k / t_m), 2.0))
	tmp = 0
	if (t_2 * (math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l))))) <= math.inf:
		tmp = 2.0 / (t_2 * (math.tan(k) * (math.sin(k) * ((math.pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))))
	else:
		tmp = ((2.0 * (math.pow(l, 2.0) * math.cos(k))) / (t_m * math.pow(k, 2.0))) / math.pow(math.sin(k), 2.0)
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0)))
	tmp = 0.0
	if (Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l))))) <= Inf)
		tmp = Float64(2.0 / Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64(Float64((t_m ^ 2.0) * Float64(1.0 / l)) * Float64(t_m / l))))));
	else
		tmp = Float64(Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(t_m * (k ^ 2.0))) / (sin(k) ^ 2.0));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	t_2 = 1.0 + (1.0 + ((k / t_m) ^ 2.0));
	tmp = 0.0;
	if ((t_2 * (tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l))))) <= Inf)
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * (((t_m ^ 2.0) * (1.0 / l)) * (t_m / l)))));
	else
		tmp = ((2.0 * ((l ^ 2.0) * cos(k))) / (t_m * (k ^ 2.0))) / (sin(k) ^ 2.0);
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(N[Power[t$95$m, 2.0], $MachinePrecision] * N[(1.0 / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\
\;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\left({t_m}^{2} \cdot \frac{1}{\ell}\right) \cdot \frac{t_m}{\ell}\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 5: 72.8% accurate, 0.5× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\ \;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\left({t_m}^{2} \cdot \frac{1}{\ell}\right) \cdot \frac{t_m}{\ell}\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))))
   (*
    t_s
    (if (<= (* t_2 (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))) INFINITY)
      (/
       2.0
       (*
        t_2
        (* (tan k) (* (sin k) (* (* (pow t_m 2.0) (/ 1.0 l)) (/ t_m l))))))
      (*
       2.0
       (/
        (pow l 2.0)
        (/
         (* (pow k 2.0) (* t_m (/ (- 1.0 (cos (* 2.0 k))) 2.0)))
         (cos k))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l))))) <= ((double) INFINITY)) {
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * ((pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))));
	} else {
		tmp = 2.0 * (pow(l, 2.0) / ((pow(k, 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + Math.pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l))))) <= Double.POSITIVE_INFINITY) {
		tmp = 2.0 / (t_2 * (Math.tan(k) * (Math.sin(k) * ((Math.pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))));
	} else {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((Math.pow(k, 2.0) * (t_m * ((1.0 - Math.cos((2.0 * k))) / 2.0))) / Math.cos(k)));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	t_2 = 1.0 + (1.0 + math.pow((k / t_m), 2.0))
	tmp = 0
	if (t_2 * (math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l))))) <= math.inf:
		tmp = 2.0 / (t_2 * (math.tan(k) * (math.sin(k) * ((math.pow(t_m, 2.0) * (1.0 / l)) * (t_m / l)))))
	else:
		tmp = 2.0 * (math.pow(l, 2.0) / ((math.pow(k, 2.0) * (t_m * ((1.0 - math.cos((2.0 * k))) / 2.0))) / math.cos(k)))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0)))
	tmp = 0.0
	if (Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l))))) <= Inf)
		tmp = Float64(2.0 / Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64(Float64((t_m ^ 2.0) * Float64(1.0 / l)) * Float64(t_m / l))))));
	else
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64((k ^ 2.0) * Float64(t_m * Float64(Float64(1.0 - cos(Float64(2.0 * k))) / 2.0))) / cos(k))));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	t_2 = 1.0 + (1.0 + ((k / t_m) ^ 2.0));
	tmp = 0.0;
	if ((t_2 * (tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l))))) <= Inf)
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * (((t_m ^ 2.0) * (1.0 / l)) * (t_m / l)))));
	else
		tmp = 2.0 * ((l ^ 2.0) / (((k ^ 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(N[Power[t$95$m, 2.0], $MachinePrecision] * N[(1.0 / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m * N[(N[(1.0 - N[Cos[N[(2.0 * k), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\
\;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\left({t_m}^{2} \cdot \frac{1}{\ell}\right) \cdot \frac{t_m}{\ell}\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 6: 72.9% accurate, 0.5× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\ \;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))))
   (*
    t_s
    (if (<= (* t_2 (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))) INFINITY)
      (/ 2.0 (* t_2 (* (tan k) (* (sin k) (* (/ t_m l) (/ (pow t_m 2.0) l))))))
      (*
       2.0
       (/
        (pow l 2.0)
        (/
         (* (pow k 2.0) (* t_m (/ (- 1.0 (cos (* 2.0 k))) 2.0)))
         (cos k))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l))))) <= ((double) INFINITY)) {
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * ((t_m / l) * (pow(t_m, 2.0) / l)))));
	} else {
		tmp = 2.0 * (pow(l, 2.0) / ((pow(k, 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + Math.pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l))))) <= Double.POSITIVE_INFINITY) {
		tmp = 2.0 / (t_2 * (Math.tan(k) * (Math.sin(k) * ((t_m / l) * (Math.pow(t_m, 2.0) / l)))));
	} else {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((Math.pow(k, 2.0) * (t_m * ((1.0 - Math.cos((2.0 * k))) / 2.0))) / Math.cos(k)));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	t_2 = 1.0 + (1.0 + math.pow((k / t_m), 2.0))
	tmp = 0
	if (t_2 * (math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l))))) <= math.inf:
		tmp = 2.0 / (t_2 * (math.tan(k) * (math.sin(k) * ((t_m / l) * (math.pow(t_m, 2.0) / l)))))
	else:
		tmp = 2.0 * (math.pow(l, 2.0) / ((math.pow(k, 2.0) * (t_m * ((1.0 - math.cos((2.0 * k))) / 2.0))) / math.cos(k)))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0)))
	tmp = 0.0
	if (Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l))))) <= Inf)
		tmp = Float64(2.0 / Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64(Float64(t_m / l) * Float64((t_m ^ 2.0) / l))))));
	else
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64((k ^ 2.0) * Float64(t_m * Float64(Float64(1.0 - cos(Float64(2.0 * k))) / 2.0))) / cos(k))));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	t_2 = 1.0 + (1.0 + ((k / t_m) ^ 2.0));
	tmp = 0.0;
	if ((t_2 * (tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l))))) <= Inf)
		tmp = 2.0 / (t_2 * (tan(k) * (sin(k) * ((t_m / l) * ((t_m ^ 2.0) / l)))));
	else
		tmp = 2.0 * ((l ^ 2.0) / (((k ^ 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[Power[t$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m * N[(N[(1.0 - N[Cos[N[(2.0 * k), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\
\;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 7: 72.8% accurate, 0.5× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\ \;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}\right)}\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))))
   (*
    t_s
    (if (<= (* t_2 (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))) INFINITY)
      (/ 2.0 (* t_2 (* (tan k) (/ (* (sin k) (/ (pow t_m 3.0) l)) l))))
      (*
       2.0
       (/
        (pow l 2.0)
        (/
         (* (pow k 2.0) (* t_m (/ (- 1.0 (cos (* 2.0 k))) 2.0)))
         (cos k))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l))))) <= ((double) INFINITY)) {
		tmp = 2.0 / (t_2 * (tan(k) * ((sin(k) * (pow(t_m, 3.0) / l)) / l)));
	} else {
		tmp = 2.0 * (pow(l, 2.0) / ((pow(k, 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = 1.0 + (1.0 + Math.pow((k / t_m), 2.0));
	double tmp;
	if ((t_2 * (Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l))))) <= Double.POSITIVE_INFINITY) {
		tmp = 2.0 / (t_2 * (Math.tan(k) * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l)));
	} else {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((Math.pow(k, 2.0) * (t_m * ((1.0 - Math.cos((2.0 * k))) / 2.0))) / Math.cos(k)));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	t_2 = 1.0 + (1.0 + math.pow((k / t_m), 2.0))
	tmp = 0
	if (t_2 * (math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l))))) <= math.inf:
		tmp = 2.0 / (t_2 * (math.tan(k) * ((math.sin(k) * (math.pow(t_m, 3.0) / l)) / l)))
	else:
		tmp = 2.0 * (math.pow(l, 2.0) / ((math.pow(k, 2.0) * (t_m * ((1.0 - math.cos((2.0 * k))) / 2.0))) / math.cos(k)))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0)))
	tmp = 0.0
	if (Float64(t_2 * Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l))))) <= Inf)
		tmp = Float64(2.0 / Float64(t_2 * Float64(tan(k) * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l))));
	else
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64((k ^ 2.0) * Float64(t_m * Float64(Float64(1.0 - cos(Float64(2.0 * k))) / 2.0))) / cos(k))));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	t_2 = 1.0 + (1.0 + ((k / t_m) ^ 2.0));
	tmp = 0.0;
	if ((t_2 * (tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l))))) <= Inf)
		tmp = 2.0 / (t_2 * (tan(k) * ((sin(k) * ((t_m ^ 3.0) / l)) / l)));
	else
		tmp = 2.0 * ((l ^ 2.0) / (((k ^ 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(t$95$2 * N[(N[Tan[k], $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m * N[(N[(1.0 - N[Cos[N[(2.0 * k), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := 1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_2 \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\
\;\;\;\;\frac{2}{t_2 \cdot \left(\tan k \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}\right)}\\

\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 8: 71.6% accurate, 0.5× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := {\left(\frac{k}{t_m}\right)}^{2}\\ t_s \cdot \begin{array}{l} \mathbf{if}\;\left(1 + \left(1 + t_2\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\ \;\;\;\;\left(\ell \cdot \frac{\frac{2}{\tan k}}{\sin k \cdot {t_m}^{3}}\right) \cdot \frac{\ell}{2 + t_2}\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (pow (/ k t_m) 2.0)))
   (*
    t_s
    (if (<=
         (*
          (+ 1.0 (+ 1.0 t_2))
          (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l)))))
         INFINITY)
      (* (* l (/ (/ 2.0 (tan k)) (* (sin k) (pow t_m 3.0)))) (/ l (+ 2.0 t_2)))
      (*
       2.0
       (/
        (pow l 2.0)
        (/
         (* (pow k 2.0) (* t_m (/ (- 1.0 (cos (* 2.0 k))) 2.0)))
         (cos k))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = pow((k / t_m), 2.0);
	double tmp;
	if (((1.0 + (1.0 + t_2)) * (tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l))))) <= ((double) INFINITY)) {
		tmp = (l * ((2.0 / tan(k)) / (sin(k) * pow(t_m, 3.0)))) * (l / (2.0 + t_2));
	} else {
		tmp = 2.0 * (pow(l, 2.0) / ((pow(k, 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = Math.pow((k / t_m), 2.0);
	double tmp;
	if (((1.0 + (1.0 + t_2)) * (Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l))))) <= Double.POSITIVE_INFINITY) {
		tmp = (l * ((2.0 / Math.tan(k)) / (Math.sin(k) * Math.pow(t_m, 3.0)))) * (l / (2.0 + t_2));
	} else {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((Math.pow(k, 2.0) * (t_m * ((1.0 - Math.cos((2.0 * k))) / 2.0))) / Math.cos(k)));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	t_2 = math.pow((k / t_m), 2.0)
	tmp = 0
	if ((1.0 + (1.0 + t_2)) * (math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l))))) <= math.inf:
		tmp = (l * ((2.0 / math.tan(k)) / (math.sin(k) * math.pow(t_m, 3.0)))) * (l / (2.0 + t_2))
	else:
		tmp = 2.0 * (math.pow(l, 2.0) / ((math.pow(k, 2.0) * (t_m * ((1.0 - math.cos((2.0 * k))) / 2.0))) / math.cos(k)))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = Float64(k / t_m) ^ 2.0
	tmp = 0.0
	if (Float64(Float64(1.0 + Float64(1.0 + t_2)) * Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l))))) <= Inf)
		tmp = Float64(Float64(l * Float64(Float64(2.0 / tan(k)) / Float64(sin(k) * (t_m ^ 3.0)))) * Float64(l / Float64(2.0 + t_2)));
	else
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64((k ^ 2.0) * Float64(t_m * Float64(Float64(1.0 - cos(Float64(2.0 * k))) / 2.0))) / cos(k))));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	t_2 = (k / t_m) ^ 2.0;
	tmp = 0.0;
	if (((1.0 + (1.0 + t_2)) * (tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l))))) <= Inf)
		tmp = (l * ((2.0 / tan(k)) / (sin(k) * (t_m ^ 3.0)))) * (l / (2.0 + t_2));
	else
		tmp = 2.0 * ((l ^ 2.0) / (((k ^ 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(N[(1.0 + N[(1.0 + t$95$2), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(N[(l * N[(N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l / N[(2.0 + t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m * N[(N[(1.0 - N[Cos[N[(2.0 * k), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;\left(1 + \left(1 + t_2\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \leq \infty:\\
\;\;\;\;\left(\ell \cdot \frac{\frac{2}{\tan k}}{\sin k \cdot {t_m}^{3}}\right) \cdot \frac{\ell}{2 + t_2}\\

\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 9: 81.9% accurate, 0.6× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 3.1 \cdot 10^{-161}:\\ \;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\tan k \cdot {\left(\sqrt[3]{\sin k} \cdot \frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3}\right)}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 3.1e-161)
    (/
     (/ (* 2.0 (* (pow l 2.0) (cos k))) (* t_m (pow k 2.0)))
     (pow (sin k) 2.0))
    (/
     2.0
     (*
      (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))
      (*
       (tan k)
       (pow (* (cbrt (sin k)) (/ (/ t_m (cbrt l)) (cbrt l))) 3.0)))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 3.1e-161) {
		tmp = ((2.0 * (pow(l, 2.0) * cos(k))) / (t_m * pow(k, 2.0))) / pow(sin(k), 2.0);
	} else {
		tmp = 2.0 / ((1.0 + (1.0 + pow((k / t_m), 2.0))) * (tan(k) * pow((cbrt(sin(k)) * ((t_m / cbrt(l)) / cbrt(l))), 3.0)));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 3.1e-161) {
		tmp = ((2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / (t_m * Math.pow(k, 2.0))) / Math.pow(Math.sin(k), 2.0);
	} else {
		tmp = 2.0 / ((1.0 + (1.0 + Math.pow((k / t_m), 2.0))) * (Math.tan(k) * Math.pow((Math.cbrt(Math.sin(k)) * ((t_m / Math.cbrt(l)) / Math.cbrt(l))), 3.0)));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 3.1e-161)
		tmp = Float64(Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(t_m * (k ^ 2.0))) / (sin(k) ^ 2.0));
	else
		tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0))) * Float64(tan(k) * (Float64(cbrt(sin(k)) * Float64(Float64(t_m / cbrt(l)) / cbrt(l))) ^ 3.0))));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 3.1e-161], N[(N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[N[(N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision] * N[(N[(t$95$m / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 3.1 \cdot 10^{-161}:\\
\;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\tan k \cdot {\left(\sqrt[3]{\sin k} \cdot \frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3}\right)}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 10: 81.9% accurate, 0.6× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 3 \cdot 10^{-161}:\\ \;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\tan k \cdot {\left(\sqrt[3]{\sin k} \cdot \frac{t_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3}\right)}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 3e-161)
    (/
     (/ (* 2.0 (* (pow l 2.0) (cos k))) (* t_m (pow k 2.0)))
     (pow (sin k) 2.0))
    (/
     2.0
     (*
      (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))
      (* (tan k) (pow (* (cbrt (sin k)) (/ t_m (pow (cbrt l) 2.0))) 3.0)))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 3e-161) {
		tmp = ((2.0 * (pow(l, 2.0) * cos(k))) / (t_m * pow(k, 2.0))) / pow(sin(k), 2.0);
	} else {
		tmp = 2.0 / ((1.0 + (1.0 + pow((k / t_m), 2.0))) * (tan(k) * pow((cbrt(sin(k)) * (t_m / pow(cbrt(l), 2.0))), 3.0)));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 3e-161) {
		tmp = ((2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / (t_m * Math.pow(k, 2.0))) / Math.pow(Math.sin(k), 2.0);
	} else {
		tmp = 2.0 / ((1.0 + (1.0 + Math.pow((k / t_m), 2.0))) * (Math.tan(k) * Math.pow((Math.cbrt(Math.sin(k)) * (t_m / Math.pow(Math.cbrt(l), 2.0))), 3.0)));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 3e-161)
		tmp = Float64(Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(t_m * (k ^ 2.0))) / (sin(k) ^ 2.0));
	else
		tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0))) * Float64(tan(k) * (Float64(cbrt(sin(k)) * Float64(t_m / (cbrt(l) ^ 2.0))) ^ 3.0))));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 3e-161], N[(N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[N[(N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision] * N[(t$95$m / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 3 \cdot 10^{-161}:\\
\;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\tan k \cdot {\left(\sqrt[3]{\sin k} \cdot \frac{t_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3}\right)}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 11: 81.9% accurate, 0.6× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 2.1 \cdot 10^{-161}:\\ \;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(\tan k \cdot {\left({\left(\sqrt[3]{\ell}\right)}^{-2} \cdot \left(t_m \cdot \sqrt[3]{\sin k}\right)\right)}^{3}\right) \cdot \left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right)}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 2.1e-161)
    (/
     (/ (* 2.0 (* (pow l 2.0) (cos k))) (* t_m (pow k 2.0)))
     (pow (sin k) 2.0))
    (/
     2.0
     (*
      (* (tan k) (pow (* (pow (cbrt l) -2.0) (* t_m (cbrt (sin k)))) 3.0))
      (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 2.1e-161) {
		tmp = ((2.0 * (pow(l, 2.0) * cos(k))) / (t_m * pow(k, 2.0))) / pow(sin(k), 2.0);
	} else {
		tmp = 2.0 / ((tan(k) * pow((pow(cbrt(l), -2.0) * (t_m * cbrt(sin(k)))), 3.0)) * (1.0 + (1.0 + pow((k / t_m), 2.0))));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 2.1e-161) {
		tmp = ((2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / (t_m * Math.pow(k, 2.0))) / Math.pow(Math.sin(k), 2.0);
	} else {
		tmp = 2.0 / ((Math.tan(k) * Math.pow((Math.pow(Math.cbrt(l), -2.0) * (t_m * Math.cbrt(Math.sin(k)))), 3.0)) * (1.0 + (1.0 + Math.pow((k / t_m), 2.0))));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 2.1e-161)
		tmp = Float64(Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(t_m * (k ^ 2.0))) / (sin(k) ^ 2.0));
	else
		tmp = Float64(2.0 / Float64(Float64(tan(k) * (Float64((cbrt(l) ^ -2.0) * Float64(t_m * cbrt(sin(k)))) ^ 3.0)) * Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0)))));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 2.1e-161], N[(N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[Power[N[(N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision] * N[(t$95$m * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 2.1 \cdot 10^{-161}:\\
\;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot {\left({\left(\sqrt[3]{\ell}\right)}^{-2} \cdot \left(t_m \cdot \sqrt[3]{\sin k}\right)\right)}^{3}\right) \cdot \left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right)}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 12: 78.4% accurate, 0.7× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 2.55 \cdot 10^{-161}:\\ \;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(\sin k \cdot {\left(\frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3}\right) \cdot \left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right)}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 2.55e-161)
    (/
     (/ (* 2.0 (* (pow l 2.0) (cos k))) (* t_m (pow k 2.0)))
     (pow (sin k) 2.0))
    (/
     2.0
     (*
      (* (sin k) (pow (/ (/ t_m (cbrt l)) (cbrt l)) 3.0))
      (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 2.55e-161) {
		tmp = ((2.0 * (pow(l, 2.0) * cos(k))) / (t_m * pow(k, 2.0))) / pow(sin(k), 2.0);
	} else {
		tmp = 2.0 / ((sin(k) * pow(((t_m / cbrt(l)) / cbrt(l)), 3.0)) * (tan(k) * (2.0 + pow((k / t_m), 2.0))));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 2.55e-161) {
		tmp = ((2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / (t_m * Math.pow(k, 2.0))) / Math.pow(Math.sin(k), 2.0);
	} else {
		tmp = 2.0 / ((Math.sin(k) * Math.pow(((t_m / Math.cbrt(l)) / Math.cbrt(l)), 3.0)) * (Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 2.55e-161)
		tmp = Float64(Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(t_m * (k ^ 2.0))) / (sin(k) ^ 2.0));
	else
		tmp = Float64(2.0 / Float64(Float64(sin(k) * (Float64(Float64(t_m / cbrt(l)) / cbrt(l)) ^ 3.0)) * Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0)))));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 2.55e-161], N[(N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[(t$95$m / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 2.55 \cdot 10^{-161}:\\
\;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot {\left(\frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3}\right) \cdot \left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right)}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 13: 76.7% accurate, 0.8× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 2.2 \cdot 10^{-161}:\\ \;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right)\right)}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 2.2e-161)
    (/
     (/ (* 2.0 (* (pow l 2.0) (cos k))) (* t_m (pow k 2.0)))
     (pow (sin k) 2.0))
    (/
     2.0
     (*
      (+ 1.0 (+ 1.0 (pow (/ k t_m) 2.0)))
      (* (tan k) (* (sin k) (pow (/ (pow t_m 1.5) l) 2.0))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 2.2e-161) {
		tmp = ((2.0 * (pow(l, 2.0) * cos(k))) / (t_m * pow(k, 2.0))) / pow(sin(k), 2.0);
	} else {
		tmp = 2.0 / ((1.0 + (1.0 + pow((k / t_m), 2.0))) * (tan(k) * (sin(k) * pow((pow(t_m, 1.5) / l), 2.0))));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 2.2d-161) then
        tmp = ((2.0d0 * ((l ** 2.0d0) * cos(k))) / (t_m * (k ** 2.0d0))) / (sin(k) ** 2.0d0)
    else
        tmp = 2.0d0 / ((1.0d0 + (1.0d0 + ((k / t_m) ** 2.0d0))) * (tan(k) * (sin(k) * (((t_m ** 1.5d0) / l) ** 2.0d0))))
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 2.2e-161) {
		tmp = ((2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / (t_m * Math.pow(k, 2.0))) / Math.pow(Math.sin(k), 2.0);
	} else {
		tmp = 2.0 / ((1.0 + (1.0 + Math.pow((k / t_m), 2.0))) * (Math.tan(k) * (Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0))));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 2.2e-161:
		tmp = ((2.0 * (math.pow(l, 2.0) * math.cos(k))) / (t_m * math.pow(k, 2.0))) / math.pow(math.sin(k), 2.0)
	else:
		tmp = 2.0 / ((1.0 + (1.0 + math.pow((k / t_m), 2.0))) * (math.tan(k) * (math.sin(k) * math.pow((math.pow(t_m, 1.5) / l), 2.0))))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 2.2e-161)
		tmp = Float64(Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(t_m * (k ^ 2.0))) / (sin(k) ^ 2.0));
	else
		tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(1.0 + (Float64(k / t_m) ^ 2.0))) * Float64(tan(k) * Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0)))));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 2.2e-161)
		tmp = ((2.0 * ((l ^ 2.0) * cos(k))) / (t_m * (k ^ 2.0))) / (sin(k) ^ 2.0);
	else
		tmp = 2.0 / ((1.0 + (1.0 + ((k / t_m) ^ 2.0))) * (tan(k) * (sin(k) * (((t_m ^ 1.5) / l) ^ 2.0))));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 2.2e-161], N[(N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(1.0 + N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 2.2 \cdot 10^{-161}:\\
\;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right)\right)}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 14: 75.0% accurate, 0.8× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 2.35 \cdot 10^{-161}:\\ \;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\sin k \cdot \frac{{\left(\frac{t_m}{\sqrt[3]{\ell}}\right)}^{3}}{\ell}\right)}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 2.35e-161)
    (/
     (/ (* 2.0 (* (pow l 2.0) (cos k))) (* t_m (pow k 2.0)))
     (pow (sin k) 2.0))
    (/
     2.0
     (*
      (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
      (* (sin k) (/ (pow (/ t_m (cbrt l)) 3.0) l)))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 2.35e-161) {
		tmp = ((2.0 * (pow(l, 2.0) * cos(k))) / (t_m * pow(k, 2.0))) / pow(sin(k), 2.0);
	} else {
		tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * (sin(k) * (pow((t_m / cbrt(l)), 3.0) / l)));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 2.35e-161) {
		tmp = ((2.0 * (Math.pow(l, 2.0) * Math.cos(k))) / (t_m * Math.pow(k, 2.0))) / Math.pow(Math.sin(k), 2.0);
	} else {
		tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * (Math.sin(k) * (Math.pow((t_m / Math.cbrt(l)), 3.0) / l)));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 2.35e-161)
		tmp = Float64(Float64(Float64(2.0 * Float64((l ^ 2.0) * cos(k))) / Float64(t_m * (k ^ 2.0))) / (sin(k) ^ 2.0));
	else
		tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * Float64(sin(k) * Float64((Float64(t_m / cbrt(l)) ^ 3.0) / l))));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 2.35e-161], N[(N[(N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[N[(t$95$m / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 2.35 \cdot 10^{-161}:\\
\;\;\;\;\frac{\frac{2 \cdot \left({\ell}^{2} \cdot \cos k\right)}{t_m \cdot {k}^{2}}}{{\sin k}^{2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\sin k \cdot \frac{{\left(\frac{t_m}{\sqrt[3]{\ell}}\right)}^{3}}{\ell}\right)}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 15: 74.8% accurate, 0.8× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := {\left(\frac{k}{t_m}\right)}^{2}\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 2.1 \cdot 10^{-161}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot {\sin k}^{2}\right)}{\cos k}}\\ \mathbf{elif}\;t_m \leq 5 \cdot 10^{+147}:\\ \;\;\;\;\frac{2}{\left(1 + \left(1 + t_2\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right)\right)}\\ \mathbf{elif}\;t_m \leq 5.7 \cdot 10^{+228}:\\ \;\;\;\;{\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m} \cdot \sqrt[3]{{k}^{-2}}\right)}^{3}\\ \mathbf{else}:\\ \;\;\;\;\left(\ell \cdot \frac{\frac{2}{\tan k}}{\sin k \cdot {t_m}^{3}}\right) \cdot \frac{\ell}{2 + t_2}\\ \end{array} \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (let* ((t_2 (pow (/ k t_m) 2.0)))
   (*
    t_s
    (if (<= t_m 2.1e-161)
      (*
       2.0
       (/ (pow l 2.0) (/ (* (pow k 2.0) (* t_m (pow (sin k) 2.0))) (cos k))))
      (if (<= t_m 5e+147)
        (/
         2.0
         (*
          (+ 1.0 (+ 1.0 t_2))
          (* (tan k) (* (sin k) (* (/ t_m l) (/ (pow t_m 2.0) l))))))
        (if (<= t_m 5.7e+228)
          (pow (* (/ (pow (cbrt l) 2.0) t_m) (cbrt (pow k -2.0))) 3.0)
          (*
           (* l (/ (/ 2.0 (tan k)) (* (sin k) (pow t_m 3.0))))
           (/ l (+ 2.0 t_2)))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double t_2 = pow((k / t_m), 2.0);
	double tmp;
	if (t_m <= 2.1e-161) {
		tmp = 2.0 * (pow(l, 2.0) / ((pow(k, 2.0) * (t_m * pow(sin(k), 2.0))) / cos(k)));
	} else if (t_m <= 5e+147) {
		tmp = 2.0 / ((1.0 + (1.0 + t_2)) * (tan(k) * (sin(k) * ((t_m / l) * (pow(t_m, 2.0) / l)))));
	} else if (t_m <= 5.7e+228) {
		tmp = pow(((pow(cbrt(l), 2.0) / t_m) * cbrt(pow(k, -2.0))), 3.0);
	} else {
		tmp = (l * ((2.0 / tan(k)) / (sin(k) * pow(t_m, 3.0)))) * (l / (2.0 + t_2));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double t_2 = Math.pow((k / t_m), 2.0);
	double tmp;
	if (t_m <= 2.1e-161) {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((Math.pow(k, 2.0) * (t_m * Math.pow(Math.sin(k), 2.0))) / Math.cos(k)));
	} else if (t_m <= 5e+147) {
		tmp = 2.0 / ((1.0 + (1.0 + t_2)) * (Math.tan(k) * (Math.sin(k) * ((t_m / l) * (Math.pow(t_m, 2.0) / l)))));
	} else if (t_m <= 5.7e+228) {
		tmp = Math.pow(((Math.pow(Math.cbrt(l), 2.0) / t_m) * Math.cbrt(Math.pow(k, -2.0))), 3.0);
	} else {
		tmp = (l * ((2.0 / Math.tan(k)) / (Math.sin(k) * Math.pow(t_m, 3.0)))) * (l / (2.0 + t_2));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	t_2 = Float64(k / t_m) ^ 2.0
	tmp = 0.0
	if (t_m <= 2.1e-161)
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64((k ^ 2.0) * Float64(t_m * (sin(k) ^ 2.0))) / cos(k))));
	elseif (t_m <= 5e+147)
		tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(1.0 + t_2)) * Float64(tan(k) * Float64(sin(k) * Float64(Float64(t_m / l) * Float64((t_m ^ 2.0) / l))))));
	elseif (t_m <= 5.7e+228)
		tmp = Float64(Float64((cbrt(l) ^ 2.0) / t_m) * cbrt((k ^ -2.0))) ^ 3.0;
	else
		tmp = Float64(Float64(l * Float64(Float64(2.0 / tan(k)) / Float64(sin(k) * (t_m ^ 3.0)))) * Float64(l / Float64(2.0 + t_2)));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 2.1e-161], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5e+147], N[(2.0 / N[(N[(1.0 + N[(1.0 + t$95$2), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[Power[t$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.7e+228], N[Power[N[(N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision] * N[Power[N[Power[k, -2.0], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision], N[(N[(l * N[(N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l / N[(2.0 + t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 2.1 \cdot 10^{-161}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot {\sin k}^{2}\right)}{\cos k}}\\

\mathbf{elif}\;t_m \leq 5 \cdot 10^{+147}:\\
\;\;\;\;\frac{2}{\left(1 + \left(1 + t_2\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right)\right)}\\

\mathbf{elif}\;t_m \leq 5.7 \cdot 10^{+228}:\\
\;\;\;\;{\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m} \cdot \sqrt[3]{{k}^{-2}}\right)}^{3}\\

\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot \frac{\frac{2}{\tan k}}{\sin k \cdot {t_m}^{3}}\right) \cdot \frac{\ell}{2 + t_2}\\


\end{array}
\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 16: 63.5% accurate, 1.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;k \leq 4 \cdot 10^{-236}:\\ \;\;\;\;{k}^{-2} \cdot {\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}\\ \mathbf{elif}\;k \leq 1.4 \cdot 10^{-9}:\\ \;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(k \cdot {t_m}^{3}\right)}}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= k 4e-236)
    (* (pow k -2.0) (pow (/ (pow (cbrt l) 2.0) t_m) 3.0))
    (if (<= k 1.4e-9)
      (/
       (* (* l l) (/ 2.0 (* (tan k) (* k (pow t_m 3.0)))))
       (+ 2.0 (pow (/ k t_m) 2.0)))
      (*
       2.0
       (/
        (pow l 2.0)
        (/
         (* (pow k 2.0) (* t_m (/ (- 1.0 (cos (* 2.0 k))) 2.0)))
         (cos k))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (k <= 4e-236) {
		tmp = pow(k, -2.0) * pow((pow(cbrt(l), 2.0) / t_m), 3.0);
	} else if (k <= 1.4e-9) {
		tmp = ((l * l) * (2.0 / (tan(k) * (k * pow(t_m, 3.0))))) / (2.0 + pow((k / t_m), 2.0));
	} else {
		tmp = 2.0 * (pow(l, 2.0) / ((pow(k, 2.0) * (t_m * ((1.0 - cos((2.0 * k))) / 2.0))) / cos(k)));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (k <= 4e-236) {
		tmp = Math.pow(k, -2.0) * Math.pow((Math.pow(Math.cbrt(l), 2.0) / t_m), 3.0);
	} else if (k <= 1.4e-9) {
		tmp = ((l * l) * (2.0 / (Math.tan(k) * (k * Math.pow(t_m, 3.0))))) / (2.0 + Math.pow((k / t_m), 2.0));
	} else {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((Math.pow(k, 2.0) * (t_m * ((1.0 - Math.cos((2.0 * k))) / 2.0))) / Math.cos(k)));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (k <= 4e-236)
		tmp = Float64((k ^ -2.0) * (Float64((cbrt(l) ^ 2.0) / t_m) ^ 3.0));
	elseif (k <= 1.4e-9)
		tmp = Float64(Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(k * (t_m ^ 3.0))))) / Float64(2.0 + (Float64(k / t_m) ^ 2.0)));
	else
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64((k ^ 2.0) * Float64(t_m * Float64(Float64(1.0 - cos(Float64(2.0 * k))) / 2.0))) / cos(k))));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 4e-236], N[(N[Power[k, -2.0], $MachinePrecision] * N[Power[N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.4e-9], N[(N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(k * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m * N[(N[(1.0 - N[Cos[N[(2.0 * k), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 4 \cdot 10^{-236}:\\
\;\;\;\;{k}^{-2} \cdot {\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}\\

\mathbf{elif}\;k \leq 1.4 \cdot 10^{-9}:\\
\;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(k \cdot {t_m}^{3}\right)}}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\

\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot \frac{1 - \cos \left(2 \cdot k\right)}{2}\right)}{\cos k}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 17: 60.8% accurate, 1.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;\ell \leq 5.8 \cdot 10^{-164}:\\ \;\;\;\;\frac{{\left(\frac{\frac{1}{t_m}}{{\left(\sqrt[3]{\ell}\right)}^{-2}}\right)}^{3}}{{k}^{2}}\\ \mathbf{elif}\;\ell \leq 9.2 \cdot 10^{+19}:\\ \;\;\;\;\frac{2}{\left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right) \cdot \frac{{t_m}^{3}}{\frac{\frac{{\ell}^{2}}{k}}{\tan k}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}}{{k}^{2}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= l 5.8e-164)
    (/ (pow (/ (/ 1.0 t_m) (pow (cbrt l) -2.0)) 3.0) (pow k 2.0))
    (if (<= l 9.2e+19)
      (/
       2.0
       (*
        (+ 2.0 (pow (/ k t_m) 2.0))
        (/ (pow t_m 3.0) (/ (/ (pow l 2.0) k) (tan k)))))
      (/ (pow (/ (pow (cbrt l) 2.0) t_m) 3.0) (pow k 2.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (l <= 5.8e-164) {
		tmp = pow(((1.0 / t_m) / pow(cbrt(l), -2.0)), 3.0) / pow(k, 2.0);
	} else if (l <= 9.2e+19) {
		tmp = 2.0 / ((2.0 + pow((k / t_m), 2.0)) * (pow(t_m, 3.0) / ((pow(l, 2.0) / k) / tan(k))));
	} else {
		tmp = pow((pow(cbrt(l), 2.0) / t_m), 3.0) / pow(k, 2.0);
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (l <= 5.8e-164) {
		tmp = Math.pow(((1.0 / t_m) / Math.pow(Math.cbrt(l), -2.0)), 3.0) / Math.pow(k, 2.0);
	} else if (l <= 9.2e+19) {
		tmp = 2.0 / ((2.0 + Math.pow((k / t_m), 2.0)) * (Math.pow(t_m, 3.0) / ((Math.pow(l, 2.0) / k) / Math.tan(k))));
	} else {
		tmp = Math.pow((Math.pow(Math.cbrt(l), 2.0) / t_m), 3.0) / Math.pow(k, 2.0);
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (l <= 5.8e-164)
		tmp = Float64((Float64(Float64(1.0 / t_m) / (cbrt(l) ^ -2.0)) ^ 3.0) / (k ^ 2.0));
	elseif (l <= 9.2e+19)
		tmp = Float64(2.0 / Float64(Float64(2.0 + (Float64(k / t_m) ^ 2.0)) * Float64((t_m ^ 3.0) / Float64(Float64((l ^ 2.0) / k) / tan(k)))));
	else
		tmp = Float64((Float64((cbrt(l) ^ 2.0) / t_m) ^ 3.0) / (k ^ 2.0));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[l, 5.8e-164], N[(N[Power[N[(N[(1.0 / t$95$m), $MachinePrecision] / N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[l, 9.2e+19], N[(2.0 / N[(N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(N[(N[Power[l, 2.0], $MachinePrecision] / k), $MachinePrecision] / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;\ell \leq 5.8 \cdot 10^{-164}:\\
\;\;\;\;\frac{{\left(\frac{\frac{1}{t_m}}{{\left(\sqrt[3]{\ell}\right)}^{-2}}\right)}^{3}}{{k}^{2}}\\

\mathbf{elif}\;\ell \leq 9.2 \cdot 10^{+19}:\\
\;\;\;\;\frac{2}{\left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right) \cdot \frac{{t_m}^{3}}{\frac{\frac{{\ell}^{2}}{k}}{\tan k}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{{\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}}{{k}^{2}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 18: 61.0% accurate, 1.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;\ell \cdot \ell \leq 0 \lor \neg \left(\ell \cdot \ell \leq 2 \cdot 10^{+37}\right):\\ \;\;\;\;{k}^{-2} \cdot {\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(k \cdot {t_m}^{3}\right)}}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (or (<= (* l l) 0.0) (not (<= (* l l) 2e+37)))
    (* (pow k -2.0) (pow (/ (pow (cbrt l) 2.0) t_m) 3.0))
    (/
     (* (* l l) (/ 2.0 (* (tan k) (* k (pow t_m 3.0)))))
     (+ 2.0 (pow (/ k t_m) 2.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (((l * l) <= 0.0) || !((l * l) <= 2e+37)) {
		tmp = pow(k, -2.0) * pow((pow(cbrt(l), 2.0) / t_m), 3.0);
	} else {
		tmp = ((l * l) * (2.0 / (tan(k) * (k * pow(t_m, 3.0))))) / (2.0 + pow((k / t_m), 2.0));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (((l * l) <= 0.0) || !((l * l) <= 2e+37)) {
		tmp = Math.pow(k, -2.0) * Math.pow((Math.pow(Math.cbrt(l), 2.0) / t_m), 3.0);
	} else {
		tmp = ((l * l) * (2.0 / (Math.tan(k) * (k * Math.pow(t_m, 3.0))))) / (2.0 + Math.pow((k / t_m), 2.0));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if ((Float64(l * l) <= 0.0) || !(Float64(l * l) <= 2e+37))
		tmp = Float64((k ^ -2.0) * (Float64((cbrt(l) ^ 2.0) / t_m) ^ 3.0));
	else
		tmp = Float64(Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(k * (t_m ^ 3.0))))) / Float64(2.0 + (Float64(k / t_m) ^ 2.0)));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[Or[LessEqual[N[(l * l), $MachinePrecision], 0.0], N[Not[LessEqual[N[(l * l), $MachinePrecision], 2e+37]], $MachinePrecision]], N[(N[Power[k, -2.0], $MachinePrecision] * N[Power[N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], N[(N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(k * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;\ell \cdot \ell \leq 0 \lor \neg \left(\ell \cdot \ell \leq 2 \cdot 10^{+37}\right):\\
\;\;\;\;{k}^{-2} \cdot {\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(k \cdot {t_m}^{3}\right)}}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 19: 61.2% accurate, 1.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;\ell \cdot \ell \leq 0 \lor \neg \left(\ell \cdot \ell \leq 2 \cdot 10^{+37}\right):\\ \;\;\;\;\frac{{\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}}{{k}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(k \cdot {t_m}^{3}\right)}}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (or (<= (* l l) 0.0) (not (<= (* l l) 2e+37)))
    (/ (pow (/ (pow (cbrt l) 2.0) t_m) 3.0) (pow k 2.0))
    (/
     (* (* l l) (/ 2.0 (* (tan k) (* k (pow t_m 3.0)))))
     (+ 2.0 (pow (/ k t_m) 2.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (((l * l) <= 0.0) || !((l * l) <= 2e+37)) {
		tmp = pow((pow(cbrt(l), 2.0) / t_m), 3.0) / pow(k, 2.0);
	} else {
		tmp = ((l * l) * (2.0 / (tan(k) * (k * pow(t_m, 3.0))))) / (2.0 + pow((k / t_m), 2.0));
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (((l * l) <= 0.0) || !((l * l) <= 2e+37)) {
		tmp = Math.pow((Math.pow(Math.cbrt(l), 2.0) / t_m), 3.0) / Math.pow(k, 2.0);
	} else {
		tmp = ((l * l) * (2.0 / (Math.tan(k) * (k * Math.pow(t_m, 3.0))))) / (2.0 + Math.pow((k / t_m), 2.0));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if ((Float64(l * l) <= 0.0) || !(Float64(l * l) <= 2e+37))
		tmp = Float64((Float64((cbrt(l) ^ 2.0) / t_m) ^ 3.0) / (k ^ 2.0));
	else
		tmp = Float64(Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(k * (t_m ^ 3.0))))) / Float64(2.0 + (Float64(k / t_m) ^ 2.0)));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[Or[LessEqual[N[(l * l), $MachinePrecision], 0.0], N[Not[LessEqual[N[(l * l), $MachinePrecision], 2e+37]], $MachinePrecision]], N[(N[Power[N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision], N[(N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(k * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;\ell \cdot \ell \leq 0 \lor \neg \left(\ell \cdot \ell \leq 2 \cdot 10^{+37}\right):\\
\;\;\;\;\frac{{\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}}{{k}^{2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(k \cdot {t_m}^{3}\right)}}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 20: 60.7% accurate, 1.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;\ell \leq 5.6 \cdot 10^{-164}:\\ \;\;\;\;\frac{{\left(\frac{\frac{1}{t_m}}{{\left(\sqrt[3]{\ell}\right)}^{-2}}\right)}^{3}}{{k}^{2}}\\ \mathbf{elif}\;\ell \leq 1.4 \cdot 10^{+20}:\\ \;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(k \cdot {t_m}^{3}\right)}}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}}{{k}^{2}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= l 5.6e-164)
    (/ (pow (/ (/ 1.0 t_m) (pow (cbrt l) -2.0)) 3.0) (pow k 2.0))
    (if (<= l 1.4e+20)
      (/
       (* (* l l) (/ 2.0 (* (tan k) (* k (pow t_m 3.0)))))
       (+ 2.0 (pow (/ k t_m) 2.0)))
      (/ (pow (/ (pow (cbrt l) 2.0) t_m) 3.0) (pow k 2.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (l <= 5.6e-164) {
		tmp = pow(((1.0 / t_m) / pow(cbrt(l), -2.0)), 3.0) / pow(k, 2.0);
	} else if (l <= 1.4e+20) {
		tmp = ((l * l) * (2.0 / (tan(k) * (k * pow(t_m, 3.0))))) / (2.0 + pow((k / t_m), 2.0));
	} else {
		tmp = pow((pow(cbrt(l), 2.0) / t_m), 3.0) / pow(k, 2.0);
	}
	return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (l <= 5.6e-164) {
		tmp = Math.pow(((1.0 / t_m) / Math.pow(Math.cbrt(l), -2.0)), 3.0) / Math.pow(k, 2.0);
	} else if (l <= 1.4e+20) {
		tmp = ((l * l) * (2.0 / (Math.tan(k) * (k * Math.pow(t_m, 3.0))))) / (2.0 + Math.pow((k / t_m), 2.0));
	} else {
		tmp = Math.pow((Math.pow(Math.cbrt(l), 2.0) / t_m), 3.0) / Math.pow(k, 2.0);
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (l <= 5.6e-164)
		tmp = Float64((Float64(Float64(1.0 / t_m) / (cbrt(l) ^ -2.0)) ^ 3.0) / (k ^ 2.0));
	elseif (l <= 1.4e+20)
		tmp = Float64(Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(k * (t_m ^ 3.0))))) / Float64(2.0 + (Float64(k / t_m) ^ 2.0)));
	else
		tmp = Float64((Float64((cbrt(l) ^ 2.0) / t_m) ^ 3.0) / (k ^ 2.0));
	end
	return Float64(t_s * tmp)
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[l, 5.6e-164], N[(N[Power[N[(N[(1.0 / t$95$m), $MachinePrecision] / N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[l, 1.4e+20], N[(N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(k * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;\ell \leq 5.6 \cdot 10^{-164}:\\
\;\;\;\;\frac{{\left(\frac{\frac{1}{t_m}}{{\left(\sqrt[3]{\ell}\right)}^{-2}}\right)}^{3}}{{k}^{2}}\\

\mathbf{elif}\;\ell \leq 1.4 \cdot 10^{+20}:\\
\;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(k \cdot {t_m}^{3}\right)}}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\

\mathbf{else}:\\
\;\;\;\;\frac{{\left(\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{t_m}\right)}^{3}}{{k}^{2}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 21: 61.4% accurate, 1.3× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 4.5 \cdot 10^{-24}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{t_m \cdot {k}^{4}}{\cos k}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{2 \cdot \left(\frac{k}{\cos k} \cdot \frac{k}{\frac{{\ell}^{2}}{{t_m}^{3}}}\right)}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 4.5e-24)
    (* 2.0 (/ (pow l 2.0) (/ (* t_m (pow k 4.0)) (cos k))))
    (/ 2.0 (* 2.0 (* (/ k (cos k)) (/ k (/ (pow l 2.0) (pow t_m 3.0)))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 4.5e-24) {
		tmp = 2.0 * (pow(l, 2.0) / ((t_m * pow(k, 4.0)) / cos(k)));
	} else {
		tmp = 2.0 / (2.0 * ((k / cos(k)) * (k / (pow(l, 2.0) / pow(t_m, 3.0)))));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 4.5d-24) then
        tmp = 2.0d0 * ((l ** 2.0d0) / ((t_m * (k ** 4.0d0)) / cos(k)))
    else
        tmp = 2.0d0 / (2.0d0 * ((k / cos(k)) * (k / ((l ** 2.0d0) / (t_m ** 3.0d0)))))
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 4.5e-24) {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((t_m * Math.pow(k, 4.0)) / Math.cos(k)));
	} else {
		tmp = 2.0 / (2.0 * ((k / Math.cos(k)) * (k / (Math.pow(l, 2.0) / Math.pow(t_m, 3.0)))));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 4.5e-24:
		tmp = 2.0 * (math.pow(l, 2.0) / ((t_m * math.pow(k, 4.0)) / math.cos(k)))
	else:
		tmp = 2.0 / (2.0 * ((k / math.cos(k)) * (k / (math.pow(l, 2.0) / math.pow(t_m, 3.0)))))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 4.5e-24)
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64(t_m * (k ^ 4.0)) / cos(k))));
	else
		tmp = Float64(2.0 / Float64(2.0 * Float64(Float64(k / cos(k)) * Float64(k / Float64((l ^ 2.0) / (t_m ^ 3.0))))));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 4.5e-24)
		tmp = 2.0 * ((l ^ 2.0) / ((t_m * (k ^ 4.0)) / cos(k)));
	else
		tmp = 2.0 / (2.0 * ((k / cos(k)) * (k / ((l ^ 2.0) / (t_m ^ 3.0)))));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 4.5e-24], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(2.0 * N[(N[(k / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(k / N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 4.5 \cdot 10^{-24}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{t_m \cdot {k}^{4}}{\cos k}}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{2 \cdot \left(\frac{k}{\cos k} \cdot \frac{k}{\frac{{\ell}^{2}}{{t_m}^{3}}}\right)}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 22: 62.1% accurate, 1.3× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 4.8 \cdot 10^{-24}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{t_m \cdot {k}^{4}}{\cos k}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{2 \cdot \left(\frac{k \cdot {t_m}^{3}}{{\ell}^{2}} \cdot \frac{k}{\cos k}\right)}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 4.8e-24)
    (* 2.0 (/ (pow l 2.0) (/ (* t_m (pow k 4.0)) (cos k))))
    (/ 2.0 (* 2.0 (* (/ (* k (pow t_m 3.0)) (pow l 2.0)) (/ k (cos k))))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 4.8e-24) {
		tmp = 2.0 * (pow(l, 2.0) / ((t_m * pow(k, 4.0)) / cos(k)));
	} else {
		tmp = 2.0 / (2.0 * (((k * pow(t_m, 3.0)) / pow(l, 2.0)) * (k / cos(k))));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 4.8d-24) then
        tmp = 2.0d0 * ((l ** 2.0d0) / ((t_m * (k ** 4.0d0)) / cos(k)))
    else
        tmp = 2.0d0 / (2.0d0 * (((k * (t_m ** 3.0d0)) / (l ** 2.0d0)) * (k / cos(k))))
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 4.8e-24) {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((t_m * Math.pow(k, 4.0)) / Math.cos(k)));
	} else {
		tmp = 2.0 / (2.0 * (((k * Math.pow(t_m, 3.0)) / Math.pow(l, 2.0)) * (k / Math.cos(k))));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 4.8e-24:
		tmp = 2.0 * (math.pow(l, 2.0) / ((t_m * math.pow(k, 4.0)) / math.cos(k)))
	else:
		tmp = 2.0 / (2.0 * (((k * math.pow(t_m, 3.0)) / math.pow(l, 2.0)) * (k / math.cos(k))))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 4.8e-24)
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64(t_m * (k ^ 4.0)) / cos(k))));
	else
		tmp = Float64(2.0 / Float64(2.0 * Float64(Float64(Float64(k * (t_m ^ 3.0)) / (l ^ 2.0)) * Float64(k / cos(k)))));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 4.8e-24)
		tmp = 2.0 * ((l ^ 2.0) / ((t_m * (k ^ 4.0)) / cos(k)));
	else
		tmp = 2.0 / (2.0 * (((k * (t_m ^ 3.0)) / (l ^ 2.0)) * (k / cos(k))));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 4.8e-24], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(2.0 * N[(N[(N[(k * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(k / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 4.8 \cdot 10^{-24}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{t_m \cdot {k}^{4}}{\cos k}}\\

\mathbf{else}:\\
\;\;\;\;\frac{2}{2 \cdot \left(\frac{k \cdot {t_m}^{3}}{{\ell}^{2}} \cdot \frac{k}{\cos k}\right)}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 23: 57.1% accurate, 1.3× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 1.9 \cdot 10^{+26}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{t_m \cdot {k}^{4}}{\cos k}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{k}^{2} \cdot {t_m}^{3}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 1.9e+26)
    (* 2.0 (/ (pow l 2.0) (/ (* t_m (pow k 4.0)) (cos k))))
    (/ (pow l 2.0) (* (pow k 2.0) (pow t_m 3.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 1.9e+26) {
		tmp = 2.0 * (pow(l, 2.0) / ((t_m * pow(k, 4.0)) / cos(k)));
	} else {
		tmp = pow(l, 2.0) / (pow(k, 2.0) * pow(t_m, 3.0));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 1.9d+26) then
        tmp = 2.0d0 * ((l ** 2.0d0) / ((t_m * (k ** 4.0d0)) / cos(k)))
    else
        tmp = (l ** 2.0d0) / ((k ** 2.0d0) * (t_m ** 3.0d0))
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 1.9e+26) {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((t_m * Math.pow(k, 4.0)) / Math.cos(k)));
	} else {
		tmp = Math.pow(l, 2.0) / (Math.pow(k, 2.0) * Math.pow(t_m, 3.0));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 1.9e+26:
		tmp = 2.0 * (math.pow(l, 2.0) / ((t_m * math.pow(k, 4.0)) / math.cos(k)))
	else:
		tmp = math.pow(l, 2.0) / (math.pow(k, 2.0) * math.pow(t_m, 3.0))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 1.9e+26)
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64(t_m * (k ^ 4.0)) / cos(k))));
	else
		tmp = Float64((l ^ 2.0) / Float64((k ^ 2.0) * (t_m ^ 3.0)));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 1.9e+26)
		tmp = 2.0 * ((l ^ 2.0) / ((t_m * (k ^ 4.0)) / cos(k)));
	else
		tmp = (l ^ 2.0) / ((k ^ 2.0) * (t_m ^ 3.0));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.9e+26], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[Power[k, 2.0], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.9 \cdot 10^{+26}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{t_m \cdot {k}^{4}}{\cos k}}\\

\mathbf{else}:\\
\;\;\;\;\frac{{\ell}^{2}}{{k}^{2} \cdot {t_m}^{3}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 24: 56.5% accurate, 1.4× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 1.4 \cdot 10^{-24}:\\ \;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\ \mathbf{else}:\\ \;\;\;\;{k}^{-2} \cdot \frac{{\ell}^{2}}{{t_m}^{3}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 1.4e-24)
    (* 2.0 (/ (/ (pow l 2.0) (pow k 4.0)) t_m))
    (* (pow k -2.0) (/ (pow l 2.0) (pow t_m 3.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 1.4e-24) {
		tmp = 2.0 * ((pow(l, 2.0) / pow(k, 4.0)) / t_m);
	} else {
		tmp = pow(k, -2.0) * (pow(l, 2.0) / pow(t_m, 3.0));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 1.4d-24) then
        tmp = 2.0d0 * (((l ** 2.0d0) / (k ** 4.0d0)) / t_m)
    else
        tmp = (k ** (-2.0d0)) * ((l ** 2.0d0) / (t_m ** 3.0d0))
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 1.4e-24) {
		tmp = 2.0 * ((Math.pow(l, 2.0) / Math.pow(k, 4.0)) / t_m);
	} else {
		tmp = Math.pow(k, -2.0) * (Math.pow(l, 2.0) / Math.pow(t_m, 3.0));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 1.4e-24:
		tmp = 2.0 * ((math.pow(l, 2.0) / math.pow(k, 4.0)) / t_m)
	else:
		tmp = math.pow(k, -2.0) * (math.pow(l, 2.0) / math.pow(t_m, 3.0))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 1.4e-24)
		tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) / (k ^ 4.0)) / t_m));
	else
		tmp = Float64((k ^ -2.0) * Float64((l ^ 2.0) / (t_m ^ 3.0)));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 1.4e-24)
		tmp = 2.0 * (((l ^ 2.0) / (k ^ 4.0)) / t_m);
	else
		tmp = (k ^ -2.0) * ((l ^ 2.0) / (t_m ^ 3.0));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.4e-24], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision], N[(N[Power[k, -2.0], $MachinePrecision] * N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.4 \cdot 10^{-24}:\\
\;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\

\mathbf{else}:\\
\;\;\;\;{k}^{-2} \cdot \frac{{\ell}^{2}}{{t_m}^{3}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 25: 57.1% accurate, 1.4× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 1.4 \cdot 10^{-23}:\\ \;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\ \mathbf{else}:\\ \;\;\;\;{\ell}^{2} \cdot \left({k}^{-2} \cdot {t_m}^{-3}\right)\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 1.4e-23)
    (* 2.0 (/ (/ (pow l 2.0) (pow k 4.0)) t_m))
    (* (pow l 2.0) (* (pow k -2.0) (pow t_m -3.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 1.4e-23) {
		tmp = 2.0 * ((pow(l, 2.0) / pow(k, 4.0)) / t_m);
	} else {
		tmp = pow(l, 2.0) * (pow(k, -2.0) * pow(t_m, -3.0));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 1.4d-23) then
        tmp = 2.0d0 * (((l ** 2.0d0) / (k ** 4.0d0)) / t_m)
    else
        tmp = (l ** 2.0d0) * ((k ** (-2.0d0)) * (t_m ** (-3.0d0)))
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 1.4e-23) {
		tmp = 2.0 * ((Math.pow(l, 2.0) / Math.pow(k, 4.0)) / t_m);
	} else {
		tmp = Math.pow(l, 2.0) * (Math.pow(k, -2.0) * Math.pow(t_m, -3.0));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 1.4e-23:
		tmp = 2.0 * ((math.pow(l, 2.0) / math.pow(k, 4.0)) / t_m)
	else:
		tmp = math.pow(l, 2.0) * (math.pow(k, -2.0) * math.pow(t_m, -3.0))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 1.4e-23)
		tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) / (k ^ 4.0)) / t_m));
	else
		tmp = Float64((l ^ 2.0) * Float64((k ^ -2.0) * (t_m ^ -3.0)));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 1.4e-23)
		tmp = 2.0 * (((l ^ 2.0) / (k ^ 4.0)) / t_m);
	else
		tmp = (l ^ 2.0) * ((k ^ -2.0) * (t_m ^ -3.0));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.4e-23], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] * N[(N[Power[k, -2.0], $MachinePrecision] * N[Power[t$95$m, -3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.4 \cdot 10^{-23}:\\
\;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\

\mathbf{else}:\\
\;\;\;\;{\ell}^{2} \cdot \left({k}^{-2} \cdot {t_m}^{-3}\right)\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 26: 56.9% accurate, 1.4× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 7.6 \cdot 10^{-24}:\\ \;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2} \cdot {t_m}^{-3}}{{k}^{2}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 7.6e-24)
    (* 2.0 (/ (/ (pow l 2.0) (pow k 4.0)) t_m))
    (/ (* (pow l 2.0) (pow t_m -3.0)) (pow k 2.0)))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 7.6e-24) {
		tmp = 2.0 * ((pow(l, 2.0) / pow(k, 4.0)) / t_m);
	} else {
		tmp = (pow(l, 2.0) * pow(t_m, -3.0)) / pow(k, 2.0);
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 7.6d-24) then
        tmp = 2.0d0 * (((l ** 2.0d0) / (k ** 4.0d0)) / t_m)
    else
        tmp = ((l ** 2.0d0) * (t_m ** (-3.0d0))) / (k ** 2.0d0)
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 7.6e-24) {
		tmp = 2.0 * ((Math.pow(l, 2.0) / Math.pow(k, 4.0)) / t_m);
	} else {
		tmp = (Math.pow(l, 2.0) * Math.pow(t_m, -3.0)) / Math.pow(k, 2.0);
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 7.6e-24:
		tmp = 2.0 * ((math.pow(l, 2.0) / math.pow(k, 4.0)) / t_m)
	else:
		tmp = (math.pow(l, 2.0) * math.pow(t_m, -3.0)) / math.pow(k, 2.0)
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 7.6e-24)
		tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) / (k ^ 4.0)) / t_m));
	else
		tmp = Float64(Float64((l ^ 2.0) * (t_m ^ -3.0)) / (k ^ 2.0));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 7.6e-24)
		tmp = 2.0 * (((l ^ 2.0) / (k ^ 4.0)) / t_m);
	else
		tmp = ((l ^ 2.0) * (t_m ^ -3.0)) / (k ^ 2.0);
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 7.6e-24], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision], N[(N[(N[Power[l, 2.0], $MachinePrecision] * N[Power[t$95$m, -3.0], $MachinePrecision]), $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 7.6 \cdot 10^{-24}:\\
\;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\

\mathbf{else}:\\
\;\;\;\;\frac{{\ell}^{2} \cdot {t_m}^{-3}}{{k}^{2}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 27: 56.7% accurate, 1.4× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 1.65 \cdot 10^{-23}:\\ \;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{{\ell}^{2}}{{t_m}^{3}}}{{k}^{2}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 1.65e-23)
    (* 2.0 (/ (/ (pow l 2.0) (pow k 4.0)) t_m))
    (/ (/ (pow l 2.0) (pow t_m 3.0)) (pow k 2.0)))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 1.65e-23) {
		tmp = 2.0 * ((pow(l, 2.0) / pow(k, 4.0)) / t_m);
	} else {
		tmp = (pow(l, 2.0) / pow(t_m, 3.0)) / pow(k, 2.0);
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 1.65d-23) then
        tmp = 2.0d0 * (((l ** 2.0d0) / (k ** 4.0d0)) / t_m)
    else
        tmp = ((l ** 2.0d0) / (t_m ** 3.0d0)) / (k ** 2.0d0)
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 1.65e-23) {
		tmp = 2.0 * ((Math.pow(l, 2.0) / Math.pow(k, 4.0)) / t_m);
	} else {
		tmp = (Math.pow(l, 2.0) / Math.pow(t_m, 3.0)) / Math.pow(k, 2.0);
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 1.65e-23:
		tmp = 2.0 * ((math.pow(l, 2.0) / math.pow(k, 4.0)) / t_m)
	else:
		tmp = (math.pow(l, 2.0) / math.pow(t_m, 3.0)) / math.pow(k, 2.0)
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 1.65e-23)
		tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) / (k ^ 4.0)) / t_m));
	else
		tmp = Float64(Float64((l ^ 2.0) / (t_m ^ 3.0)) / (k ^ 2.0));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 1.65e-23)
		tmp = 2.0 * (((l ^ 2.0) / (k ^ 4.0)) / t_m);
	else
		tmp = ((l ^ 2.0) / (t_m ^ 3.0)) / (k ^ 2.0);
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.65e-23], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision], N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.65 \cdot 10^{-23}:\\
\;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{{\ell}^{2}}{{t_m}^{3}}}{{k}^{2}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 28: 57.1% accurate, 1.4× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 4.5 \cdot 10^{-24}:\\ \;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{k}^{2} \cdot {t_m}^{3}}\\ \end{array} \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (*
  t_s
  (if (<= t_m 4.5e-24)
    (* 2.0 (/ (/ (pow l 2.0) (pow k 4.0)) t_m))
    (/ (pow l 2.0) (* (pow k 2.0) (pow t_m 3.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 4.5e-24) {
		tmp = 2.0 * ((pow(l, 2.0) / pow(k, 4.0)) / t_m);
	} else {
		tmp = pow(l, 2.0) / (pow(k, 2.0) * pow(t_m, 3.0));
	}
	return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    real(8) :: tmp
    if (t_m <= 4.5d-24) then
        tmp = 2.0d0 * (((l ** 2.0d0) / (k ** 4.0d0)) / t_m)
    else
        tmp = (l ** 2.0d0) / ((k ** 2.0d0) * (t_m ** 3.0d0))
    end if
    code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	double tmp;
	if (t_m <= 4.5e-24) {
		tmp = 2.0 * ((Math.pow(l, 2.0) / Math.pow(k, 4.0)) / t_m);
	} else {
		tmp = Math.pow(l, 2.0) / (Math.pow(k, 2.0) * Math.pow(t_m, 3.0));
	}
	return t_s * tmp;
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	tmp = 0
	if t_m <= 4.5e-24:
		tmp = 2.0 * ((math.pow(l, 2.0) / math.pow(k, 4.0)) / t_m)
	else:
		tmp = math.pow(l, 2.0) / (math.pow(k, 2.0) * math.pow(t_m, 3.0))
	return t_s * tmp
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	tmp = 0.0
	if (t_m <= 4.5e-24)
		tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) / (k ^ 4.0)) / t_m));
	else
		tmp = Float64((l ^ 2.0) / Float64((k ^ 2.0) * (t_m ^ 3.0)));
	end
	return Float64(t_s * tmp)
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp_2 = code(t_s, t_m, l, k)
	tmp = 0.0;
	if (t_m <= 4.5e-24)
		tmp = 2.0 * (((l ^ 2.0) / (k ^ 4.0)) / t_m);
	else
		tmp = (l ^ 2.0) / ((k ^ 2.0) * (t_m ^ 3.0));
	end
	tmp_2 = t_s * tmp;
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 4.5e-24], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[Power[k, 2.0], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 4.5 \cdot 10^{-24}:\\
\;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\\

\mathbf{else}:\\
\;\;\;\;\frac{{\ell}^{2}}{{k}^{2} \cdot {t_m}^{3}}\\


\end{array}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 29: 51.4% accurate, 2.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \left(2 \cdot \frac{{\ell}^{2}}{t_m \cdot {k}^{4}}\right) \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (* t_s (* 2.0 (/ (pow l 2.0) (* t_m (pow k 4.0))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	return t_s * (2.0 * (pow(l, 2.0) / (t_m * pow(k, 4.0))));
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    code = t_s * (2.0d0 * ((l ** 2.0d0) / (t_m * (k ** 4.0d0))))
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	return t_s * (2.0 * (Math.pow(l, 2.0) / (t_m * Math.pow(k, 4.0))));
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	return t_s * (2.0 * (math.pow(l, 2.0) / (t_m * math.pow(k, 4.0))))
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	return Float64(t_s * Float64(2.0 * Float64((l ^ 2.0) / Float64(t_m * (k ^ 4.0)))))
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp = code(t_s, t_m, l, k)
	tmp = t_s * (2.0 * ((l ^ 2.0) / (t_m * (k ^ 4.0))));
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \left(2 \cdot \frac{{\ell}^{2}}{t_m \cdot {k}^{4}}\right)
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 30: 51.5% accurate, 2.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \left(2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\right) \end{array} \]
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
 :precision binary64
 (* t_s (* 2.0 (/ (/ (pow l 2.0) (pow k 4.0)) t_m))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
	return t_s * (2.0 * ((pow(l, 2.0) / pow(k, 4.0)) / t_m));
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
    real(8), intent (in) :: t_s
    real(8), intent (in) :: t_m
    real(8), intent (in) :: l
    real(8), intent (in) :: k
    code = t_s * (2.0d0 * (((l ** 2.0d0) / (k ** 4.0d0)) / t_m))
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
	return t_s * (2.0 * ((Math.pow(l, 2.0) / Math.pow(k, 4.0)) / t_m));
}
t_m = math.fabs(t)
t_s = math.copysign(1.0, t)
def code(t_s, t_m, l, k):
	return t_s * (2.0 * ((math.pow(l, 2.0) / math.pow(k, 4.0)) / t_m))
t_m = abs(t)
t_s = copysign(1.0, t)
function code(t_s, t_m, l, k)
	return Float64(t_s * Float64(2.0 * Float64(Float64((l ^ 2.0) / (k ^ 4.0)) / t_m)))
end
t_m = abs(t);
t_s = sign(t) * abs(1.0);
function tmp = code(t_s, t_m, l, k)
	tmp = t_s * (2.0 * (((l ^ 2.0) / (k ^ 4.0)) / t_m));
end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
t_s \cdot \left(2 \cdot \frac{\frac{{\ell}^{2}}{{k}^{4}}}{t_m}\right)
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Reproduce

?
herbie shell --seed 2024003 
(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))))