Toniolo and Linder, Equation (10+)

Percentage Accurate: 53.9% → 86.7%
Time: 28.9s
Alternatives: 21
Speedup: 2.0×

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 21 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: 53.9% 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: 86.7% 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 := \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 9 \cdot 10^{-210}:\\ \;\;\;\;{\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\ \mathbf{elif}\;t_m \leq 5.2 \cdot 10^{-111}:\\ \;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\sin k}^{2}}\\ \mathbf{elif}\;t_m \leq 1.96 \cdot 10^{-44} \lor \neg \left(t_m \leq 5.2 \cdot 10^{+102}\right):\\ \;\;\;\;\frac{2}{{\left(\left(\sqrt[3]{\sin k} \cdot \frac{t_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right) \cdot \sqrt[3]{\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)}\right)}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\ell \cdot 2}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)}}{t_2} \cdot \frac{\ell}{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 (hypot 1.0 (hypot 1.0 (/ k t_m)))))
   (*
    t_s
    (if (<= t_m 9e-210)
      (pow (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos k) t_m))) 2.0)
      (if (<= t_m 5.2e-111)
        (*
         (/ 2.0 (* t_m (pow k 2.0)))
         (/ (* (cos k) (pow l 2.0)) (pow (sin k) 2.0)))
        (if (or (<= t_m 1.96e-44) (not (<= t_m 5.2e+102)))
          (/
           2.0
           (pow
            (*
             (* (cbrt (sin k)) (/ t_m (pow (cbrt l) 2.0)))
             (cbrt (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))))
            3.0))
          (*
           (/ (/ (* l 2.0) (* (sin k) (* (tan k) (pow t_m 3.0)))) t_2)
           (/ l 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 = hypot(1.0, hypot(1.0, (k / t_m)));
	double tmp;
	if (t_m <= 9e-210) {
		tmp = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 2.0);
	} else if (t_m <= 5.2e-111) {
		tmp = (2.0 / (t_m * pow(k, 2.0))) * ((cos(k) * pow(l, 2.0)) / pow(sin(k), 2.0));
	} else if ((t_m <= 1.96e-44) || !(t_m <= 5.2e+102)) {
		tmp = 2.0 / pow(((cbrt(sin(k)) * (t_m / pow(cbrt(l), 2.0))) * cbrt((tan(k) * (2.0 + pow((k / t_m), 2.0))))), 3.0);
	} else {
		tmp = (((l * 2.0) / (sin(k) * (tan(k) * pow(t_m, 3.0)))) / t_2) * (l / 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.hypot(1.0, Math.hypot(1.0, (k / t_m)));
	double tmp;
	if (t_m <= 9e-210) {
		tmp = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 2.0);
	} else if (t_m <= 5.2e-111) {
		tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.cos(k) * Math.pow(l, 2.0)) / Math.pow(Math.sin(k), 2.0));
	} else if ((t_m <= 1.96e-44) || !(t_m <= 5.2e+102)) {
		tmp = 2.0 / Math.pow(((Math.cbrt(Math.sin(k)) * (t_m / Math.pow(Math.cbrt(l), 2.0))) * Math.cbrt((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))))), 3.0);
	} else {
		tmp = (((l * 2.0) / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) / t_2) * (l / 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 = hypot(1.0, hypot(1.0, Float64(k / t_m)))
	tmp = 0.0
	if (t_m <= 9e-210)
		tmp = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 2.0;
	elseif (t_m <= 5.2e-111)
		tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64(cos(k) * (l ^ 2.0)) / (sin(k) ^ 2.0)));
	elseif ((t_m <= 1.96e-44) || !(t_m <= 5.2e+102))
		tmp = Float64(2.0 / (Float64(Float64(cbrt(sin(k)) * Float64(t_m / (cbrt(l) ^ 2.0))) * cbrt(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))))) ^ 3.0));
	else
		tmp = Float64(Float64(Float64(Float64(l * 2.0) / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) / t_2) * Float64(l / 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[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, 9e-210], N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[t$95$m, 5.2e-111], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t$95$m, 1.96e-44], N[Not[LessEqual[t$95$m, 5.2e+102]], $MachinePrecision]], N[(2.0 / N[Power[N[(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] * N[Power[N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[(l * 2.0), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision] * N[(l / t$95$2), $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 9 \cdot 10^{-210}:\\
\;\;\;\;{\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\

\mathbf{elif}\;t_m \leq 5.2 \cdot 10^{-111}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\sin k}^{2}}\\

\mathbf{elif}\;t_m \leq 1.96 \cdot 10^{-44} \lor \neg \left(t_m \leq 5.2 \cdot 10^{+102}\right):\\
\;\;\;\;\frac{2}{{\left(\left(\sqrt[3]{\sin k} \cdot \frac{t_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right) \cdot \sqrt[3]{\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)}\right)}^{3}}\\

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


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

Alternative 2: 75.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 := {\left(\frac{k}{t_m}\right)}^{2}\\ t_s \cdot \begin{array}{l} \mathbf{if}\;\frac{2}{\left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \cdot \left(1 + \left(t_2 + 1\right)\right)} \leq 2 \cdot 10^{+245}:\\ \;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{2 + t_2}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;{\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{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 (<=
         (/
          2.0
          (*
           (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))
           (+ 1.0 (+ t_2 1.0))))
         2e+245)
      (/ (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0)))) (/ (+ 2.0 t_2) l))
      (pow
       (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos 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 = pow((k / t_m), 2.0);
	double tmp;
	if ((2.0 / ((tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0)))) <= 2e+245) {
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0)))) / ((2.0 + t_2) / l);
	} else {
		tmp = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 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) :: t_2
    real(8) :: tmp
    t_2 = (k / t_m) ** 2.0d0
    if ((2.0d0 / ((tan(k) * (sin(k) * ((t_m ** 3.0d0) / (l * l)))) * (1.0d0 + (t_2 + 1.0d0)))) <= 2d+245) then
        tmp = ((l / sin(k)) * (2.0d0 / (tan(k) * (t_m ** 3.0d0)))) / ((2.0d0 + t_2) / l)
    else
        tmp = (((l * sqrt(2.0d0)) / (k * sin(k))) * sqrt((cos(k) / t_m))) ** 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 t_2 = Math.pow((k / t_m), 2.0);
	double tmp;
	if ((2.0 / ((Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0)))) <= 2e+245) {
		tmp = ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0)))) / ((2.0 + t_2) / l);
	} else {
		tmp = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 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 = math.pow((k / t_m), 2.0)
	tmp = 0
	if (2.0 / ((math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0)))) <= 2e+245:
		tmp = ((l / math.sin(k)) * (2.0 / (math.tan(k) * math.pow(t_m, 3.0)))) / ((2.0 + t_2) / l)
	else:
		tmp = math.pow((((l * math.sqrt(2.0)) / (k * math.sin(k))) * math.sqrt((math.cos(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 = Float64(k / t_m) ^ 2.0
	tmp = 0.0
	if (Float64(2.0 / Float64(Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l)))) * Float64(1.0 + Float64(t_2 + 1.0)))) <= 2e+245)
		tmp = Float64(Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0)))) / Float64(Float64(2.0 + t_2) / l));
	else
		tmp = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 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 = (k / t_m) ^ 2.0;
	tmp = 0.0;
	if ((2.0 / ((tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0)))) <= 2e+245)
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * (t_m ^ 3.0)))) / ((2.0 + t_2) / l);
	else
		tmp = (((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))) ^ 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[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(2.0 / N[(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] * N[(1.0 + N[(t$95$2 + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2e+245], N[(N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(2.0 + t$95$2), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $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}\;\frac{2}{\left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \cdot \left(1 + \left(t_2 + 1\right)\right)} \leq 2 \cdot 10^{+245}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{2 + t_2}{\ell}}\\

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


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

Alternative 3: 69.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 := {\left(\frac{k}{t_m}\right)}^{2}\\ t_s \cdot \begin{array}{l} \mathbf{if}\;\frac{2}{\left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \cdot \left(1 + \left(t_2 + 1\right)\right)} \leq 2 \cdot 10^{+245}:\\ \;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{2 + t_2}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\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 (<=
         (/
          2.0
          (*
           (* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))
           (+ 1.0 (+ t_2 1.0))))
         2e+245)
      (/ (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0)))) (/ (+ 2.0 t_2) l))
      (/
       2.0
       (* (/ (pow k 2.0) (pow l 2.0)) (/ (* t_m (pow 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 ((2.0 / ((tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0)))) <= 2e+245) {
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0)))) / ((2.0 + t_2) / l);
	} else {
		tmp = 2.0 / ((pow(k, 2.0) / pow(l, 2.0)) * ((t_m * pow(k, 2.0)) / 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) :: t_2
    real(8) :: tmp
    t_2 = (k / t_m) ** 2.0d0
    if ((2.0d0 / ((tan(k) * (sin(k) * ((t_m ** 3.0d0) / (l * l)))) * (1.0d0 + (t_2 + 1.0d0)))) <= 2d+245) then
        tmp = ((l / sin(k)) * (2.0d0 / (tan(k) * (t_m ** 3.0d0)))) / ((2.0d0 + t_2) / l)
    else
        tmp = 2.0d0 / (((k ** 2.0d0) / (l ** 2.0d0)) * ((t_m * (k ** 2.0d0)) / 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 t_2 = Math.pow((k / t_m), 2.0);
	double tmp;
	if ((2.0 / ((Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0)))) <= 2e+245) {
		tmp = ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0)))) / ((2.0 + t_2) / l);
	} else {
		tmp = 2.0 / ((Math.pow(k, 2.0) / Math.pow(l, 2.0)) * ((t_m * Math.pow(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 (2.0 / ((math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0)))) <= 2e+245:
		tmp = ((l / math.sin(k)) * (2.0 / (math.tan(k) * math.pow(t_m, 3.0)))) / ((2.0 + t_2) / l)
	else:
		tmp = 2.0 / ((math.pow(k, 2.0) / math.pow(l, 2.0)) * ((t_m * math.pow(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(2.0 / Float64(Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l)))) * Float64(1.0 + Float64(t_2 + 1.0)))) <= 2e+245)
		tmp = Float64(Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0)))) / Float64(Float64(2.0 + t_2) / l));
	else
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) / (l ^ 2.0)) * Float64(Float64(t_m * (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 ((2.0 / ((tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0)))) <= 2e+245)
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * (t_m ^ 3.0)))) / ((2.0 + t_2) / l);
	else
		tmp = 2.0 / (((k ^ 2.0) / (l ^ 2.0)) * ((t_m * (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[(2.0 / N[(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] * N[(1.0 + N[(t$95$2 + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2e+245], N[(N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(2.0 + t$95$2), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$m * N[Power[k, 2.0], $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}\;\frac{2}{\left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \cdot \left(1 + \left(t_2 + 1\right)\right)} \leq 2 \cdot 10^{+245}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{2 + t_2}{\ell}}\\

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


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

Alternative 4: 82.8% 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 := {\sin k}^{2}\\ t_3 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\ t_4 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\ t_5 := \tan k \cdot t_3\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 9.2 \cdot 10^{-210}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_m \leq 1.4 \cdot 10^{-110}:\\ \;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\ \mathbf{elif}\;t_m \leq 5.2 \cdot 10^{-88}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_m \leq 3.5 \cdot 10^{-44}:\\ \;\;\;\;\frac{2}{t_5 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\ \mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\ \mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\ \;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_3}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{t_5 \cdot {\left(\sqrt[3]{\sin k} \cdot \frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3}}\\ \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 (sin k) 2.0))
        (t_3 (+ 2.0 (pow (/ k t_m) 2.0)))
        (t_4
         (pow
          (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos k) t_m)))
          2.0))
        (t_5 (* (tan k) t_3)))
   (*
    t_s
    (if (<= t_m 9.2e-210)
      t_4
      (if (<= t_m 1.4e-110)
        (* (/ 2.0 (* t_m (pow k 2.0))) (/ (* (cos k) (pow l 2.0)) t_2))
        (if (<= t_m 5.2e-88)
          t_4
          (if (<= t_m 3.5e-44)
            (/ 2.0 (* t_5 (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
            (if (<= t_m 4.5e-14)
              (/ 2.0 (/ (* (pow k 2.0) (/ t_m (/ (cos k) t_2))) (pow l 2.0)))
              (if (<= t_m 2.1e+90)
                (/
                 (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0))))
                 (/ t_3 l))
                (/
                 2.0
                 (*
                  t_5
                  (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 t_2 = pow(sin(k), 2.0);
	double t_3 = 2.0 + pow((k / t_m), 2.0);
	double t_4 = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 2.0);
	double t_5 = tan(k) * t_3;
	double tmp;
	if (t_m <= 9.2e-210) {
		tmp = t_4;
	} else if (t_m <= 1.4e-110) {
		tmp = (2.0 / (t_m * pow(k, 2.0))) * ((cos(k) * pow(l, 2.0)) / t_2);
	} else if (t_m <= 5.2e-88) {
		tmp = t_4;
	} else if (t_m <= 3.5e-44) {
		tmp = 2.0 / (t_5 * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((pow(k, 2.0) * (t_m / (cos(k) / t_2))) / pow(l, 2.0));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0)))) / (t_3 / l);
	} else {
		tmp = 2.0 / (t_5 * 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 t_2 = Math.pow(Math.sin(k), 2.0);
	double t_3 = 2.0 + Math.pow((k / t_m), 2.0);
	double t_4 = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 2.0);
	double t_5 = Math.tan(k) * t_3;
	double tmp;
	if (t_m <= 9.2e-210) {
		tmp = t_4;
	} else if (t_m <= 1.4e-110) {
		tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.cos(k) * Math.pow(l, 2.0)) / t_2);
	} else if (t_m <= 5.2e-88) {
		tmp = t_4;
	} else if (t_m <= 3.5e-44) {
		tmp = 2.0 / (t_5 * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((Math.pow(k, 2.0) * (t_m / (Math.cos(k) / t_2))) / Math.pow(l, 2.0));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0)))) / (t_3 / l);
	} else {
		tmp = 2.0 / (t_5 * 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)
	t_2 = sin(k) ^ 2.0
	t_3 = Float64(2.0 + (Float64(k / t_m) ^ 2.0))
	t_4 = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 2.0
	t_5 = Float64(tan(k) * t_3)
	tmp = 0.0
	if (t_m <= 9.2e-210)
		tmp = t_4;
	elseif (t_m <= 1.4e-110)
		tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64(cos(k) * (l ^ 2.0)) / t_2));
	elseif (t_m <= 5.2e-88)
		tmp = t_4;
	elseif (t_m <= 3.5e-44)
		tmp = Float64(2.0 / Float64(t_5 * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l)));
	elseif (t_m <= 4.5e-14)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) * Float64(t_m / Float64(cos(k) / t_2))) / (l ^ 2.0)));
	elseif (t_m <= 2.1e+90)
		tmp = Float64(Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0)))) / Float64(t_3 / l));
	else
		tmp = Float64(2.0 / Float64(t_5 * (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_] := Block[{t$95$2 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$3 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$5 = N[(N[Tan[k], $MachinePrecision] * t$95$3), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 9.2e-210], t$95$4, If[LessEqual[t$95$m, 1.4e-110], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.2e-88], t$95$4, If[LessEqual[t$95$m, 3.5e-44], N[(2.0 / N[(t$95$5 * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 4.5e-14], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m / N[(N[Cos[k], $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.1e+90], N[(N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$3 / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$5 * 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]]]]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := {\sin k}^{2}\\
t_3 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_4 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\
t_5 := \tan k \cdot t_3\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 9.2 \cdot 10^{-210}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;t_m \leq 1.4 \cdot 10^{-110}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\

\mathbf{elif}\;t_m \leq 5.2 \cdot 10^{-88}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;t_m \leq 3.5 \cdot 10^{-44}:\\
\;\;\;\;\frac{2}{t_5 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\

\mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\

\mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_3}{\ell}}\\

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


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

Alternative 5: 84.3% 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 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\ t_3 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 3.4 \cdot 10^{-209}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;t_m \leq 1.06 \cdot 10^{-113}:\\ \;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\sin k}^{2}}\\ \mathbf{elif}\;t_m \leq 3.3 \cdot 10^{-85}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;t_m \leq 2 \cdot 10^{+182}:\\ \;\;\;\;{\left(\frac{\frac{\sqrt[3]{\frac{2}{\tan k}}}{t_m} \cdot \sqrt[3]{\frac{\ell}{\sin k}}}{\sqrt[3]{\frac{t_2}{\ell}}}\right)}^{3}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(\tan k \cdot t_2\right) \cdot {\left(\sqrt[3]{\sin k} \cdot \frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3}}\\ \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 (+ 2.0 (pow (/ k t_m) 2.0)))
        (t_3
         (pow
          (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos k) t_m)))
          2.0)))
   (*
    t_s
    (if (<= t_m 3.4e-209)
      t_3
      (if (<= t_m 1.06e-113)
        (*
         (/ 2.0 (* t_m (pow k 2.0)))
         (/ (* (cos k) (pow l 2.0)) (pow (sin k) 2.0)))
        (if (<= t_m 3.3e-85)
          t_3
          (if (<= t_m 2e+182)
            (pow
             (/
              (* (/ (cbrt (/ 2.0 (tan k))) t_m) (cbrt (/ l (sin k))))
              (cbrt (/ t_2 l)))
             3.0)
            (/
             2.0
             (*
              (* (tan k) t_2)
              (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 t_2 = 2.0 + pow((k / t_m), 2.0);
	double t_3 = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 2.0);
	double tmp;
	if (t_m <= 3.4e-209) {
		tmp = t_3;
	} else if (t_m <= 1.06e-113) {
		tmp = (2.0 / (t_m * pow(k, 2.0))) * ((cos(k) * pow(l, 2.0)) / pow(sin(k), 2.0));
	} else if (t_m <= 3.3e-85) {
		tmp = t_3;
	} else if (t_m <= 2e+182) {
		tmp = pow((((cbrt((2.0 / tan(k))) / t_m) * cbrt((l / sin(k)))) / cbrt((t_2 / l))), 3.0);
	} else {
		tmp = 2.0 / ((tan(k) * t_2) * 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 t_2 = 2.0 + Math.pow((k / t_m), 2.0);
	double t_3 = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 2.0);
	double tmp;
	if (t_m <= 3.4e-209) {
		tmp = t_3;
	} else if (t_m <= 1.06e-113) {
		tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.cos(k) * Math.pow(l, 2.0)) / Math.pow(Math.sin(k), 2.0));
	} else if (t_m <= 3.3e-85) {
		tmp = t_3;
	} else if (t_m <= 2e+182) {
		tmp = Math.pow((((Math.cbrt((2.0 / Math.tan(k))) / t_m) * Math.cbrt((l / Math.sin(k)))) / Math.cbrt((t_2 / l))), 3.0);
	} else {
		tmp = 2.0 / ((Math.tan(k) * t_2) * 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)
	t_2 = Float64(2.0 + (Float64(k / t_m) ^ 2.0))
	t_3 = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 2.0
	tmp = 0.0
	if (t_m <= 3.4e-209)
		tmp = t_3;
	elseif (t_m <= 1.06e-113)
		tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64(cos(k) * (l ^ 2.0)) / (sin(k) ^ 2.0)));
	elseif (t_m <= 3.3e-85)
		tmp = t_3;
	elseif (t_m <= 2e+182)
		tmp = Float64(Float64(Float64(cbrt(Float64(2.0 / tan(k))) / t_m) * cbrt(Float64(l / sin(k)))) / cbrt(Float64(t_2 / l))) ^ 3.0;
	else
		tmp = Float64(2.0 / Float64(Float64(tan(k) * t_2) * (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_] := Block[{t$95$2 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 3.4e-209], t$95$3, If[LessEqual[t$95$m, 1.06e-113], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 3.3e-85], t$95$3, If[LessEqual[t$95$m, 2e+182], N[Power[N[(N[(N[(N[Power[N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] / t$95$m), $MachinePrecision] * N[Power[N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] / N[Power[N[(t$95$2 / l), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * t$95$2), $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]]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

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

\mathbf{elif}\;t_m \leq 1.06 \cdot 10^{-113}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\sin k}^{2}}\\

\mathbf{elif}\;t_m \leq 3.3 \cdot 10^{-85}:\\
\;\;\;\;t_3\\

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

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


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

Alternative 6: 80.8% accurate, 0.7× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := {\sin k}^{2}\\ t_3 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\ t_4 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\ t_5 := \tan k \cdot t_3\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 2.65 \cdot 10^{-210}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_m \leq 1.26 \cdot 10^{-113}:\\ \;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\ \mathbf{elif}\;t_m \leq 6.2 \cdot 10^{-89}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_m \leq 2.8 \cdot 10^{-44}:\\ \;\;\;\;\frac{2}{t_5 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\ \mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\ \mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\ \;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_3}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{t_5 \cdot \left(\sin k \cdot {\left(\frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3}\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 (pow (sin k) 2.0))
        (t_3 (+ 2.0 (pow (/ k t_m) 2.0)))
        (t_4
         (pow
          (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos k) t_m)))
          2.0))
        (t_5 (* (tan k) t_3)))
   (*
    t_s
    (if (<= t_m 2.65e-210)
      t_4
      (if (<= t_m 1.26e-113)
        (* (/ 2.0 (* t_m (pow k 2.0))) (/ (* (cos k) (pow l 2.0)) t_2))
        (if (<= t_m 6.2e-89)
          t_4
          (if (<= t_m 2.8e-44)
            (/ 2.0 (* t_5 (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
            (if (<= t_m 4.5e-14)
              (/ 2.0 (/ (* (pow k 2.0) (/ t_m (/ (cos k) t_2))) (pow l 2.0)))
              (if (<= t_m 2.1e+90)
                (/
                 (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0))))
                 (/ t_3 l))
                (/
                 2.0
                 (*
                  t_5
                  (*
                   (sin k)
                   (pow (/ (/ 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 t_2 = pow(sin(k), 2.0);
	double t_3 = 2.0 + pow((k / t_m), 2.0);
	double t_4 = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 2.0);
	double t_5 = tan(k) * t_3;
	double tmp;
	if (t_m <= 2.65e-210) {
		tmp = t_4;
	} else if (t_m <= 1.26e-113) {
		tmp = (2.0 / (t_m * pow(k, 2.0))) * ((cos(k) * pow(l, 2.0)) / t_2);
	} else if (t_m <= 6.2e-89) {
		tmp = t_4;
	} else if (t_m <= 2.8e-44) {
		tmp = 2.0 / (t_5 * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((pow(k, 2.0) * (t_m / (cos(k) / t_2))) / pow(l, 2.0));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0)))) / (t_3 / l);
	} else {
		tmp = 2.0 / (t_5 * (sin(k) * pow(((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 t_2 = Math.pow(Math.sin(k), 2.0);
	double t_3 = 2.0 + Math.pow((k / t_m), 2.0);
	double t_4 = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 2.0);
	double t_5 = Math.tan(k) * t_3;
	double tmp;
	if (t_m <= 2.65e-210) {
		tmp = t_4;
	} else if (t_m <= 1.26e-113) {
		tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.cos(k) * Math.pow(l, 2.0)) / t_2);
	} else if (t_m <= 6.2e-89) {
		tmp = t_4;
	} else if (t_m <= 2.8e-44) {
		tmp = 2.0 / (t_5 * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((Math.pow(k, 2.0) * (t_m / (Math.cos(k) / t_2))) / Math.pow(l, 2.0));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0)))) / (t_3 / l);
	} else {
		tmp = 2.0 / (t_5 * (Math.sin(k) * Math.pow(((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)
	t_2 = sin(k) ^ 2.0
	t_3 = Float64(2.0 + (Float64(k / t_m) ^ 2.0))
	t_4 = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 2.0
	t_5 = Float64(tan(k) * t_3)
	tmp = 0.0
	if (t_m <= 2.65e-210)
		tmp = t_4;
	elseif (t_m <= 1.26e-113)
		tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64(cos(k) * (l ^ 2.0)) / t_2));
	elseif (t_m <= 6.2e-89)
		tmp = t_4;
	elseif (t_m <= 2.8e-44)
		tmp = Float64(2.0 / Float64(t_5 * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l)));
	elseif (t_m <= 4.5e-14)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) * Float64(t_m / Float64(cos(k) / t_2))) / (l ^ 2.0)));
	elseif (t_m <= 2.1e+90)
		tmp = Float64(Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0)))) / Float64(t_3 / l));
	else
		tmp = Float64(2.0 / Float64(t_5 * Float64(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_] := Block[{t$95$2 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$3 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$5 = N[(N[Tan[k], $MachinePrecision] * t$95$3), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 2.65e-210], t$95$4, If[LessEqual[t$95$m, 1.26e-113], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 6.2e-89], t$95$4, If[LessEqual[t$95$m, 2.8e-44], N[(2.0 / N[(t$95$5 * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 4.5e-14], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m / N[(N[Cos[k], $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.1e+90], N[(N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$3 / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$5 * 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]), $MachinePrecision]), $MachinePrecision]]]]]]]), $MachinePrecision]]]]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

\\
\begin{array}{l}
t_2 := {\sin k}^{2}\\
t_3 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_4 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\
t_5 := \tan k \cdot t_3\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 2.65 \cdot 10^{-210}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;t_m \leq 1.26 \cdot 10^{-113}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\

\mathbf{elif}\;t_m \leq 6.2 \cdot 10^{-89}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;t_m \leq 2.8 \cdot 10^{-44}:\\
\;\;\;\;\frac{2}{t_5 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\

\mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\

\mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_3}{\ell}}\\

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


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

Alternative 7: 80.9% accurate, 0.7× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ \begin{array}{l} t_2 := {\sin k}^{2}\\ t_3 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\ t_4 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\ t_5 := \tan k \cdot t_3\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 1.3 \cdot 10^{-209}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_m \leq 1.15 \cdot 10^{-110}:\\ \;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\ \mathbf{elif}\;t_m \leq 6.6 \cdot 10^{-89}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_m \leq 3.55 \cdot 10^{-44}:\\ \;\;\;\;\frac{2}{t_5 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\ \mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\ \mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\ \;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_3}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\sin k \cdot \left(t_5 \cdot {\left(\frac{t_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3}\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 (pow (sin k) 2.0))
        (t_3 (+ 2.0 (pow (/ k t_m) 2.0)))
        (t_4
         (pow
          (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos k) t_m)))
          2.0))
        (t_5 (* (tan k) t_3)))
   (*
    t_s
    (if (<= t_m 1.3e-209)
      t_4
      (if (<= t_m 1.15e-110)
        (* (/ 2.0 (* t_m (pow k 2.0))) (/ (* (cos k) (pow l 2.0)) t_2))
        (if (<= t_m 6.6e-89)
          t_4
          (if (<= t_m 3.55e-44)
            (/ 2.0 (* t_5 (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
            (if (<= t_m 4.5e-14)
              (/ 2.0 (/ (* (pow k 2.0) (/ t_m (/ (cos k) t_2))) (pow l 2.0)))
              (if (<= t_m 2.1e+90)
                (/
                 (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0))))
                 (/ t_3 l))
                (/
                 2.0
                 (*
                  (sin k)
                  (* t_5 (pow (/ 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 t_2 = pow(sin(k), 2.0);
	double t_3 = 2.0 + pow((k / t_m), 2.0);
	double t_4 = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 2.0);
	double t_5 = tan(k) * t_3;
	double tmp;
	if (t_m <= 1.3e-209) {
		tmp = t_4;
	} else if (t_m <= 1.15e-110) {
		tmp = (2.0 / (t_m * pow(k, 2.0))) * ((cos(k) * pow(l, 2.0)) / t_2);
	} else if (t_m <= 6.6e-89) {
		tmp = t_4;
	} else if (t_m <= 3.55e-44) {
		tmp = 2.0 / (t_5 * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((pow(k, 2.0) * (t_m / (cos(k) / t_2))) / pow(l, 2.0));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0)))) / (t_3 / l);
	} else {
		tmp = 2.0 / (sin(k) * (t_5 * pow((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 t_2 = Math.pow(Math.sin(k), 2.0);
	double t_3 = 2.0 + Math.pow((k / t_m), 2.0);
	double t_4 = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 2.0);
	double t_5 = Math.tan(k) * t_3;
	double tmp;
	if (t_m <= 1.3e-209) {
		tmp = t_4;
	} else if (t_m <= 1.15e-110) {
		tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.cos(k) * Math.pow(l, 2.0)) / t_2);
	} else if (t_m <= 6.6e-89) {
		tmp = t_4;
	} else if (t_m <= 3.55e-44) {
		tmp = 2.0 / (t_5 * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((Math.pow(k, 2.0) * (t_m / (Math.cos(k) / t_2))) / Math.pow(l, 2.0));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0)))) / (t_3 / l);
	} else {
		tmp = 2.0 / (Math.sin(k) * (t_5 * Math.pow((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)
	t_2 = sin(k) ^ 2.0
	t_3 = Float64(2.0 + (Float64(k / t_m) ^ 2.0))
	t_4 = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 2.0
	t_5 = Float64(tan(k) * t_3)
	tmp = 0.0
	if (t_m <= 1.3e-209)
		tmp = t_4;
	elseif (t_m <= 1.15e-110)
		tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64(cos(k) * (l ^ 2.0)) / t_2));
	elseif (t_m <= 6.6e-89)
		tmp = t_4;
	elseif (t_m <= 3.55e-44)
		tmp = Float64(2.0 / Float64(t_5 * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l)));
	elseif (t_m <= 4.5e-14)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) * Float64(t_m / Float64(cos(k) / t_2))) / (l ^ 2.0)));
	elseif (t_m <= 2.1e+90)
		tmp = Float64(Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0)))) / Float64(t_3 / l));
	else
		tmp = Float64(2.0 / Float64(sin(k) * Float64(t_5 * (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_] := Block[{t$95$2 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$3 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$5 = N[(N[Tan[k], $MachinePrecision] * t$95$3), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 1.3e-209], t$95$4, If[LessEqual[t$95$m, 1.15e-110], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 6.6e-89], t$95$4, If[LessEqual[t$95$m, 3.55e-44], N[(2.0 / N[(t$95$5 * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 4.5e-14], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m / N[(N[Cos[k], $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.1e+90], N[(N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$3 / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Sin[k], $MachinePrecision] * N[(t$95$5 * N[Power[N[(t$95$m / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $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)

\\
\begin{array}{l}
t_2 := {\sin k}^{2}\\
t_3 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_4 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\
t_5 := \tan k \cdot t_3\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.3 \cdot 10^{-209}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;t_m \leq 1.15 \cdot 10^{-110}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\

\mathbf{elif}\;t_m \leq 6.6 \cdot 10^{-89}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;t_m \leq 3.55 \cdot 10^{-44}:\\
\;\;\;\;\frac{2}{t_5 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\

\mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\

\mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_3}{\ell}}\\

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


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

Alternative 8: 80.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 := {\sin k}^{2}\\ t_3 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\ t_4 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\ t_5 := \tan k \cdot t_3\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 5.4 \cdot 10^{-210}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_m \leq 5.8 \cdot 10^{-111}:\\ \;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\ \mathbf{elif}\;t_m \leq 5.2 \cdot 10^{-86}:\\ \;\;\;\;t_4\\ \mathbf{elif}\;t_m \leq 3.55 \cdot 10^{-44}:\\ \;\;\;\;\frac{2}{t_5 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\ \mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\ \mathbf{elif}\;t_m \leq 8 \cdot 10^{+89}:\\ \;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_3}{\ell}}\\ \mathbf{elif}\;t_m \leq 1.05 \cdot 10^{+189}:\\ \;\;\;\;\frac{2}{t_5 \cdot \left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{{\left(\sqrt[3]{\sin k} \cdot \frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3} \cdot \left(2 \cdot k\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 (pow (sin k) 2.0))
        (t_3 (+ 2.0 (pow (/ k t_m) 2.0)))
        (t_4
         (pow
          (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos k) t_m)))
          2.0))
        (t_5 (* (tan k) t_3)))
   (*
    t_s
    (if (<= t_m 5.4e-210)
      t_4
      (if (<= t_m 5.8e-111)
        (* (/ 2.0 (* t_m (pow k 2.0))) (/ (* (cos k) (pow l 2.0)) t_2))
        (if (<= t_m 5.2e-86)
          t_4
          (if (<= t_m 3.55e-44)
            (/ 2.0 (* t_5 (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
            (if (<= t_m 4.5e-14)
              (/ 2.0 (/ (* (pow k 2.0) (/ t_m (/ (cos k) t_2))) (pow l 2.0)))
              (if (<= t_m 8e+89)
                (/
                 (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0))))
                 (/ t_3 l))
                (if (<= t_m 1.05e+189)
                  (/ 2.0 (* t_5 (* (sin k) (pow (/ (pow t_m 1.5) l) 2.0))))
                  (/
                   2.0
                   (*
                    (pow (* (cbrt (sin k)) (/ (/ t_m (cbrt l)) (cbrt l))) 3.0)
                    (* 2.0 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(sin(k), 2.0);
	double t_3 = 2.0 + pow((k / t_m), 2.0);
	double t_4 = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 2.0);
	double t_5 = tan(k) * t_3;
	double tmp;
	if (t_m <= 5.4e-210) {
		tmp = t_4;
	} else if (t_m <= 5.8e-111) {
		tmp = (2.0 / (t_m * pow(k, 2.0))) * ((cos(k) * pow(l, 2.0)) / t_2);
	} else if (t_m <= 5.2e-86) {
		tmp = t_4;
	} else if (t_m <= 3.55e-44) {
		tmp = 2.0 / (t_5 * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((pow(k, 2.0) * (t_m / (cos(k) / t_2))) / pow(l, 2.0));
	} else if (t_m <= 8e+89) {
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0)))) / (t_3 / l);
	} else if (t_m <= 1.05e+189) {
		tmp = 2.0 / (t_5 * (sin(k) * pow((pow(t_m, 1.5) / l), 2.0)));
	} else {
		tmp = 2.0 / (pow((cbrt(sin(k)) * ((t_m / cbrt(l)) / cbrt(l))), 3.0) * (2.0 * 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(Math.sin(k), 2.0);
	double t_3 = 2.0 + Math.pow((k / t_m), 2.0);
	double t_4 = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 2.0);
	double t_5 = Math.tan(k) * t_3;
	double tmp;
	if (t_m <= 5.4e-210) {
		tmp = t_4;
	} else if (t_m <= 5.8e-111) {
		tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.cos(k) * Math.pow(l, 2.0)) / t_2);
	} else if (t_m <= 5.2e-86) {
		tmp = t_4;
	} else if (t_m <= 3.55e-44) {
		tmp = 2.0 / (t_5 * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((Math.pow(k, 2.0) * (t_m / (Math.cos(k) / t_2))) / Math.pow(l, 2.0));
	} else if (t_m <= 8e+89) {
		tmp = ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0)))) / (t_3 / l);
	} else if (t_m <= 1.05e+189) {
		tmp = 2.0 / (t_5 * (Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0)));
	} else {
		tmp = 2.0 / (Math.pow((Math.cbrt(Math.sin(k)) * ((t_m / Math.cbrt(l)) / Math.cbrt(l))), 3.0) * (2.0 * 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 = sin(k) ^ 2.0
	t_3 = Float64(2.0 + (Float64(k / t_m) ^ 2.0))
	t_4 = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 2.0
	t_5 = Float64(tan(k) * t_3)
	tmp = 0.0
	if (t_m <= 5.4e-210)
		tmp = t_4;
	elseif (t_m <= 5.8e-111)
		tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64(cos(k) * (l ^ 2.0)) / t_2));
	elseif (t_m <= 5.2e-86)
		tmp = t_4;
	elseif (t_m <= 3.55e-44)
		tmp = Float64(2.0 / Float64(t_5 * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l)));
	elseif (t_m <= 4.5e-14)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) * Float64(t_m / Float64(cos(k) / t_2))) / (l ^ 2.0)));
	elseif (t_m <= 8e+89)
		tmp = Float64(Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0)))) / Float64(t_3 / l));
	elseif (t_m <= 1.05e+189)
		tmp = Float64(2.0 / Float64(t_5 * Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0))));
	else
		tmp = Float64(2.0 / Float64((Float64(cbrt(sin(k)) * Float64(Float64(t_m / cbrt(l)) / cbrt(l))) ^ 3.0) * Float64(2.0 * 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_] := Block[{t$95$2 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$3 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$5 = N[(N[Tan[k], $MachinePrecision] * t$95$3), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 5.4e-210], t$95$4, If[LessEqual[t$95$m, 5.8e-111], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.2e-86], t$95$4, If[LessEqual[t$95$m, 3.55e-44], N[(2.0 / N[(t$95$5 * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 4.5e-14], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m / N[(N[Cos[k], $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 8e+89], N[(N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$3 / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 1.05e+189], N[(2.0 / N[(t$95$5 * N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(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] * N[(2.0 * k), $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 := {\sin k}^{2}\\
t_3 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_4 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\
t_5 := \tan k \cdot t_3\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 5.4 \cdot 10^{-210}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;t_m \leq 5.8 \cdot 10^{-111}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\

\mathbf{elif}\;t_m \leq 5.2 \cdot 10^{-86}:\\
\;\;\;\;t_4\\

\mathbf{elif}\;t_m \leq 3.55 \cdot 10^{-44}:\\
\;\;\;\;\frac{2}{t_5 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\

\mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\

\mathbf{elif}\;t_m \leq 8 \cdot 10^{+89}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_3}{\ell}}\\

\mathbf{elif}\;t_m \leq 1.05 \cdot 10^{+189}:\\
\;\;\;\;\frac{2}{t_5 \cdot \left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right)}\\

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


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

Alternative 9: 79.5% 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 := {\sin k}^{2}\\ t_3 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\ t_4 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 4.8 \cdot 10^{-209}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;t_m \leq 2.05 \cdot 10^{-114}:\\ \;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\ \mathbf{elif}\;t_m \leq 6.2 \cdot 10^{-89}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;t_m \leq 2.15 \cdot 10^{-44}:\\ \;\;\;\;\frac{2}{\left(\tan k \cdot t_4\right) \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\ \mathbf{elif}\;t_m \leq 5.2 \cdot 10^{-14}:\\ \;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot t_2\right)}{\cos k}}\\ \mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\ \;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_4}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{{\left(\sqrt[3]{\sin k} \cdot \frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3} \cdot \left(2 \cdot k\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 (pow (sin k) 2.0))
        (t_3
         (pow
          (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos k) t_m)))
          2.0))
        (t_4 (+ 2.0 (pow (/ k t_m) 2.0))))
   (*
    t_s
    (if (<= t_m 4.8e-209)
      t_3
      (if (<= t_m 2.05e-114)
        (* (/ 2.0 (* t_m (pow k 2.0))) (/ (* (cos k) (pow l 2.0)) t_2))
        (if (<= t_m 6.2e-89)
          t_3
          (if (<= t_m 2.15e-44)
            (/ 2.0 (* (* (tan k) t_4) (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
            (if (<= t_m 5.2e-14)
              (* 2.0 (/ (pow l 2.0) (/ (* (pow k 2.0) (* t_m t_2)) (cos k))))
              (if (<= t_m 2.1e+90)
                (/
                 (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0))))
                 (/ t_4 l))
                (/
                 2.0
                 (*
                  (pow (* (cbrt (sin k)) (/ (/ t_m (cbrt l)) (cbrt l))) 3.0)
                  (* 2.0 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(sin(k), 2.0);
	double t_3 = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 2.0);
	double t_4 = 2.0 + pow((k / t_m), 2.0);
	double tmp;
	if (t_m <= 4.8e-209) {
		tmp = t_3;
	} else if (t_m <= 2.05e-114) {
		tmp = (2.0 / (t_m * pow(k, 2.0))) * ((cos(k) * pow(l, 2.0)) / t_2);
	} else if (t_m <= 6.2e-89) {
		tmp = t_3;
	} else if (t_m <= 2.15e-44) {
		tmp = 2.0 / ((tan(k) * t_4) * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 5.2e-14) {
		tmp = 2.0 * (pow(l, 2.0) / ((pow(k, 2.0) * (t_m * t_2)) / cos(k)));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0)))) / (t_4 / l);
	} else {
		tmp = 2.0 / (pow((cbrt(sin(k)) * ((t_m / cbrt(l)) / cbrt(l))), 3.0) * (2.0 * 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(Math.sin(k), 2.0);
	double t_3 = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 2.0);
	double t_4 = 2.0 + Math.pow((k / t_m), 2.0);
	double tmp;
	if (t_m <= 4.8e-209) {
		tmp = t_3;
	} else if (t_m <= 2.05e-114) {
		tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.cos(k) * Math.pow(l, 2.0)) / t_2);
	} else if (t_m <= 6.2e-89) {
		tmp = t_3;
	} else if (t_m <= 2.15e-44) {
		tmp = 2.0 / ((Math.tan(k) * t_4) * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 5.2e-14) {
		tmp = 2.0 * (Math.pow(l, 2.0) / ((Math.pow(k, 2.0) * (t_m * t_2)) / Math.cos(k)));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0)))) / (t_4 / l);
	} else {
		tmp = 2.0 / (Math.pow((Math.cbrt(Math.sin(k)) * ((t_m / Math.cbrt(l)) / Math.cbrt(l))), 3.0) * (2.0 * 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 = sin(k) ^ 2.0
	t_3 = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 2.0
	t_4 = Float64(2.0 + (Float64(k / t_m) ^ 2.0))
	tmp = 0.0
	if (t_m <= 4.8e-209)
		tmp = t_3;
	elseif (t_m <= 2.05e-114)
		tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64(cos(k) * (l ^ 2.0)) / t_2));
	elseif (t_m <= 6.2e-89)
		tmp = t_3;
	elseif (t_m <= 2.15e-44)
		tmp = Float64(2.0 / Float64(Float64(tan(k) * t_4) * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l)));
	elseif (t_m <= 5.2e-14)
		tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(Float64((k ^ 2.0) * Float64(t_m * t_2)) / cos(k))));
	elseif (t_m <= 2.1e+90)
		tmp = Float64(Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0)))) / Float64(t_4 / l));
	else
		tmp = Float64(2.0 / Float64((Float64(cbrt(sin(k)) * Float64(Float64(t_m / cbrt(l)) / cbrt(l))) ^ 3.0) * Float64(2.0 * 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_] := Block[{t$95$2 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$3 = N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$4 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 4.8e-209], t$95$3, If[LessEqual[t$95$m, 2.05e-114], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 6.2e-89], t$95$3, If[LessEqual[t$95$m, 2.15e-44], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * t$95$4), $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.2e-14], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m * t$95$2), $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.1e+90], N[(N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$4 / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(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] * N[(2.0 * k), $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 := {\sin k}^{2}\\
t_3 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\
t_4 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 4.8 \cdot 10^{-209}:\\
\;\;\;\;t_3\\

\mathbf{elif}\;t_m \leq 2.05 \cdot 10^{-114}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\

\mathbf{elif}\;t_m \leq 6.2 \cdot 10^{-89}:\\
\;\;\;\;t_3\\

\mathbf{elif}\;t_m \leq 2.15 \cdot 10^{-44}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot t_4\right) \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\

\mathbf{elif}\;t_m \leq 5.2 \cdot 10^{-14}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{\frac{{k}^{2} \cdot \left(t_m \cdot t_2\right)}{\cos k}}\\

\mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_4}{\ell}}\\

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


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

Alternative 10: 79.5% 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 := {\sin k}^{2}\\ t_3 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\ t_4 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\ t_s \cdot \begin{array}{l} \mathbf{if}\;t_m \leq 2.3 \cdot 10^{-209}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;t_m \leq 1.25 \cdot 10^{-113}:\\ \;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\ \mathbf{elif}\;t_m \leq 8.5 \cdot 10^{-89}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;t_m \leq 3.55 \cdot 10^{-44}:\\ \;\;\;\;\frac{2}{\left(\tan k \cdot t_4\right) \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\ \mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\ \mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\ \;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_4}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{{\left(\sqrt[3]{\sin k} \cdot \frac{\frac{t_m}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3} \cdot \left(2 \cdot k\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 (pow (sin k) 2.0))
        (t_3
         (pow
          (* (/ (* l (sqrt 2.0)) (* k (sin k))) (sqrt (/ (cos k) t_m)))
          2.0))
        (t_4 (+ 2.0 (pow (/ k t_m) 2.0))))
   (*
    t_s
    (if (<= t_m 2.3e-209)
      t_3
      (if (<= t_m 1.25e-113)
        (* (/ 2.0 (* t_m (pow k 2.0))) (/ (* (cos k) (pow l 2.0)) t_2))
        (if (<= t_m 8.5e-89)
          t_3
          (if (<= t_m 3.55e-44)
            (/ 2.0 (* (* (tan k) t_4) (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
            (if (<= t_m 4.5e-14)
              (/ 2.0 (/ (* (pow k 2.0) (/ t_m (/ (cos k) t_2))) (pow l 2.0)))
              (if (<= t_m 2.1e+90)
                (/
                 (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0))))
                 (/ t_4 l))
                (/
                 2.0
                 (*
                  (pow (* (cbrt (sin k)) (/ (/ t_m (cbrt l)) (cbrt l))) 3.0)
                  (* 2.0 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(sin(k), 2.0);
	double t_3 = pow((((l * sqrt(2.0)) / (k * sin(k))) * sqrt((cos(k) / t_m))), 2.0);
	double t_4 = 2.0 + pow((k / t_m), 2.0);
	double tmp;
	if (t_m <= 2.3e-209) {
		tmp = t_3;
	} else if (t_m <= 1.25e-113) {
		tmp = (2.0 / (t_m * pow(k, 2.0))) * ((cos(k) * pow(l, 2.0)) / t_2);
	} else if (t_m <= 8.5e-89) {
		tmp = t_3;
	} else if (t_m <= 3.55e-44) {
		tmp = 2.0 / ((tan(k) * t_4) * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((pow(k, 2.0) * (t_m / (cos(k) / t_2))) / pow(l, 2.0));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0)))) / (t_4 / l);
	} else {
		tmp = 2.0 / (pow((cbrt(sin(k)) * ((t_m / cbrt(l)) / cbrt(l))), 3.0) * (2.0 * 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(Math.sin(k), 2.0);
	double t_3 = Math.pow((((l * Math.sqrt(2.0)) / (k * Math.sin(k))) * Math.sqrt((Math.cos(k) / t_m))), 2.0);
	double t_4 = 2.0 + Math.pow((k / t_m), 2.0);
	double tmp;
	if (t_m <= 2.3e-209) {
		tmp = t_3;
	} else if (t_m <= 1.25e-113) {
		tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.cos(k) * Math.pow(l, 2.0)) / t_2);
	} else if (t_m <= 8.5e-89) {
		tmp = t_3;
	} else if (t_m <= 3.55e-44) {
		tmp = 2.0 / ((Math.tan(k) * t_4) * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
	} else if (t_m <= 4.5e-14) {
		tmp = 2.0 / ((Math.pow(k, 2.0) * (t_m / (Math.cos(k) / t_2))) / Math.pow(l, 2.0));
	} else if (t_m <= 2.1e+90) {
		tmp = ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0)))) / (t_4 / l);
	} else {
		tmp = 2.0 / (Math.pow((Math.cbrt(Math.sin(k)) * ((t_m / Math.cbrt(l)) / Math.cbrt(l))), 3.0) * (2.0 * 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 = sin(k) ^ 2.0
	t_3 = Float64(Float64(Float64(l * sqrt(2.0)) / Float64(k * sin(k))) * sqrt(Float64(cos(k) / t_m))) ^ 2.0
	t_4 = Float64(2.0 + (Float64(k / t_m) ^ 2.0))
	tmp = 0.0
	if (t_m <= 2.3e-209)
		tmp = t_3;
	elseif (t_m <= 1.25e-113)
		tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64(cos(k) * (l ^ 2.0)) / t_2));
	elseif (t_m <= 8.5e-89)
		tmp = t_3;
	elseif (t_m <= 3.55e-44)
		tmp = Float64(2.0 / Float64(Float64(tan(k) * t_4) * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l)));
	elseif (t_m <= 4.5e-14)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) * Float64(t_m / Float64(cos(k) / t_2))) / (l ^ 2.0)));
	elseif (t_m <= 2.1e+90)
		tmp = Float64(Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0)))) / Float64(t_4 / l));
	else
		tmp = Float64(2.0 / Float64((Float64(cbrt(sin(k)) * Float64(Float64(t_m / cbrt(l)) / cbrt(l))) ^ 3.0) * Float64(2.0 * 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_] := Block[{t$95$2 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$3 = N[Power[N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$4 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 2.3e-209], t$95$3, If[LessEqual[t$95$m, 1.25e-113], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 8.5e-89], t$95$3, If[LessEqual[t$95$m, 3.55e-44], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * t$95$4), $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 4.5e-14], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] * N[(t$95$m / N[(N[Cos[k], $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.1e+90], N[(N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$4 / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(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] * N[(2.0 * k), $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 := {\sin k}^{2}\\
t_3 := {\left(\frac{\ell \cdot \sqrt{2}}{k \cdot \sin k} \cdot \sqrt{\frac{\cos k}{t_m}}\right)}^{2}\\
t_4 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 2.3 \cdot 10^{-209}:\\
\;\;\;\;t_3\\

\mathbf{elif}\;t_m \leq 1.25 \cdot 10^{-113}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{\cos k \cdot {\ell}^{2}}{t_2}\\

\mathbf{elif}\;t_m \leq 8.5 \cdot 10^{-89}:\\
\;\;\;\;t_3\\

\mathbf{elif}\;t_m \leq 3.55 \cdot 10^{-44}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot t_4\right) \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\

\mathbf{elif}\;t_m \leq 4.5 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \frac{t_m}{\frac{\cos k}{t_2}}}{{\ell}^{2}}}\\

\mathbf{elif}\;t_m \leq 2.1 \cdot 10^{+90}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}}{\frac{t_4}{\ell}}\\

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


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

Alternative 11: 71.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}\;t_m \leq 6.2 \cdot 10^{-89}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\cos k}}\\ \mathbf{elif}\;t_m \leq 5.5 \cdot 10^{+102}:\\ \;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\sin k \cdot \frac{\frac{{t_m}^{3}}{\ell}}{\ell}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{\left(t_m \cdot {\left(\sqrt[3]{k}\right)}^{2}\right)}^{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 6.2e-89)
    (/ 2.0 (* (/ (pow k 2.0) (pow l 2.0)) (/ (* t_m (pow k 2.0)) (cos k))))
    (if (<= t_m 5.5e+102)
      (/
       2.0
       (*
        (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
        (* (sin k) (/ (/ (pow t_m 3.0) l) l))))
      (/ (pow l 2.0) (pow (* t_m (pow (cbrt k) 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 <= 6.2e-89) {
		tmp = 2.0 / ((pow(k, 2.0) / pow(l, 2.0)) * ((t_m * pow(k, 2.0)) / cos(k)));
	} else if (t_m <= 5.5e+102) {
		tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * (sin(k) * ((pow(t_m, 3.0) / l) / l)));
	} else {
		tmp = pow(l, 2.0) / pow((t_m * pow(cbrt(k), 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 <= 6.2e-89) {
		tmp = 2.0 / ((Math.pow(k, 2.0) / Math.pow(l, 2.0)) * ((t_m * Math.pow(k, 2.0)) / Math.cos(k)));
	} else if (t_m <= 5.5e+102) {
		tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * (Math.sin(k) * ((Math.pow(t_m, 3.0) / l) / l)));
	} else {
		tmp = Math.pow(l, 2.0) / Math.pow((t_m * Math.pow(Math.cbrt(k), 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 <= 6.2e-89)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) / (l ^ 2.0)) * Float64(Float64(t_m * (k ^ 2.0)) / cos(k))));
	elseif (t_m <= 5.5e+102)
		tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * Float64(sin(k) * Float64(Float64((t_m ^ 3.0) / l) / l))));
	else
		tmp = Float64((l ^ 2.0) / (Float64(t_m * (cbrt(k) ^ 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, 6.2e-89], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.5e+102], 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[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[N[(t$95$m * N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.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 6.2 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\cos k}}\\

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

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


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

Alternative 12: 72.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}\;t_m \leq 5.5 \cdot 10^{-88}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\cos k}}\\ \mathbf{elif}\;t_m \leq 5.5 \cdot 10^{+102}:\\ \;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{\ell}}{\ell}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{\left(t_m \cdot {\left(\sqrt[3]{k}\right)}^{2}\right)}^{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 5.5e-88)
    (/ 2.0 (* (/ (pow k 2.0) (pow l 2.0)) (/ (* t_m (pow k 2.0)) (cos k))))
    (if (<= t_m 5.5e+102)
      (/
       2.0
       (*
        (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
        (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
      (/ (pow l 2.0) (pow (* t_m (pow (cbrt k) 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 <= 5.5e-88) {
		tmp = 2.0 / ((pow(k, 2.0) / pow(l, 2.0)) * ((t_m * pow(k, 2.0)) / cos(k)));
	} else if (t_m <= 5.5e+102) {
		tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
	} else {
		tmp = pow(l, 2.0) / pow((t_m * pow(cbrt(k), 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 <= 5.5e-88) {
		tmp = 2.0 / ((Math.pow(k, 2.0) / Math.pow(l, 2.0)) * ((t_m * Math.pow(k, 2.0)) / Math.cos(k)));
	} else if (t_m <= 5.5e+102) {
		tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
	} else {
		tmp = Math.pow(l, 2.0) / Math.pow((t_m * Math.pow(Math.cbrt(k), 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 <= 5.5e-88)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) / (l ^ 2.0)) * Float64(Float64(t_m * (k ^ 2.0)) / cos(k))));
	elseif (t_m <= 5.5e+102)
		tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l)));
	else
		tmp = Float64((l ^ 2.0) / (Float64(t_m * (cbrt(k) ^ 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, 5.5e-88], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.5e+102], 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[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[N[(t$95$m * N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.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 5.5 \cdot 10^{-88}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\cos k}}\\

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

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


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

Alternative 13: 72.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}\;t_m \leq 4.1 \cdot 10^{-85}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\cos k}}\\ \mathbf{elif}\;t_m \leq 5.5 \cdot 10^{+102}:\\ \;\;\;\;\frac{\ell \cdot \left(\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t_m}^{3}}\right)}{2 + {\left(\frac{k}{t_m}\right)}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{\left(t_m \cdot {\left(\sqrt[3]{k}\right)}^{2}\right)}^{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.1e-85)
    (/ 2.0 (* (/ (pow k 2.0) (pow l 2.0)) (/ (* t_m (pow k 2.0)) (cos k))))
    (if (<= t_m 5.5e+102)
      (/
       (* l (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t_m 3.0)))))
       (+ 2.0 (pow (/ k t_m) 2.0)))
      (/ (pow l 2.0) (pow (* t_m (pow (cbrt k) 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 <= 4.1e-85) {
		tmp = 2.0 / ((pow(k, 2.0) / pow(l, 2.0)) * ((t_m * pow(k, 2.0)) / cos(k)));
	} else if (t_m <= 5.5e+102) {
		tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * pow(t_m, 3.0))))) / (2.0 + pow((k / t_m), 2.0));
	} else {
		tmp = pow(l, 2.0) / pow((t_m * pow(cbrt(k), 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 <= 4.1e-85) {
		tmp = 2.0 / ((Math.pow(k, 2.0) / Math.pow(l, 2.0)) * ((t_m * Math.pow(k, 2.0)) / Math.cos(k)));
	} else if (t_m <= 5.5e+102) {
		tmp = (l * ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t_m, 3.0))))) / (2.0 + Math.pow((k / t_m), 2.0));
	} else {
		tmp = Math.pow(l, 2.0) / Math.pow((t_m * Math.pow(Math.cbrt(k), 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 <= 4.1e-85)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) / (l ^ 2.0)) * Float64(Float64(t_m * (k ^ 2.0)) / cos(k))));
	elseif (t_m <= 5.5e+102)
		tmp = Float64(Float64(l * Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t_m ^ 3.0))))) / Float64(2.0 + (Float64(k / t_m) ^ 2.0)));
	else
		tmp = Float64((l ^ 2.0) / (Float64(t_m * (cbrt(k) ^ 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, 4.1e-85], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.5e+102], N[(N[(l * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * 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[l, 2.0], $MachinePrecision] / N[Power[N[(t$95$m * N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.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 4.1 \cdot 10^{-85}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\cos k}}\\

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

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


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

Alternative 14: 67.1% 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}\;t_m \leq 2.5 \cdot 10^{-10}:\\ \;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\cos k}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{\left(t_m \cdot {\left(\sqrt[3]{k}\right)}^{2}\right)}^{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 2.5e-10)
    (/ 2.0 (* (/ (pow k 2.0) (pow l 2.0)) (/ (* t_m (pow k 2.0)) (cos k))))
    (/ (pow l 2.0) (pow (* t_m (pow (cbrt k) 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 <= 2.5e-10) {
		tmp = 2.0 / ((pow(k, 2.0) / pow(l, 2.0)) * ((t_m * pow(k, 2.0)) / cos(k)));
	} else {
		tmp = pow(l, 2.0) / pow((t_m * pow(cbrt(k), 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 <= 2.5e-10) {
		tmp = 2.0 / ((Math.pow(k, 2.0) / Math.pow(l, 2.0)) * ((t_m * Math.pow(k, 2.0)) / Math.cos(k)));
	} else {
		tmp = Math.pow(l, 2.0) / Math.pow((t_m * Math.pow(Math.cbrt(k), 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 <= 2.5e-10)
		tmp = Float64(2.0 / Float64(Float64((k ^ 2.0) / (l ^ 2.0)) * Float64(Float64(t_m * (k ^ 2.0)) / cos(k))));
	else
		tmp = Float64((l ^ 2.0) / (Float64(t_m * (cbrt(k) ^ 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, 2.5e-10], N[(2.0 / N[(N[(N[Power[k, 2.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[N[(t$95$m * N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.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 2.5 \cdot 10^{-10}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2}}{{\ell}^{2}} \cdot \frac{t_m \cdot {k}^{2}}{\cos k}}\\

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


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

Alternative 15: 65.4% 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}\;t_m \leq 1.08 \cdot 10^{-10}:\\ \;\;\;\;2 \cdot \left(\frac{{\ell}^{2}}{{k}^{3}} \cdot \frac{\cos k}{t_m \cdot \sin k}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{\left(t_m \cdot {\left(\sqrt[3]{k}\right)}^{2}\right)}^{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.08e-10)
    (* 2.0 (* (/ (pow l 2.0) (pow k 3.0)) (/ (cos k) (* t_m (sin k)))))
    (/ (pow l 2.0) (pow (* t_m (pow (cbrt k) 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 <= 1.08e-10) {
		tmp = 2.0 * ((pow(l, 2.0) / pow(k, 3.0)) * (cos(k) / (t_m * sin(k))));
	} else {
		tmp = pow(l, 2.0) / pow((t_m * pow(cbrt(k), 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 <= 1.08e-10) {
		tmp = 2.0 * ((Math.pow(l, 2.0) / Math.pow(k, 3.0)) * (Math.cos(k) / (t_m * Math.sin(k))));
	} else {
		tmp = Math.pow(l, 2.0) / Math.pow((t_m * Math.pow(Math.cbrt(k), 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 <= 1.08e-10)
		tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) / (k ^ 3.0)) * Float64(cos(k) / Float64(t_m * sin(k)))));
	else
		tmp = Float64((l ^ 2.0) / (Float64(t_m * (cbrt(k) ^ 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, 1.08e-10], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 3.0], $MachinePrecision]), $MachinePrecision] * N[(N[Cos[k], $MachinePrecision] / N[(t$95$m * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[N[(t$95$m * N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.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.08 \cdot 10^{-10}:\\
\;\;\;\;2 \cdot \left(\frac{{\ell}^{2}}{{k}^{3}} \cdot \frac{\cos k}{t_m \cdot \sin k}\right)\\

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


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

Alternative 16: 65.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}\;t_m \leq 5.4 \cdot 10^{-68}:\\ \;\;\;\;\frac{2}{\frac{{k}^{3}}{{\ell}^{2}} \cdot \left(t_m \cdot k\right)}\\ \mathbf{elif}\;t_m \leq 1.24 \cdot 10^{+44}:\\ \;\;\;\;\frac{\frac{\cos k \cdot {\ell}^{2}}{{t_m}^{3}}}{{k}^{2}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{\left(t_m \cdot {\left(\sqrt[3]{k}\right)}^{2}\right)}^{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 5.4e-68)
    (/ 2.0 (* (/ (pow k 3.0) (pow l 2.0)) (* t_m k)))
    (if (<= t_m 1.24e+44)
      (/ (/ (* (cos k) (pow l 2.0)) (pow t_m 3.0)) (pow k 2.0))
      (/ (pow l 2.0) (pow (* t_m (pow (cbrt k) 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 <= 5.4e-68) {
		tmp = 2.0 / ((pow(k, 3.0) / pow(l, 2.0)) * (t_m * k));
	} else if (t_m <= 1.24e+44) {
		tmp = ((cos(k) * pow(l, 2.0)) / pow(t_m, 3.0)) / pow(k, 2.0);
	} else {
		tmp = pow(l, 2.0) / pow((t_m * pow(cbrt(k), 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 <= 5.4e-68) {
		tmp = 2.0 / ((Math.pow(k, 3.0) / Math.pow(l, 2.0)) * (t_m * k));
	} else if (t_m <= 1.24e+44) {
		tmp = ((Math.cos(k) * Math.pow(l, 2.0)) / Math.pow(t_m, 3.0)) / Math.pow(k, 2.0);
	} else {
		tmp = Math.pow(l, 2.0) / Math.pow((t_m * Math.pow(Math.cbrt(k), 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 <= 5.4e-68)
		tmp = Float64(2.0 / Float64(Float64((k ^ 3.0) / (l ^ 2.0)) * Float64(t_m * k)));
	elseif (t_m <= 1.24e+44)
		tmp = Float64(Float64(Float64(cos(k) * (l ^ 2.0)) / (t_m ^ 3.0)) / (k ^ 2.0));
	else
		tmp = Float64((l ^ 2.0) / (Float64(t_m * (cbrt(k) ^ 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, 5.4e-68], N[(2.0 / N[(N[(N[Power[k, 3.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(t$95$m * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 1.24e+44], N[(N[(N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[N[(t$95$m * N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.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 5.4 \cdot 10^{-68}:\\
\;\;\;\;\frac{2}{\frac{{k}^{3}}{{\ell}^{2}} \cdot \left(t_m \cdot k\right)}\\

\mathbf{elif}\;t_m \leq 1.24 \cdot 10^{+44}:\\
\;\;\;\;\frac{\frac{\cos k \cdot {\ell}^{2}}{{t_m}^{3}}}{{k}^{2}}\\

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


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

Alternative 17: 65.3% 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}\;t_m \leq 1.08 \cdot 10^{-10}:\\ \;\;\;\;\frac{2}{\frac{{k}^{3}}{{\ell}^{2}} \cdot \left(t_m \cdot k\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\ell}^{2}}{{\left(t_m \cdot {\left(\sqrt[3]{k}\right)}^{2}\right)}^{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.08e-10)
    (/ 2.0 (* (/ (pow k 3.0) (pow l 2.0)) (* t_m k)))
    (/ (pow l 2.0) (pow (* t_m (pow (cbrt k) 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 <= 1.08e-10) {
		tmp = 2.0 / ((pow(k, 3.0) / pow(l, 2.0)) * (t_m * k));
	} else {
		tmp = pow(l, 2.0) / pow((t_m * pow(cbrt(k), 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 <= 1.08e-10) {
		tmp = 2.0 / ((Math.pow(k, 3.0) / Math.pow(l, 2.0)) * (t_m * k));
	} else {
		tmp = Math.pow(l, 2.0) / Math.pow((t_m * Math.pow(Math.cbrt(k), 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 <= 1.08e-10)
		tmp = Float64(2.0 / Float64(Float64((k ^ 3.0) / (l ^ 2.0)) * Float64(t_m * k)));
	else
		tmp = Float64((l ^ 2.0) / (Float64(t_m * (cbrt(k) ^ 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, 1.08e-10], N[(2.0 / N[(N[(N[Power[k, 3.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(t$95$m * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[N[(t$95$m * N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.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.08 \cdot 10^{-10}:\\
\;\;\;\;\frac{2}{\frac{{k}^{3}}{{\ell}^{2}} \cdot \left(t_m \cdot k\right)}\\

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


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

Alternative 18: 61.2% accurate, 2.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}\;t_m \leq 4.8 \cdot 10^{-14}:\\ \;\;\;\;\frac{2}{\frac{{k}^{3}}{{\ell}^{2}} \cdot \left(t_m \cdot k\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \frac{k \cdot {t_m}^{3}}{{\ell}^{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 4.8e-14)
    (/ 2.0 (* (/ (pow k 3.0) (pow l 2.0)) (* t_m k)))
    (/ 2.0 (* (* 2.0 k) (/ (* k (pow t_m 3.0)) (pow 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 <= 4.8e-14) {
		tmp = 2.0 / ((pow(k, 3.0) / pow(l, 2.0)) * (t_m * k));
	} else {
		tmp = 2.0 / ((2.0 * k) * ((k * pow(t_m, 3.0)) / pow(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 <= 4.8d-14) then
        tmp = 2.0d0 / (((k ** 3.0d0) / (l ** 2.0d0)) * (t_m * k))
    else
        tmp = 2.0d0 / ((2.0d0 * k) * ((k * (t_m ** 3.0d0)) / (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 <= 4.8e-14) {
		tmp = 2.0 / ((Math.pow(k, 3.0) / Math.pow(l, 2.0)) * (t_m * k));
	} else {
		tmp = 2.0 / ((2.0 * k) * ((k * Math.pow(t_m, 3.0)) / Math.pow(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 <= 4.8e-14:
		tmp = 2.0 / ((math.pow(k, 3.0) / math.pow(l, 2.0)) * (t_m * k))
	else:
		tmp = 2.0 / ((2.0 * k) * ((k * math.pow(t_m, 3.0)) / math.pow(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 <= 4.8e-14)
		tmp = Float64(2.0 / Float64(Float64((k ^ 3.0) / (l ^ 2.0)) * Float64(t_m * k)));
	else
		tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(Float64(k * (t_m ^ 3.0)) / (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 <= 4.8e-14)
		tmp = 2.0 / (((k ^ 3.0) / (l ^ 2.0)) * (t_m * k));
	else
		tmp = 2.0 / ((2.0 * k) * ((k * (t_m ^ 3.0)) / (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, 4.8e-14], N[(2.0 / N[(N[(N[Power[k, 3.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(t$95$m * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[(k * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.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 4.8 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{\frac{{k}^{3}}{{\ell}^{2}} \cdot \left(t_m \cdot k\right)}\\

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


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

Alternative 19: 52.0% accurate, 2.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \left({\ell}^{2} \cdot \frac{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 (* (pow l 2.0) (/ 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 * (pow(l, 2.0) * (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 * ((l ** 2.0d0) * (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 * (Math.pow(l, 2.0) * (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 * (math.pow(l, 2.0) * (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((l ^ 2.0) * Float64(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 * ((l ^ 2.0) * (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[(N[Power[l, 2.0], $MachinePrecision] * N[(2.0 / 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({\ell}^{2} \cdot \frac{2}{t_m \cdot {k}^{4}}\right)
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 20: 52.2% accurate, 2.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \frac{2}{t_m \cdot \left({k}^{4} \cdot {\ell}^{-2}\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 (* t_m (* (pow k 4.0) (pow 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) {
	return t_s * (2.0 / (t_m * (pow(k, 4.0) * pow(l, -2.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 / (t_m * ((k ** 4.0d0) * (l ** (-2.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 / (t_m * (Math.pow(k, 4.0) * Math.pow(l, -2.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 / (t_m * (math.pow(k, 4.0) * math.pow(l, -2.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(t_m * Float64((k ^ 4.0) * (l ^ -2.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 / (t_m * ((k ^ 4.0) * (l ^ -2.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[(t$95$m * N[(N[Power[k, 4.0], $MachinePrecision] * N[Power[l, -2.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 \frac{2}{t_m \cdot \left({k}^{4} \cdot {\ell}^{-2}\right)}
\end{array}
Derivation
    &prev;&pcontext;&pcontext2;&ctx;
  1. Add Preprocessing

Alternative 21: 52.7% accurate, 2.0× speedup?

\[\begin{array}{l} t_m = \left|t\right| \\ t_s = \mathsf{copysign}\left(1, t\right) \\ t_s \cdot \frac{2}{\frac{{k}^{4}}{\frac{{\ell}^{2}}{t_m}}} \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 k 4.0) (/ (pow l 2.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(k, 4.0) / (pow(l, 2.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 / ((k ** 4.0d0) / ((l ** 2.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(k, 4.0) / (Math.pow(l, 2.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(k, 4.0) / (math.pow(l, 2.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((k ^ 4.0) / Float64((l ^ 2.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 / ((k ^ 4.0) / ((l ^ 2.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[Power[k, 4.0], $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)

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

Reproduce

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