
(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:
Herbie found 21 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(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}
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2 (pow (cbrt l) -2.0))
(t_3 (cbrt (* (sin k_m) (tan k_m))))
(t_4 (/ (sqrt 2.0) k_m))
(t_5 (* t_m t_4)))
(*
t_s
(if (<= k_m 2000000000.0)
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)
(if (<= k_m 9.2e+222)
(*
(* t_5 (pow (* (* t_m t_2) t_3) -2.0))
(/ (/ t_5 (/ t_m (pow (cbrt l) 2.0))) t_3))
(/
(*
(*
(cbrt (* (pow l 4.0) (/ (pow (cos k_m) 2.0) (pow (sin k_m) 4.0))))
(* t_4 (/ (pow (cbrt -1.0) 4.0) t_m)))
(/ 1.0 (/ t_2 t_4)))
t_3))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = pow(cbrt(l), -2.0);
double t_3 = cbrt((sin(k_m) * tan(k_m)));
double t_4 = sqrt(2.0) / k_m;
double t_5 = t_m * t_4;
double tmp;
if (k_m <= 2000000000.0) {
tmp = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
} else if (k_m <= 9.2e+222) {
tmp = (t_5 * pow(((t_m * t_2) * t_3), -2.0)) * ((t_5 / (t_m / pow(cbrt(l), 2.0))) / t_3);
} else {
tmp = ((cbrt((pow(l, 4.0) * (pow(cos(k_m), 2.0) / pow(sin(k_m), 4.0)))) * (t_4 * (pow(cbrt(-1.0), 4.0) / t_m))) * (1.0 / (t_2 / t_4))) / t_3;
}
return t_s * tmp;
}
k_m = Math.abs(k);
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_m) {
double t_2 = Math.pow(Math.cbrt(l), -2.0);
double t_3 = Math.cbrt((Math.sin(k_m) * Math.tan(k_m)));
double t_4 = Math.sqrt(2.0) / k_m;
double t_5 = t_m * t_4;
double tmp;
if (k_m <= 2000000000.0) {
tmp = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
} else if (k_m <= 9.2e+222) {
tmp = (t_5 * Math.pow(((t_m * t_2) * t_3), -2.0)) * ((t_5 / (t_m / Math.pow(Math.cbrt(l), 2.0))) / t_3);
} else {
tmp = ((Math.cbrt((Math.pow(l, 4.0) * (Math.pow(Math.cos(k_m), 2.0) / Math.pow(Math.sin(k_m), 4.0)))) * (t_4 * (Math.pow(Math.cbrt(-1.0), 4.0) / t_m))) * (1.0 / (t_2 / t_4))) / t_3;
}
return t_s * tmp;
}
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = cbrt(l) ^ -2.0 t_3 = cbrt(Float64(sin(k_m) * tan(k_m))) t_4 = Float64(sqrt(2.0) / k_m) t_5 = Float64(t_m * t_4) tmp = 0.0 if (k_m <= 2000000000.0) tmp = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0; elseif (k_m <= 9.2e+222) tmp = Float64(Float64(t_5 * (Float64(Float64(t_m * t_2) * t_3) ^ -2.0)) * Float64(Float64(t_5 / Float64(t_m / (cbrt(l) ^ 2.0))) / t_3)); else tmp = Float64(Float64(Float64(cbrt(Float64((l ^ 4.0) * Float64((cos(k_m) ^ 2.0) / (sin(k_m) ^ 4.0)))) * Float64(t_4 * Float64((cbrt(-1.0) ^ 4.0) / t_m))) * Float64(1.0 / Float64(t_2 / t_4))) / t_3); end return Float64(t_s * tmp) end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]}, Block[{t$95$3 = N[Power[N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]}, Block[{t$95$4 = N[(N[Sqrt[2.0], $MachinePrecision] / k$95$m), $MachinePrecision]}, Block[{t$95$5 = N[(t$95$m * t$95$4), $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 2000000000.0], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 9.2e+222], N[(N[(t$95$5 * N[Power[N[(N[(t$95$m * t$95$2), $MachinePrecision] * t$95$3), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$5 / N[(t$95$m / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$3), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[Power[N[(N[Power[l, 4.0], $MachinePrecision] * N[(N[Power[N[Cos[k$95$m], $MachinePrecision], 2.0], $MachinePrecision] / N[Power[N[Sin[k$95$m], $MachinePrecision], 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] * N[(t$95$4 * N[(N[Power[N[Power[-1.0, 1/3], $MachinePrecision], 4.0], $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(t$95$2 / t$95$4), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$3), $MachinePrecision]]]), $MachinePrecision]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\sqrt[3]{\ell}\right)}^{-2}\\
t_3 := \sqrt[3]{\sin k\_m \cdot \tan k\_m}\\
t_4 := \frac{\sqrt{2}}{k\_m}\\
t_5 := t\_m \cdot t\_4\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2000000000:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 9.2 \cdot 10^{+222}:\\
\;\;\;\;\left(t\_5 \cdot {\left(\left(t\_m \cdot t\_2\right) \cdot t\_3\right)}^{-2}\right) \cdot \frac{\frac{t\_5}{\frac{t\_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}}}{t\_3}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\sqrt[3]{{\ell}^{4} \cdot \frac{{\cos k\_m}^{2}}{{\sin k\_m}^{4}}} \cdot \left(t\_4 \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{4}}{t\_m}\right)\right) \cdot \frac{1}{\frac{t\_2}{t\_4}}}{t\_3}\\
\end{array}
\end{array}
\end{array}
if k < 2e9Initial program 39.1%
*-commutative39.1%
associate-/r*39.1%
Simplified43.6%
add-sqr-sqrt29.4%
Applied egg-rr33.2%
unpow233.2%
associate-/l/33.7%
associate-*l/35.3%
associate-*l/35.3%
*-commutative35.3%
Simplified35.3%
Taylor expanded in k around inf 51.7%
associate-/l*52.6%
Simplified52.6%
if 2e9 < k < 9.20000000000000043e222Initial program 28.0%
*-commutative28.0%
associate-/r*28.0%
Simplified48.2%
add-sqr-sqrt48.2%
add-cube-cbrt48.2%
times-frac48.2%
Applied egg-rr82.2%
associate-/r/82.3%
associate-/r*82.3%
associate-/r/82.3%
Simplified82.3%
div-inv82.3%
pow-flip84.3%
div-inv84.4%
pow-flip84.3%
metadata-eval84.3%
metadata-eval84.3%
Applied egg-rr84.3%
if 9.20000000000000043e222 < k Initial program 16.7%
*-commutative16.7%
associate-/r*16.7%
Simplified27.8%
add-sqr-sqrt27.8%
add-cube-cbrt27.8%
times-frac27.8%
Applied egg-rr56.3%
associate-/r/56.3%
associate-/r*56.3%
associate-/r/56.3%
Simplified56.3%
associate-*r/56.3%
Applied egg-rr56.3%
clear-num56.3%
inv-pow56.3%
Applied egg-rr56.3%
unpow-156.3%
*-commutative56.3%
times-frac56.3%
*-inverses56.3%
Simplified56.3%
Taylor expanded in l around -inf 72.6%
*-commutative72.6%
associate-/l*72.6%
*-commutative72.6%
times-frac72.7%
Simplified72.7%
Final simplification59.3%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2 (pow (cbrt l) -2.0))
(t_3 (cbrt (* (sin k_m) (tan k_m))))
(t_4 (/ (sqrt 2.0) k_m))
(t_5 (* t_m t_4)))
(*
t_s
(if (<= k_m 2000000000.0)
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)
(if (<= k_m 1.35e+223)
(*
(* t_5 (pow (* (* t_m t_2) t_3) -2.0))
(/ (/ t_5 (/ t_m (pow (cbrt l) 2.0))) t_3))
(*
(*
(/ (sqrt 2.0) (* k_m t_m))
(cbrt (/ (* (pow l 4.0) (pow (cos k_m) 2.0)) (pow (sin k_m) 4.0))))
(/ (/ t_4 t_2) t_3)))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = pow(cbrt(l), -2.0);
double t_3 = cbrt((sin(k_m) * tan(k_m)));
double t_4 = sqrt(2.0) / k_m;
double t_5 = t_m * t_4;
double tmp;
if (k_m <= 2000000000.0) {
tmp = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
} else if (k_m <= 1.35e+223) {
tmp = (t_5 * pow(((t_m * t_2) * t_3), -2.0)) * ((t_5 / (t_m / pow(cbrt(l), 2.0))) / t_3);
} else {
tmp = ((sqrt(2.0) / (k_m * t_m)) * cbrt(((pow(l, 4.0) * pow(cos(k_m), 2.0)) / pow(sin(k_m), 4.0)))) * ((t_4 / t_2) / t_3);
}
return t_s * tmp;
}
k_m = Math.abs(k);
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_m) {
double t_2 = Math.pow(Math.cbrt(l), -2.0);
double t_3 = Math.cbrt((Math.sin(k_m) * Math.tan(k_m)));
double t_4 = Math.sqrt(2.0) / k_m;
double t_5 = t_m * t_4;
double tmp;
if (k_m <= 2000000000.0) {
tmp = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
} else if (k_m <= 1.35e+223) {
tmp = (t_5 * Math.pow(((t_m * t_2) * t_3), -2.0)) * ((t_5 / (t_m / Math.pow(Math.cbrt(l), 2.0))) / t_3);
} else {
tmp = ((Math.sqrt(2.0) / (k_m * t_m)) * Math.cbrt(((Math.pow(l, 4.0) * Math.pow(Math.cos(k_m), 2.0)) / Math.pow(Math.sin(k_m), 4.0)))) * ((t_4 / t_2) / t_3);
}
return t_s * tmp;
}
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = cbrt(l) ^ -2.0 t_3 = cbrt(Float64(sin(k_m) * tan(k_m))) t_4 = Float64(sqrt(2.0) / k_m) t_5 = Float64(t_m * t_4) tmp = 0.0 if (k_m <= 2000000000.0) tmp = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0; elseif (k_m <= 1.35e+223) tmp = Float64(Float64(t_5 * (Float64(Float64(t_m * t_2) * t_3) ^ -2.0)) * Float64(Float64(t_5 / Float64(t_m / (cbrt(l) ^ 2.0))) / t_3)); else tmp = Float64(Float64(Float64(sqrt(2.0) / Float64(k_m * t_m)) * cbrt(Float64(Float64((l ^ 4.0) * (cos(k_m) ^ 2.0)) / (sin(k_m) ^ 4.0)))) * Float64(Float64(t_4 / t_2) / t_3)); end return Float64(t_s * tmp) end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]}, Block[{t$95$3 = N[Power[N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]}, Block[{t$95$4 = N[(N[Sqrt[2.0], $MachinePrecision] / k$95$m), $MachinePrecision]}, Block[{t$95$5 = N[(t$95$m * t$95$4), $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 2000000000.0], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 1.35e+223], N[(N[(t$95$5 * N[Power[N[(N[(t$95$m * t$95$2), $MachinePrecision] * t$95$3), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$5 / N[(t$95$m / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$3), $MachinePrecision]), $MachinePrecision], N[(N[(N[(N[Sqrt[2.0], $MachinePrecision] / N[(k$95$m * t$95$m), $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(N[Power[l, 4.0], $MachinePrecision] * N[Power[N[Cos[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k$95$m], $MachinePrecision], 4.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$4 / t$95$2), $MachinePrecision] / t$95$3), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\sqrt[3]{\ell}\right)}^{-2}\\
t_3 := \sqrt[3]{\sin k\_m \cdot \tan k\_m}\\
t_4 := \frac{\sqrt{2}}{k\_m}\\
t_5 := t\_m \cdot t\_4\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2000000000:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 1.35 \cdot 10^{+223}:\\
\;\;\;\;\left(t\_5 \cdot {\left(\left(t\_m \cdot t\_2\right) \cdot t\_3\right)}^{-2}\right) \cdot \frac{\frac{t\_5}{\frac{t\_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}}}{t\_3}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sqrt{2}}{k\_m \cdot t\_m} \cdot \sqrt[3]{\frac{{\ell}^{4} \cdot {\cos k\_m}^{2}}{{\sin k\_m}^{4}}}\right) \cdot \frac{\frac{t\_4}{t\_2}}{t\_3}\\
\end{array}
\end{array}
\end{array}
if k < 2e9Initial program 39.1%
*-commutative39.1%
associate-/r*39.1%
Simplified43.6%
add-sqr-sqrt29.4%
Applied egg-rr33.2%
unpow233.2%
associate-/l/33.7%
associate-*l/35.3%
associate-*l/35.3%
*-commutative35.3%
Simplified35.3%
Taylor expanded in k around inf 51.7%
associate-/l*52.6%
Simplified52.6%
if 2e9 < k < 1.35e223Initial program 28.0%
*-commutative28.0%
associate-/r*28.0%
Simplified48.2%
add-sqr-sqrt48.2%
add-cube-cbrt48.2%
times-frac48.2%
Applied egg-rr82.2%
associate-/r/82.3%
associate-/r*82.3%
associate-/r/82.3%
Simplified82.3%
div-inv82.3%
pow-flip84.3%
div-inv84.4%
pow-flip84.3%
metadata-eval84.3%
metadata-eval84.3%
Applied egg-rr84.3%
if 1.35e223 < k Initial program 16.7%
*-commutative16.7%
associate-/r*16.7%
Simplified27.8%
add-sqr-sqrt27.8%
add-cube-cbrt27.8%
times-frac27.8%
Applied egg-rr56.3%
associate-/r/56.3%
associate-/r*56.3%
associate-/r/56.3%
Simplified56.3%
div-inv56.3%
div-inv56.3%
pow-flip56.3%
metadata-eval56.3%
Applied egg-rr56.3%
associate-*r/56.3%
*-rgt-identity56.3%
associate-/r*56.3%
associate-/l*56.3%
*-inverses56.3%
Simplified56.3%
Taylor expanded in k around inf 72.7%
Final simplification59.3%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2 (pow (cbrt l) -2.0))
(t_3 (cbrt (* (sin k_m) (tan k_m))))
(t_4 (/ (sqrt 2.0) k_m)))
(*
t_s
(if (<= k_m 2000000000.0)
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)
(if (<= k_m 1.12e+223)
(/
(* (* (* t_m t_4) (pow (* (* t_m t_2) t_3) -2.0)) (* t_4 (/ 1.0 t_2)))
t_3)
(*
(*
(/ (sqrt 2.0) (* k_m t_m))
(cbrt (/ (* (pow l 4.0) (pow (cos k_m) 2.0)) (pow (sin k_m) 4.0))))
(/ (/ t_4 t_2) t_3)))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = pow(cbrt(l), -2.0);
double t_3 = cbrt((sin(k_m) * tan(k_m)));
double t_4 = sqrt(2.0) / k_m;
double tmp;
if (k_m <= 2000000000.0) {
tmp = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
} else if (k_m <= 1.12e+223) {
tmp = (((t_m * t_4) * pow(((t_m * t_2) * t_3), -2.0)) * (t_4 * (1.0 / t_2))) / t_3;
} else {
tmp = ((sqrt(2.0) / (k_m * t_m)) * cbrt(((pow(l, 4.0) * pow(cos(k_m), 2.0)) / pow(sin(k_m), 4.0)))) * ((t_4 / t_2) / t_3);
}
return t_s * tmp;
}
k_m = Math.abs(k);
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_m) {
double t_2 = Math.pow(Math.cbrt(l), -2.0);
double t_3 = Math.cbrt((Math.sin(k_m) * Math.tan(k_m)));
double t_4 = Math.sqrt(2.0) / k_m;
double tmp;
if (k_m <= 2000000000.0) {
tmp = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
} else if (k_m <= 1.12e+223) {
tmp = (((t_m * t_4) * Math.pow(((t_m * t_2) * t_3), -2.0)) * (t_4 * (1.0 / t_2))) / t_3;
} else {
tmp = ((Math.sqrt(2.0) / (k_m * t_m)) * Math.cbrt(((Math.pow(l, 4.0) * Math.pow(Math.cos(k_m), 2.0)) / Math.pow(Math.sin(k_m), 4.0)))) * ((t_4 / t_2) / t_3);
}
return t_s * tmp;
}
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = cbrt(l) ^ -2.0 t_3 = cbrt(Float64(sin(k_m) * tan(k_m))) t_4 = Float64(sqrt(2.0) / k_m) tmp = 0.0 if (k_m <= 2000000000.0) tmp = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0; elseif (k_m <= 1.12e+223) tmp = Float64(Float64(Float64(Float64(t_m * t_4) * (Float64(Float64(t_m * t_2) * t_3) ^ -2.0)) * Float64(t_4 * Float64(1.0 / t_2))) / t_3); else tmp = Float64(Float64(Float64(sqrt(2.0) / Float64(k_m * t_m)) * cbrt(Float64(Float64((l ^ 4.0) * (cos(k_m) ^ 2.0)) / (sin(k_m) ^ 4.0)))) * Float64(Float64(t_4 / t_2) / t_3)); end return Float64(t_s * tmp) end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]}, Block[{t$95$3 = N[Power[N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]}, Block[{t$95$4 = N[(N[Sqrt[2.0], $MachinePrecision] / k$95$m), $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 2000000000.0], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 1.12e+223], N[(N[(N[(N[(t$95$m * t$95$4), $MachinePrecision] * N[Power[N[(N[(t$95$m * t$95$2), $MachinePrecision] * t$95$3), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision] * N[(t$95$4 * N[(1.0 / t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$3), $MachinePrecision], N[(N[(N[(N[Sqrt[2.0], $MachinePrecision] / N[(k$95$m * t$95$m), $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(N[Power[l, 4.0], $MachinePrecision] * N[Power[N[Cos[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k$95$m], $MachinePrecision], 4.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$4 / t$95$2), $MachinePrecision] / t$95$3), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\sqrt[3]{\ell}\right)}^{-2}\\
t_3 := \sqrt[3]{\sin k\_m \cdot \tan k\_m}\\
t_4 := \frac{\sqrt{2}}{k\_m}\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2000000000:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 1.12 \cdot 10^{+223}:\\
\;\;\;\;\frac{\left(\left(t\_m \cdot t\_4\right) \cdot {\left(\left(t\_m \cdot t\_2\right) \cdot t\_3\right)}^{-2}\right) \cdot \left(t\_4 \cdot \frac{1}{t\_2}\right)}{t\_3}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sqrt{2}}{k\_m \cdot t\_m} \cdot \sqrt[3]{\frac{{\ell}^{4} \cdot {\cos k\_m}^{2}}{{\sin k\_m}^{4}}}\right) \cdot \frac{\frac{t\_4}{t\_2}}{t\_3}\\
\end{array}
\end{array}
\end{array}
if k < 2e9Initial program 39.1%
*-commutative39.1%
associate-/r*39.1%
Simplified43.6%
add-sqr-sqrt29.4%
Applied egg-rr33.2%
unpow233.2%
associate-/l/33.7%
associate-*l/35.3%
associate-*l/35.3%
*-commutative35.3%
Simplified35.3%
Taylor expanded in k around inf 51.7%
associate-/l*52.6%
Simplified52.6%
if 2e9 < k < 1.1200000000000001e223Initial program 28.0%
*-commutative28.0%
associate-/r*28.0%
Simplified48.2%
add-sqr-sqrt48.2%
add-cube-cbrt48.2%
times-frac48.2%
Applied egg-rr82.2%
associate-/r/82.3%
associate-/r*82.3%
associate-/r/82.3%
Simplified82.3%
associate-*r/82.2%
Applied egg-rr84.3%
associate-/l*84.3%
Applied egg-rr84.3%
associate-/r*84.3%
*-inverses84.3%
Simplified84.3%
if 1.1200000000000001e223 < k Initial program 16.7%
*-commutative16.7%
associate-/r*16.7%
Simplified27.8%
add-sqr-sqrt27.8%
add-cube-cbrt27.8%
times-frac27.8%
Applied egg-rr56.3%
associate-/r/56.3%
associate-/r*56.3%
associate-/r/56.3%
Simplified56.3%
div-inv56.3%
div-inv56.3%
pow-flip56.3%
metadata-eval56.3%
Applied egg-rr56.3%
associate-*r/56.3%
*-rgt-identity56.3%
associate-/r*56.3%
associate-/l*56.3%
*-inverses56.3%
Simplified56.3%
Taylor expanded in k around inf 72.7%
Final simplification59.3%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2 (pow (cbrt l) -2.0))
(t_3 (cbrt (* (sin k_m) (tan k_m))))
(t_4 (/ (sqrt 2.0) k_m))
(t_5 (/ t_4 t_2)))
(*
t_s
(if (<= k_m 2000000000.0)
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)
(if (<= k_m 5e+222)
(/ (* (* t_m t_4) (* (pow (* (* t_m t_2) t_3) -2.0) t_5)) t_3)
(*
(*
(/ (sqrt 2.0) (* k_m t_m))
(cbrt (/ (* (pow l 4.0) (pow (cos k_m) 2.0)) (pow (sin k_m) 4.0))))
(/ t_5 t_3)))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = pow(cbrt(l), -2.0);
double t_3 = cbrt((sin(k_m) * tan(k_m)));
double t_4 = sqrt(2.0) / k_m;
double t_5 = t_4 / t_2;
double tmp;
if (k_m <= 2000000000.0) {
tmp = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
} else if (k_m <= 5e+222) {
tmp = ((t_m * t_4) * (pow(((t_m * t_2) * t_3), -2.0) * t_5)) / t_3;
} else {
tmp = ((sqrt(2.0) / (k_m * t_m)) * cbrt(((pow(l, 4.0) * pow(cos(k_m), 2.0)) / pow(sin(k_m), 4.0)))) * (t_5 / t_3);
}
return t_s * tmp;
}
k_m = Math.abs(k);
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_m) {
double t_2 = Math.pow(Math.cbrt(l), -2.0);
double t_3 = Math.cbrt((Math.sin(k_m) * Math.tan(k_m)));
double t_4 = Math.sqrt(2.0) / k_m;
double t_5 = t_4 / t_2;
double tmp;
if (k_m <= 2000000000.0) {
tmp = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
} else if (k_m <= 5e+222) {
tmp = ((t_m * t_4) * (Math.pow(((t_m * t_2) * t_3), -2.0) * t_5)) / t_3;
} else {
tmp = ((Math.sqrt(2.0) / (k_m * t_m)) * Math.cbrt(((Math.pow(l, 4.0) * Math.pow(Math.cos(k_m), 2.0)) / Math.pow(Math.sin(k_m), 4.0)))) * (t_5 / t_3);
}
return t_s * tmp;
}
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = cbrt(l) ^ -2.0 t_3 = cbrt(Float64(sin(k_m) * tan(k_m))) t_4 = Float64(sqrt(2.0) / k_m) t_5 = Float64(t_4 / t_2) tmp = 0.0 if (k_m <= 2000000000.0) tmp = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0; elseif (k_m <= 5e+222) tmp = Float64(Float64(Float64(t_m * t_4) * Float64((Float64(Float64(t_m * t_2) * t_3) ^ -2.0) * t_5)) / t_3); else tmp = Float64(Float64(Float64(sqrt(2.0) / Float64(k_m * t_m)) * cbrt(Float64(Float64((l ^ 4.0) * (cos(k_m) ^ 2.0)) / (sin(k_m) ^ 4.0)))) * Float64(t_5 / t_3)); end return Float64(t_s * tmp) end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]}, Block[{t$95$3 = N[Power[N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]}, Block[{t$95$4 = N[(N[Sqrt[2.0], $MachinePrecision] / k$95$m), $MachinePrecision]}, Block[{t$95$5 = N[(t$95$4 / t$95$2), $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 2000000000.0], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 5e+222], N[(N[(N[(t$95$m * t$95$4), $MachinePrecision] * N[(N[Power[N[(N[(t$95$m * t$95$2), $MachinePrecision] * t$95$3), $MachinePrecision], -2.0], $MachinePrecision] * t$95$5), $MachinePrecision]), $MachinePrecision] / t$95$3), $MachinePrecision], N[(N[(N[(N[Sqrt[2.0], $MachinePrecision] / N[(k$95$m * t$95$m), $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(N[Power[l, 4.0], $MachinePrecision] * N[Power[N[Cos[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k$95$m], $MachinePrecision], 4.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] * N[(t$95$5 / t$95$3), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\sqrt[3]{\ell}\right)}^{-2}\\
t_3 := \sqrt[3]{\sin k\_m \cdot \tan k\_m}\\
t_4 := \frac{\sqrt{2}}{k\_m}\\
t_5 := \frac{t\_4}{t\_2}\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2000000000:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 5 \cdot 10^{+222}:\\
\;\;\;\;\frac{\left(t\_m \cdot t\_4\right) \cdot \left({\left(\left(t\_m \cdot t\_2\right) \cdot t\_3\right)}^{-2} \cdot t\_5\right)}{t\_3}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sqrt{2}}{k\_m \cdot t\_m} \cdot \sqrt[3]{\frac{{\ell}^{4} \cdot {\cos k\_m}^{2}}{{\sin k\_m}^{4}}}\right) \cdot \frac{t\_5}{t\_3}\\
\end{array}
\end{array}
\end{array}
if k < 2e9Initial program 39.1%
*-commutative39.1%
associate-/r*39.1%
Simplified43.6%
add-sqr-sqrt29.4%
Applied egg-rr33.2%
unpow233.2%
associate-/l/33.7%
associate-*l/35.3%
associate-*l/35.3%
*-commutative35.3%
Simplified35.3%
Taylor expanded in k around inf 51.7%
associate-/l*52.6%
Simplified52.6%
if 2e9 < k < 5.00000000000000023e222Initial program 28.0%
*-commutative28.0%
associate-/r*28.0%
Simplified48.2%
add-sqr-sqrt48.2%
add-cube-cbrt48.2%
times-frac48.2%
Applied egg-rr82.2%
associate-/r/82.3%
associate-/r*82.3%
associate-/r/82.3%
Simplified82.3%
div-inv82.3%
div-inv82.3%
pow-flip82.3%
metadata-eval82.3%
Applied egg-rr82.3%
associate-*r/82.4%
*-rgt-identity82.4%
associate-/r*82.4%
associate-/l*82.4%
*-inverses82.4%
Simplified82.4%
div-inv82.4%
pow-flip84.4%
div-inv84.4%
pow-flip84.3%
metadata-eval84.3%
metadata-eval84.3%
Applied egg-rr84.3%
if 5.00000000000000023e222 < k Initial program 16.7%
*-commutative16.7%
associate-/r*16.7%
Simplified27.8%
add-sqr-sqrt27.8%
add-cube-cbrt27.8%
times-frac27.8%
Applied egg-rr56.3%
associate-/r/56.3%
associate-/r*56.3%
associate-/r/56.3%
Simplified56.3%
div-inv56.3%
div-inv56.3%
pow-flip56.3%
metadata-eval56.3%
Applied egg-rr56.3%
associate-*r/56.3%
*-rgt-identity56.3%
associate-/r*56.3%
associate-/l*56.3%
*-inverses56.3%
Simplified56.3%
Taylor expanded in k around inf 72.7%
Final simplification59.3%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2 (* (sin k_m) (tan k_m)))
(t_3 (cbrt t_2))
(t_4 (/ (sqrt 2.0) k_m))
(t_5 (pow (cbrt l) -2.0)))
(*
t_s
(if (<= k_m 2000000000.0)
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)
(if (<= k_m 1.6e+131)
(*
(/ (pow t_4 2.0) (* t_5 t_3))
(* t_m (pow (* t_5 (* t_m t_3)) -2.0)))
(/
(*
(/ 1.0 (/ t_5 t_4))
(* t_4 (* t_m (pow (* t_m (cbrt (* t_2 (pow l -2.0)))) -2.0))))
t_3))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = sin(k_m) * tan(k_m);
double t_3 = cbrt(t_2);
double t_4 = sqrt(2.0) / k_m;
double t_5 = pow(cbrt(l), -2.0);
double tmp;
if (k_m <= 2000000000.0) {
tmp = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
} else if (k_m <= 1.6e+131) {
tmp = (pow(t_4, 2.0) / (t_5 * t_3)) * (t_m * pow((t_5 * (t_m * t_3)), -2.0));
} else {
tmp = ((1.0 / (t_5 / t_4)) * (t_4 * (t_m * pow((t_m * cbrt((t_2 * pow(l, -2.0)))), -2.0)))) / t_3;
}
return t_s * tmp;
}
k_m = Math.abs(k);
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_m) {
double t_2 = Math.sin(k_m) * Math.tan(k_m);
double t_3 = Math.cbrt(t_2);
double t_4 = Math.sqrt(2.0) / k_m;
double t_5 = Math.pow(Math.cbrt(l), -2.0);
double tmp;
if (k_m <= 2000000000.0) {
tmp = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
} else if (k_m <= 1.6e+131) {
tmp = (Math.pow(t_4, 2.0) / (t_5 * t_3)) * (t_m * Math.pow((t_5 * (t_m * t_3)), -2.0));
} else {
tmp = ((1.0 / (t_5 / t_4)) * (t_4 * (t_m * Math.pow((t_m * Math.cbrt((t_2 * Math.pow(l, -2.0)))), -2.0)))) / t_3;
}
return t_s * tmp;
}
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = Float64(sin(k_m) * tan(k_m)) t_3 = cbrt(t_2) t_4 = Float64(sqrt(2.0) / k_m) t_5 = cbrt(l) ^ -2.0 tmp = 0.0 if (k_m <= 2000000000.0) tmp = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0; elseif (k_m <= 1.6e+131) tmp = Float64(Float64((t_4 ^ 2.0) / Float64(t_5 * t_3)) * Float64(t_m * (Float64(t_5 * Float64(t_m * t_3)) ^ -2.0))); else tmp = Float64(Float64(Float64(1.0 / Float64(t_5 / t_4)) * Float64(t_4 * Float64(t_m * (Float64(t_m * cbrt(Float64(t_2 * (l ^ -2.0)))) ^ -2.0)))) / t_3); end return Float64(t_s * tmp) end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[Power[t$95$2, 1/3], $MachinePrecision]}, Block[{t$95$4 = N[(N[Sqrt[2.0], $MachinePrecision] / k$95$m), $MachinePrecision]}, Block[{t$95$5 = N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 2000000000.0], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 1.6e+131], N[(N[(N[Power[t$95$4, 2.0], $MachinePrecision] / N[(t$95$5 * t$95$3), $MachinePrecision]), $MachinePrecision] * N[(t$95$m * N[Power[N[(t$95$5 * N[(t$95$m * t$95$3), $MachinePrecision]), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(1.0 / N[(t$95$5 / t$95$4), $MachinePrecision]), $MachinePrecision] * N[(t$95$4 * N[(t$95$m * N[Power[N[(t$95$m * N[Power[N[(t$95$2 * N[Power[l, -2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$3), $MachinePrecision]]]), $MachinePrecision]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := \sin k\_m \cdot \tan k\_m\\
t_3 := \sqrt[3]{t\_2}\\
t_4 := \frac{\sqrt{2}}{k\_m}\\
t_5 := {\left(\sqrt[3]{\ell}\right)}^{-2}\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2000000000:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 1.6 \cdot 10^{+131}:\\
\;\;\;\;\frac{{t\_4}^{2}}{t\_5 \cdot t\_3} \cdot \left(t\_m \cdot {\left(t\_5 \cdot \left(t\_m \cdot t\_3\right)\right)}^{-2}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{t\_5}{t\_4}} \cdot \left(t\_4 \cdot \left(t\_m \cdot {\left(t\_m \cdot \sqrt[3]{t\_2 \cdot {\ell}^{-2}}\right)}^{-2}\right)\right)}{t\_3}\\
\end{array}
\end{array}
\end{array}
if k < 2e9Initial program 39.1%
*-commutative39.1%
associate-/r*39.1%
Simplified43.6%
add-sqr-sqrt29.4%
Applied egg-rr33.2%
unpow233.2%
associate-/l/33.7%
associate-*l/35.3%
associate-*l/35.3%
*-commutative35.3%
Simplified35.3%
Taylor expanded in k around inf 51.7%
associate-/l*52.6%
Simplified52.6%
if 2e9 < k < 1.6000000000000001e131Initial program 28.7%
*-commutative28.7%
associate-/r*28.7%
Simplified46.5%
add-sqr-sqrt46.5%
add-cube-cbrt46.5%
times-frac46.4%
Applied egg-rr84.8%
associate-/r/84.8%
associate-/r*84.8%
associate-/r/84.9%
Simplified84.9%
associate-*r/84.8%
Applied egg-rr88.0%
clear-num88.0%
inv-pow88.0%
Applied egg-rr88.0%
unpow-188.0%
*-commutative88.0%
times-frac88.0%
*-inverses88.0%
Simplified88.0%
associate-/l*88.0%
associate-*l*87.9%
*-commutative87.9%
Applied egg-rr87.9%
*-commutative87.9%
associate-*r*87.9%
associate-/l/87.9%
associate-*l/87.9%
unpow287.9%
Simplified87.8%
if 1.6000000000000001e131 < k Initial program 21.2%
*-commutative21.2%
associate-/r*21.2%
Simplified38.5%
add-sqr-sqrt38.5%
add-cube-cbrt38.5%
times-frac38.5%
Applied egg-rr65.9%
associate-/r/65.9%
associate-/r*65.9%
associate-/r/65.9%
Simplified65.9%
associate-*r/65.9%
Applied egg-rr65.9%
clear-num65.9%
inv-pow65.9%
Applied egg-rr65.9%
unpow-165.9%
*-commutative65.9%
times-frac65.9%
*-inverses65.9%
Simplified65.9%
pow165.9%
Applied egg-rr60.8%
unpow160.8%
Simplified60.8%
Final simplification57.5%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2 (/ (sqrt 2.0) k_m)) (t_3 (cbrt (* (sin k_m) (tan k_m)))))
(*
t_s
(if (<= k_m 2000000000.0)
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)
(*
(/ (* t_m t_2) (pow (* t_3 (/ t_m (pow (cbrt l) 2.0))) 2.0))
(/ (/ t_2 (pow (cbrt l) -2.0)) t_3))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = sqrt(2.0) / k_m;
double t_3 = cbrt((sin(k_m) * tan(k_m)));
double tmp;
if (k_m <= 2000000000.0) {
tmp = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
} else {
tmp = ((t_m * t_2) / pow((t_3 * (t_m / pow(cbrt(l), 2.0))), 2.0)) * ((t_2 / pow(cbrt(l), -2.0)) / t_3);
}
return t_s * tmp;
}
k_m = Math.abs(k);
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_m) {
double t_2 = Math.sqrt(2.0) / k_m;
double t_3 = Math.cbrt((Math.sin(k_m) * Math.tan(k_m)));
double tmp;
if (k_m <= 2000000000.0) {
tmp = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
} else {
tmp = ((t_m * t_2) / Math.pow((t_3 * (t_m / Math.pow(Math.cbrt(l), 2.0))), 2.0)) * ((t_2 / Math.pow(Math.cbrt(l), -2.0)) / t_3);
}
return t_s * tmp;
}
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = Float64(sqrt(2.0) / k_m) t_3 = cbrt(Float64(sin(k_m) * tan(k_m))) tmp = 0.0 if (k_m <= 2000000000.0) tmp = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0; else tmp = Float64(Float64(Float64(t_m * t_2) / (Float64(t_3 * Float64(t_m / (cbrt(l) ^ 2.0))) ^ 2.0)) * Float64(Float64(t_2 / (cbrt(l) ^ -2.0)) / t_3)); end return Float64(t_s * tmp) end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[(N[Sqrt[2.0], $MachinePrecision] / k$95$m), $MachinePrecision]}, Block[{t$95$3 = N[Power[N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 2000000000.0], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(N[(N[(t$95$m * t$95$2), $MachinePrecision] / N[Power[N[(t$95$3 * N[(t$95$m / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$2 / N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision] / t$95$3), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := \frac{\sqrt{2}}{k\_m}\\
t_3 := \sqrt[3]{\sin k\_m \cdot \tan k\_m}\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2000000000:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{t\_m \cdot t\_2}{{\left(t\_3 \cdot \frac{t\_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{2}} \cdot \frac{\frac{t\_2}{{\left(\sqrt[3]{\ell}\right)}^{-2}}}{t\_3}\\
\end{array}
\end{array}
\end{array}
if k < 2e9Initial program 39.1%
*-commutative39.1%
associate-/r*39.1%
Simplified43.6%
add-sqr-sqrt29.4%
Applied egg-rr33.2%
unpow233.2%
associate-/l/33.7%
associate-*l/35.3%
associate-*l/35.3%
*-commutative35.3%
Simplified35.3%
Taylor expanded in k around inf 51.7%
associate-/l*52.6%
Simplified52.6%
if 2e9 < k Initial program 24.6%
*-commutative24.6%
associate-/r*24.6%
Simplified42.2%
add-sqr-sqrt42.2%
add-cube-cbrt42.2%
times-frac42.1%
Applied egg-rr74.6%
associate-/r/74.6%
associate-/r*74.6%
associate-/r/74.6%
Simplified74.6%
div-inv74.6%
div-inv74.6%
pow-flip74.6%
metadata-eval74.6%
Applied egg-rr74.6%
associate-*r/74.7%
*-rgt-identity74.7%
associate-/r*74.7%
associate-/l*74.7%
*-inverses74.7%
Simplified74.7%
Taylor expanded in k around 0 74.7%
Final simplification57.8%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2 (* (sin k_m) (tan k_m))) (t_3 (/ (sqrt 2.0) k_m)))
(*
t_s
(if (<= k_m 1.48e-6)
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)
(if (<= k_m 1.1e+146)
(*
(*
2.0
(* (* (cos k_m) (pow k_m -2.0)) (/ 1.0 (* t_m (pow (sin k_m) 2.0)))))
(* l l))
(/
(*
(/ 1.0 (/ (pow (cbrt l) -2.0) t_3))
(* t_3 (* t_m (pow (* t_m (cbrt (* t_2 (pow l -2.0)))) -2.0))))
(cbrt t_2)))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = sin(k_m) * tan(k_m);
double t_3 = sqrt(2.0) / k_m;
double tmp;
if (k_m <= 1.48e-6) {
tmp = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
} else if (k_m <= 1.1e+146) {
tmp = (2.0 * ((cos(k_m) * pow(k_m, -2.0)) * (1.0 / (t_m * pow(sin(k_m), 2.0))))) * (l * l);
} else {
tmp = ((1.0 / (pow(cbrt(l), -2.0) / t_3)) * (t_3 * (t_m * pow((t_m * cbrt((t_2 * pow(l, -2.0)))), -2.0)))) / cbrt(t_2);
}
return t_s * tmp;
}
k_m = Math.abs(k);
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_m) {
double t_2 = Math.sin(k_m) * Math.tan(k_m);
double t_3 = Math.sqrt(2.0) / k_m;
double tmp;
if (k_m <= 1.48e-6) {
tmp = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
} else if (k_m <= 1.1e+146) {
tmp = (2.0 * ((Math.cos(k_m) * Math.pow(k_m, -2.0)) * (1.0 / (t_m * Math.pow(Math.sin(k_m), 2.0))))) * (l * l);
} else {
tmp = ((1.0 / (Math.pow(Math.cbrt(l), -2.0) / t_3)) * (t_3 * (t_m * Math.pow((t_m * Math.cbrt((t_2 * Math.pow(l, -2.0)))), -2.0)))) / Math.cbrt(t_2);
}
return t_s * tmp;
}
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = Float64(sin(k_m) * tan(k_m)) t_3 = Float64(sqrt(2.0) / k_m) tmp = 0.0 if (k_m <= 1.48e-6) tmp = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0; elseif (k_m <= 1.1e+146) tmp = Float64(Float64(2.0 * Float64(Float64(cos(k_m) * (k_m ^ -2.0)) * Float64(1.0 / Float64(t_m * (sin(k_m) ^ 2.0))))) * Float64(l * l)); else tmp = Float64(Float64(Float64(1.0 / Float64((cbrt(l) ^ -2.0) / t_3)) * Float64(t_3 * Float64(t_m * (Float64(t_m * cbrt(Float64(t_2 * (l ^ -2.0)))) ^ -2.0)))) / cbrt(t_2)); end return Float64(t_s * tmp) end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[Sqrt[2.0], $MachinePrecision] / k$95$m), $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 1.48e-6], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 1.1e+146], N[(N[(2.0 * N[(N[(N[Cos[k$95$m], $MachinePrecision] * N[Power[k$95$m, -2.0], $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(t$95$m * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l * l), $MachinePrecision]), $MachinePrecision], N[(N[(N[(1.0 / N[(N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision] / t$95$3), $MachinePrecision]), $MachinePrecision] * N[(t$95$3 * N[(t$95$m * N[Power[N[(t$95$m * N[Power[N[(t$95$2 * N[Power[l, -2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[t$95$2, 1/3], $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := \sin k\_m \cdot \tan k\_m\\
t_3 := \frac{\sqrt{2}}{k\_m}\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 1.48 \cdot 10^{-6}:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 1.1 \cdot 10^{+146}:\\
\;\;\;\;\left(2 \cdot \left(\left(\cos k\_m \cdot {k\_m}^{-2}\right) \cdot \frac{1}{t\_m \cdot {\sin k\_m}^{2}}\right)\right) \cdot \left(\ell \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{{\left(\sqrt[3]{\ell}\right)}^{-2}}{t\_3}} \cdot \left(t\_3 \cdot \left(t\_m \cdot {\left(t\_m \cdot \sqrt[3]{t\_2 \cdot {\ell}^{-2}}\right)}^{-2}\right)\right)}{\sqrt[3]{t\_2}}\\
\end{array}
\end{array}
\end{array}
if k < 1.48000000000000002e-6Initial program 39.0%
*-commutative39.0%
associate-/r*39.0%
Simplified43.6%
add-sqr-sqrt29.2%
Applied egg-rr33.0%
unpow233.0%
associate-/l/33.5%
associate-*l/35.1%
associate-*l/35.2%
*-commutative35.2%
Simplified35.2%
Taylor expanded in k around inf 51.7%
associate-/l*52.6%
Simplified52.6%
if 1.48000000000000002e-6 < k < 1.0999999999999999e146Initial program 28.2%
Simplified53.1%
Taylor expanded in t around 0 78.2%
associate-/r*78.3%
Simplified78.3%
div-inv78.4%
div-inv78.4%
pow-flip78.4%
metadata-eval78.4%
Applied egg-rr78.4%
if 1.0999999999999999e146 < k Initial program 22.6%
*-commutative22.6%
associate-/r*22.6%
Simplified37.8%
add-sqr-sqrt37.8%
add-cube-cbrt37.8%
times-frac37.8%
Applied egg-rr66.9%
associate-/r/66.9%
associate-/r*66.9%
associate-/r/66.9%
Simplified66.9%
associate-*r/66.9%
Applied egg-rr66.9%
clear-num66.9%
inv-pow66.9%
Applied egg-rr66.9%
unpow-166.9%
*-commutative66.9%
times-frac66.9%
*-inverses66.9%
Simplified66.9%
pow166.9%
Applied egg-rr61.3%
unpow161.3%
Simplified61.3%
Final simplification56.9%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2 (* (cbrt (* (sin k_m) (tan k_m))) (/ t_m (pow (cbrt l) 2.0)))))
(*
t_s
(if (<= k_m 6.2e-6)
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)
(if (<= k_m 1.15e+157)
(*
(*
2.0
(* (* (cos k_m) (pow k_m -2.0)) (/ 1.0 (* t_m (pow (sin k_m) 2.0)))))
(* l l))
(* (/ 2.0 (pow t_2 2.0)) (/ (pow (/ k_m t_m) -2.0) t_2)))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = cbrt((sin(k_m) * tan(k_m))) * (t_m / pow(cbrt(l), 2.0));
double tmp;
if (k_m <= 6.2e-6) {
tmp = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
} else if (k_m <= 1.15e+157) {
tmp = (2.0 * ((cos(k_m) * pow(k_m, -2.0)) * (1.0 / (t_m * pow(sin(k_m), 2.0))))) * (l * l);
} else {
tmp = (2.0 / pow(t_2, 2.0)) * (pow((k_m / t_m), -2.0) / t_2);
}
return t_s * tmp;
}
k_m = Math.abs(k);
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_m) {
double t_2 = Math.cbrt((Math.sin(k_m) * Math.tan(k_m))) * (t_m / Math.pow(Math.cbrt(l), 2.0));
double tmp;
if (k_m <= 6.2e-6) {
tmp = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
} else if (k_m <= 1.15e+157) {
tmp = (2.0 * ((Math.cos(k_m) * Math.pow(k_m, -2.0)) * (1.0 / (t_m * Math.pow(Math.sin(k_m), 2.0))))) * (l * l);
} else {
tmp = (2.0 / Math.pow(t_2, 2.0)) * (Math.pow((k_m / t_m), -2.0) / t_2);
}
return t_s * tmp;
}
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = Float64(cbrt(Float64(sin(k_m) * tan(k_m))) * Float64(t_m / (cbrt(l) ^ 2.0))) tmp = 0.0 if (k_m <= 6.2e-6) tmp = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0; elseif (k_m <= 1.15e+157) tmp = Float64(Float64(2.0 * Float64(Float64(cos(k_m) * (k_m ^ -2.0)) * Float64(1.0 / Float64(t_m * (sin(k_m) ^ 2.0))))) * Float64(l * l)); else tmp = Float64(Float64(2.0 / (t_2 ^ 2.0)) * Float64((Float64(k_m / t_m) ^ -2.0) / t_2)); end return Float64(t_s * tmp) end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[(N[Power[N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] * N[(t$95$m / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 6.2e-6], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 1.15e+157], N[(N[(2.0 * N[(N[(N[Cos[k$95$m], $MachinePrecision] * N[Power[k$95$m, -2.0], $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(t$95$m * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l * l), $MachinePrecision]), $MachinePrecision], N[(N[(2.0 / N[Power[t$95$2, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[(k$95$m / t$95$m), $MachinePrecision], -2.0], $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := \sqrt[3]{\sin k\_m \cdot \tan k\_m} \cdot \frac{t\_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 6.2 \cdot 10^{-6}:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 1.15 \cdot 10^{+157}:\\
\;\;\;\;\left(2 \cdot \left(\left(\cos k\_m \cdot {k\_m}^{-2}\right) \cdot \frac{1}{t\_m \cdot {\sin k\_m}^{2}}\right)\right) \cdot \left(\ell \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{t\_2}^{2}} \cdot \frac{{\left(\frac{k\_m}{t\_m}\right)}^{-2}}{t\_2}\\
\end{array}
\end{array}
\end{array}
if k < 6.1999999999999999e-6Initial program 39.0%
*-commutative39.0%
associate-/r*39.0%
Simplified43.6%
add-sqr-sqrt29.2%
Applied egg-rr33.0%
unpow233.0%
associate-/l/33.5%
associate-*l/35.1%
associate-*l/35.2%
*-commutative35.2%
Simplified35.2%
Taylor expanded in k around inf 51.7%
associate-/l*52.6%
Simplified52.6%
if 6.1999999999999999e-6 < k < 1.15000000000000002e157Initial program 29.5%
Simplified55.0%
Taylor expanded in t around 0 78.7%
associate-/r*78.7%
Simplified78.7%
div-inv78.8%
div-inv78.8%
pow-flip78.8%
metadata-eval78.8%
Applied egg-rr78.8%
if 1.15000000000000002e157 < k Initial program 20.7%
*-commutative20.7%
associate-/r*20.7%
Simplified34.5%
add-cube-cbrt34.5%
div-inv34.5%
times-frac34.5%
Applied egg-rr59.3%
Final simplification56.8%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2
(pow
(/ (sqrt 2.0) (* (* k_m (/ (sin k_m) l)) (sqrt (/ t_m (cos k_m)))))
2.0)))
(*
t_s
(if (<= k_m 6.7e-6)
t_2
(if (<= k_m 1.3e+178)
(*
(*
2.0
(* (* (cos k_m) (pow k_m -2.0)) (/ 1.0 (* t_m (pow (sin k_m) 2.0)))))
(* l l))
(if (<= k_m 1.02e+231) t_2 0.0))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = pow((sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))), 2.0);
double tmp;
if (k_m <= 6.7e-6) {
tmp = t_2;
} else if (k_m <= 1.3e+178) {
tmp = (2.0 * ((cos(k_m) * pow(k_m, -2.0)) * (1.0 / (t_m * pow(sin(k_m), 2.0))))) * (l * l);
} else if (k_m <= 1.02e+231) {
tmp = t_2;
} else {
tmp = 0.0;
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: t_2
real(8) :: tmp
t_2 = (sqrt(2.0d0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))) ** 2.0d0
if (k_m <= 6.7d-6) then
tmp = t_2
else if (k_m <= 1.3d+178) then
tmp = (2.0d0 * ((cos(k_m) * (k_m ** (-2.0d0))) * (1.0d0 / (t_m * (sin(k_m) ** 2.0d0))))) * (l * l)
else if (k_m <= 1.02d+231) then
tmp = t_2
else
tmp = 0.0d0
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double t_2 = Math.pow((Math.sqrt(2.0) / ((k_m * (Math.sin(k_m) / l)) * Math.sqrt((t_m / Math.cos(k_m))))), 2.0);
double tmp;
if (k_m <= 6.7e-6) {
tmp = t_2;
} else if (k_m <= 1.3e+178) {
tmp = (2.0 * ((Math.cos(k_m) * Math.pow(k_m, -2.0)) * (1.0 / (t_m * Math.pow(Math.sin(k_m), 2.0))))) * (l * l);
} else if (k_m <= 1.02e+231) {
tmp = t_2;
} else {
tmp = 0.0;
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): t_2 = math.pow((math.sqrt(2.0) / ((k_m * (math.sin(k_m) / l)) * math.sqrt((t_m / math.cos(k_m))))), 2.0) tmp = 0 if k_m <= 6.7e-6: tmp = t_2 elif k_m <= 1.3e+178: tmp = (2.0 * ((math.cos(k_m) * math.pow(k_m, -2.0)) * (1.0 / (t_m * math.pow(math.sin(k_m), 2.0))))) * (l * l) elif k_m <= 1.02e+231: tmp = t_2 else: tmp = 0.0 return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = Float64(sqrt(2.0) / Float64(Float64(k_m * Float64(sin(k_m) / l)) * sqrt(Float64(t_m / cos(k_m))))) ^ 2.0 tmp = 0.0 if (k_m <= 6.7e-6) tmp = t_2; elseif (k_m <= 1.3e+178) tmp = Float64(Float64(2.0 * Float64(Float64(cos(k_m) * (k_m ^ -2.0)) * Float64(1.0 / Float64(t_m * (sin(k_m) ^ 2.0))))) * Float64(l * l)); elseif (k_m <= 1.02e+231) tmp = t_2; else tmp = 0.0; end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) t_2 = (sqrt(2.0) / ((k_m * (sin(k_m) / l)) * sqrt((t_m / cos(k_m))))) ^ 2.0; tmp = 0.0; if (k_m <= 6.7e-6) tmp = t_2; elseif (k_m <= 1.3e+178) tmp = (2.0 * ((cos(k_m) * (k_m ^ -2.0)) * (1.0 / (t_m * (sin(k_m) ^ 2.0))))) * (l * l); elseif (k_m <= 1.02e+231) tmp = t_2; else tmp = 0.0; end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(k$95$m * N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 6.7e-6], t$95$2, If[LessEqual[k$95$m, 1.3e+178], N[(N[(2.0 * N[(N[(N[Cos[k$95$m], $MachinePrecision] * N[Power[k$95$m, -2.0], $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(t$95$m * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l * l), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 1.02e+231], t$95$2, 0.0]]]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\frac{\sqrt{2}}{\left(k\_m \cdot \frac{\sin k\_m}{\ell}\right) \cdot \sqrt{\frac{t\_m}{\cos k\_m}}}\right)}^{2}\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 6.7 \cdot 10^{-6}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;k\_m \leq 1.3 \cdot 10^{+178}:\\
\;\;\;\;\left(2 \cdot \left(\left(\cos k\_m \cdot {k\_m}^{-2}\right) \cdot \frac{1}{t\_m \cdot {\sin k\_m}^{2}}\right)\right) \cdot \left(\ell \cdot \ell\right)\\
\mathbf{elif}\;k\_m \leq 1.02 \cdot 10^{+231}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
\end{array}
if k < 6.7e-6 or 1.3e178 < k < 1.02e231Initial program 38.3%
*-commutative38.3%
associate-/r*38.3%
Simplified43.6%
add-sqr-sqrt29.9%
Applied egg-rr32.1%
unpow232.1%
associate-/l/32.6%
associate-*l/34.1%
associate-*l/34.1%
*-commutative34.1%
Simplified34.1%
Taylor expanded in k around inf 51.9%
associate-/l*52.7%
Simplified52.7%
if 6.7e-6 < k < 1.3e178Initial program 31.6%
Simplified54.5%
Taylor expanded in t around 0 75.6%
associate-/r*75.7%
Simplified75.7%
div-inv75.8%
div-inv75.8%
pow-flip75.8%
metadata-eval75.8%
Applied egg-rr75.8%
if 1.02e231 < k Initial program 12.5%
Simplified25.0%
add-log-exp25.0%
exp-prod26.5%
associate-*r*26.5%
*-commutative26.5%
associate-*l*26.5%
Applied egg-rr26.5%
Taylor expanded in t around 0 2.0%
add-cube-cbrt2.0%
pow22.0%
clear-num2.0%
metadata-eval2.0%
metadata-eval2.0%
metadata-eval2.0%
cbrt-div2.0%
metadata-eval2.0%
metadata-eval2.0%
clear-num2.0%
metadata-eval2.0%
metadata-eval2.0%
metadata-eval2.0%
cbrt-div2.0%
metadata-eval2.0%
metadata-eval2.0%
Applied egg-rr2.0%
pow-plus2.0%
metadata-eval2.0%
cube-div2.0%
metadata-eval2.0%
rem-cube-cbrt2.0%
unpow-12.0%
pow-base-052.0%
Simplified52.0%
Taylor expanded in l around 0 59.0%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(let* ((t_2
(pow
(* (/ (* (sqrt 2.0) l) (* k_m (sin k_m))) (sqrt (/ (cos k_m) t_m)))
2.0)))
(*
t_s
(if (<= k_m 6.5e-6)
t_2
(if (<= k_m 1.3e+178)
(*
(*
2.0
(* (* (cos k_m) (pow k_m -2.0)) (/ 1.0 (* t_m (pow (sin k_m) 2.0)))))
(* l l))
(if (<= k_m 1.02e+231) t_2 0.0))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double t_2 = pow((((sqrt(2.0) * l) / (k_m * sin(k_m))) * sqrt((cos(k_m) / t_m))), 2.0);
double tmp;
if (k_m <= 6.5e-6) {
tmp = t_2;
} else if (k_m <= 1.3e+178) {
tmp = (2.0 * ((cos(k_m) * pow(k_m, -2.0)) * (1.0 / (t_m * pow(sin(k_m), 2.0))))) * (l * l);
} else if (k_m <= 1.02e+231) {
tmp = t_2;
} else {
tmp = 0.0;
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: t_2
real(8) :: tmp
t_2 = (((sqrt(2.0d0) * l) / (k_m * sin(k_m))) * sqrt((cos(k_m) / t_m))) ** 2.0d0
if (k_m <= 6.5d-6) then
tmp = t_2
else if (k_m <= 1.3d+178) then
tmp = (2.0d0 * ((cos(k_m) * (k_m ** (-2.0d0))) * (1.0d0 / (t_m * (sin(k_m) ** 2.0d0))))) * (l * l)
else if (k_m <= 1.02d+231) then
tmp = t_2
else
tmp = 0.0d0
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double t_2 = Math.pow((((Math.sqrt(2.0) * l) / (k_m * Math.sin(k_m))) * Math.sqrt((Math.cos(k_m) / t_m))), 2.0);
double tmp;
if (k_m <= 6.5e-6) {
tmp = t_2;
} else if (k_m <= 1.3e+178) {
tmp = (2.0 * ((Math.cos(k_m) * Math.pow(k_m, -2.0)) * (1.0 / (t_m * Math.pow(Math.sin(k_m), 2.0))))) * (l * l);
} else if (k_m <= 1.02e+231) {
tmp = t_2;
} else {
tmp = 0.0;
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): t_2 = math.pow((((math.sqrt(2.0) * l) / (k_m * math.sin(k_m))) * math.sqrt((math.cos(k_m) / t_m))), 2.0) tmp = 0 if k_m <= 6.5e-6: tmp = t_2 elif k_m <= 1.3e+178: tmp = (2.0 * ((math.cos(k_m) * math.pow(k_m, -2.0)) * (1.0 / (t_m * math.pow(math.sin(k_m), 2.0))))) * (l * l) elif k_m <= 1.02e+231: tmp = t_2 else: tmp = 0.0 return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) t_2 = Float64(Float64(Float64(sqrt(2.0) * l) / Float64(k_m * sin(k_m))) * sqrt(Float64(cos(k_m) / t_m))) ^ 2.0 tmp = 0.0 if (k_m <= 6.5e-6) tmp = t_2; elseif (k_m <= 1.3e+178) tmp = Float64(Float64(2.0 * Float64(Float64(cos(k_m) * (k_m ^ -2.0)) * Float64(1.0 / Float64(t_m * (sin(k_m) ^ 2.0))))) * Float64(l * l)); elseif (k_m <= 1.02e+231) tmp = t_2; else tmp = 0.0; end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) t_2 = (((sqrt(2.0) * l) / (k_m * sin(k_m))) * sqrt((cos(k_m) / t_m))) ^ 2.0; tmp = 0.0; if (k_m <= 6.5e-6) tmp = t_2; elseif (k_m <= 1.3e+178) tmp = (2.0 * ((cos(k_m) * (k_m ^ -2.0)) * (1.0 / (t_m * (sin(k_m) ^ 2.0))))) * (l * l); elseif (k_m <= 1.02e+231) tmp = t_2; else tmp = 0.0; end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := Block[{t$95$2 = N[Power[N[(N[(N[(N[Sqrt[2.0], $MachinePrecision] * l), $MachinePrecision] / N[(k$95$m * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(N[Cos[k$95$m], $MachinePrecision] / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[k$95$m, 6.5e-6], t$95$2, If[LessEqual[k$95$m, 1.3e+178], N[(N[(2.0 * N[(N[(N[Cos[k$95$m], $MachinePrecision] * N[Power[k$95$m, -2.0], $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(t$95$m * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l * l), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 1.02e+231], t$95$2, 0.0]]]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\frac{\sqrt{2} \cdot \ell}{k\_m \cdot \sin k\_m} \cdot \sqrt{\frac{\cos k\_m}{t\_m}}\right)}^{2}\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 6.5 \cdot 10^{-6}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;k\_m \leq 1.3 \cdot 10^{+178}:\\
\;\;\;\;\left(2 \cdot \left(\left(\cos k\_m \cdot {k\_m}^{-2}\right) \cdot \frac{1}{t\_m \cdot {\sin k\_m}^{2}}\right)\right) \cdot \left(\ell \cdot \ell\right)\\
\mathbf{elif}\;k\_m \leq 1.02 \cdot 10^{+231}:\\
\;\;\;\;t\_2\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
\end{array}
if k < 6.4999999999999996e-6 or 1.3e178 < k < 1.02e231Initial program 38.3%
*-commutative38.3%
associate-/r*38.3%
Simplified43.6%
add-sqr-sqrt29.9%
Applied egg-rr32.1%
unpow232.1%
associate-/l/32.6%
associate-*l/34.1%
associate-*l/34.1%
*-commutative34.1%
Simplified34.1%
Taylor expanded in k around inf 51.9%
if 6.4999999999999996e-6 < k < 1.3e178Initial program 31.6%
Simplified54.5%
Taylor expanded in t around 0 75.6%
associate-/r*75.7%
Simplified75.7%
div-inv75.8%
div-inv75.8%
pow-flip75.8%
metadata-eval75.8%
Applied egg-rr75.8%
if 1.02e231 < k Initial program 12.5%
Simplified25.0%
add-log-exp25.0%
exp-prod26.5%
associate-*r*26.5%
*-commutative26.5%
associate-*l*26.5%
Applied egg-rr26.5%
Taylor expanded in t around 0 2.0%
add-cube-cbrt2.0%
pow22.0%
clear-num2.0%
metadata-eval2.0%
metadata-eval2.0%
metadata-eval2.0%
cbrt-div2.0%
metadata-eval2.0%
metadata-eval2.0%
clear-num2.0%
metadata-eval2.0%
metadata-eval2.0%
metadata-eval2.0%
cbrt-div2.0%
metadata-eval2.0%
metadata-eval2.0%
Applied egg-rr2.0%
pow-plus2.0%
metadata-eval2.0%
cube-div2.0%
metadata-eval2.0%
rem-cube-cbrt2.0%
unpow-12.0%
pow-base-052.0%
Simplified52.0%
Taylor expanded in l around 0 59.0%
Final simplification55.9%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 5.9e-6)
(pow (/ (sqrt 2.0) (* (/ (pow k_m 2.0) l) (sqrt t_m))) 2.0)
(*
(*
2.0
(* (* (cos k_m) (pow k_m -2.0)) (/ 1.0 (* t_m (pow (sin k_m) 2.0)))))
(* l l)))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 5.9e-6) {
tmp = pow((sqrt(2.0) / ((pow(k_m, 2.0) / l) * sqrt(t_m))), 2.0);
} else {
tmp = (2.0 * ((cos(k_m) * pow(k_m, -2.0)) * (1.0 / (t_m * pow(sin(k_m), 2.0))))) * (l * l);
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 5.9d-6) then
tmp = (sqrt(2.0d0) / (((k_m ** 2.0d0) / l) * sqrt(t_m))) ** 2.0d0
else
tmp = (2.0d0 * ((cos(k_m) * (k_m ** (-2.0d0))) * (1.0d0 / (t_m * (sin(k_m) ** 2.0d0))))) * (l * l)
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double tmp;
if (k_m <= 5.9e-6) {
tmp = Math.pow((Math.sqrt(2.0) / ((Math.pow(k_m, 2.0) / l) * Math.sqrt(t_m))), 2.0);
} else {
tmp = (2.0 * ((Math.cos(k_m) * Math.pow(k_m, -2.0)) * (1.0 / (t_m * Math.pow(Math.sin(k_m), 2.0))))) * (l * l);
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 5.9e-6: tmp = math.pow((math.sqrt(2.0) / ((math.pow(k_m, 2.0) / l) * math.sqrt(t_m))), 2.0) else: tmp = (2.0 * ((math.cos(k_m) * math.pow(k_m, -2.0)) * (1.0 / (t_m * math.pow(math.sin(k_m), 2.0))))) * (l * l) return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 5.9e-6) tmp = Float64(sqrt(2.0) / Float64(Float64((k_m ^ 2.0) / l) * sqrt(t_m))) ^ 2.0; else tmp = Float64(Float64(2.0 * Float64(Float64(cos(k_m) * (k_m ^ -2.0)) * Float64(1.0 / Float64(t_m * (sin(k_m) ^ 2.0))))) * Float64(l * l)); end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 5.9e-6) tmp = (sqrt(2.0) / (((k_m ^ 2.0) / l) * sqrt(t_m))) ^ 2.0; else tmp = (2.0 * ((cos(k_m) * (k_m ^ -2.0)) * (1.0 / (t_m * (sin(k_m) ^ 2.0))))) * (l * l); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 5.9e-6], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(N[(2.0 * N[(N[(N[Cos[k$95$m], $MachinePrecision] * N[Power[k$95$m, -2.0], $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(t$95$m * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l * l), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 5.9 \cdot 10^{-6}:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\frac{{k\_m}^{2}}{\ell} \cdot \sqrt{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\left(2 \cdot \left(\left(\cos k\_m \cdot {k\_m}^{-2}\right) \cdot \frac{1}{t\_m \cdot {\sin k\_m}^{2}}\right)\right) \cdot \left(\ell \cdot \ell\right)\\
\end{array}
\end{array}
if k < 5.90000000000000026e-6Initial program 39.0%
*-commutative39.0%
associate-/r*39.0%
Simplified43.6%
add-sqr-sqrt29.2%
Applied egg-rr33.0%
unpow233.0%
associate-/l/33.5%
associate-*l/35.1%
associate-*l/35.2%
*-commutative35.2%
Simplified35.2%
Taylor expanded in k around 0 43.8%
if 5.90000000000000026e-6 < k Initial program 25.4%
Simplified45.6%
Taylor expanded in t around 0 66.9%
associate-/r*67.0%
Simplified67.0%
div-inv67.0%
div-inv67.0%
pow-flip67.0%
metadata-eval67.0%
Applied egg-rr67.0%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 7e-7)
(pow (/ (sqrt 2.0) (* (/ (pow k_m 2.0) l) (sqrt t_m))) 2.0)
(*
(* l l)
(* 2.0 (/ (/ (cos k_m) (pow k_m 2.0)) (* t_m (pow (sin k_m) 2.0))))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 7e-7) {
tmp = pow((sqrt(2.0) / ((pow(k_m, 2.0) / l) * sqrt(t_m))), 2.0);
} else {
tmp = (l * l) * (2.0 * ((cos(k_m) / pow(k_m, 2.0)) / (t_m * pow(sin(k_m), 2.0))));
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 7d-7) then
tmp = (sqrt(2.0d0) / (((k_m ** 2.0d0) / l) * sqrt(t_m))) ** 2.0d0
else
tmp = (l * l) * (2.0d0 * ((cos(k_m) / (k_m ** 2.0d0)) / (t_m * (sin(k_m) ** 2.0d0))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double tmp;
if (k_m <= 7e-7) {
tmp = Math.pow((Math.sqrt(2.0) / ((Math.pow(k_m, 2.0) / l) * Math.sqrt(t_m))), 2.0);
} else {
tmp = (l * l) * (2.0 * ((Math.cos(k_m) / Math.pow(k_m, 2.0)) / (t_m * Math.pow(Math.sin(k_m), 2.0))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 7e-7: tmp = math.pow((math.sqrt(2.0) / ((math.pow(k_m, 2.0) / l) * math.sqrt(t_m))), 2.0) else: tmp = (l * l) * (2.0 * ((math.cos(k_m) / math.pow(k_m, 2.0)) / (t_m * math.pow(math.sin(k_m), 2.0)))) return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 7e-7) tmp = Float64(sqrt(2.0) / Float64(Float64((k_m ^ 2.0) / l) * sqrt(t_m))) ^ 2.0; else tmp = Float64(Float64(l * l) * Float64(2.0 * Float64(Float64(cos(k_m) / (k_m ^ 2.0)) / Float64(t_m * (sin(k_m) ^ 2.0))))); end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 7e-7) tmp = (sqrt(2.0) / (((k_m ^ 2.0) / l) * sqrt(t_m))) ^ 2.0; else tmp = (l * l) * (2.0 * ((cos(k_m) / (k_m ^ 2.0)) / (t_m * (sin(k_m) ^ 2.0)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 7e-7], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(N[(l * l), $MachinePrecision] * N[(2.0 * N[(N[(N[Cos[k$95$m], $MachinePrecision] / N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 7 \cdot 10^{-7}:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\frac{{k\_m}^{2}}{\ell} \cdot \sqrt{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \left(2 \cdot \frac{\frac{\cos k\_m}{{k\_m}^{2}}}{t\_m \cdot {\sin k\_m}^{2}}\right)\\
\end{array}
\end{array}
if k < 6.99999999999999968e-7Initial program 39.0%
*-commutative39.0%
associate-/r*39.0%
Simplified43.6%
add-sqr-sqrt29.2%
Applied egg-rr33.0%
unpow233.0%
associate-/l/33.5%
associate-*l/35.1%
associate-*l/35.2%
*-commutative35.2%
Simplified35.2%
Taylor expanded in k around 0 43.8%
if 6.99999999999999968e-7 < k Initial program 25.4%
Simplified45.6%
Taylor expanded in t around 0 66.9%
associate-/r*67.0%
Simplified67.0%
Final simplification49.5%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 3.15e-6)
(pow (/ (sqrt 2.0) (* (/ (pow k_m 2.0) l) (sqrt t_m))) 2.0)
(* (* l l) (/ (/ 2.0 (pow k_m 2.0)) (* t_m (* (sin k_m) (tan k_m))))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 3.15e-6) {
tmp = pow((sqrt(2.0) / ((pow(k_m, 2.0) / l) * sqrt(t_m))), 2.0);
} else {
tmp = (l * l) * ((2.0 / pow(k_m, 2.0)) / (t_m * (sin(k_m) * tan(k_m))));
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 3.15d-6) then
tmp = (sqrt(2.0d0) / (((k_m ** 2.0d0) / l) * sqrt(t_m))) ** 2.0d0
else
tmp = (l * l) * ((2.0d0 / (k_m ** 2.0d0)) / (t_m * (sin(k_m) * tan(k_m))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double tmp;
if (k_m <= 3.15e-6) {
tmp = Math.pow((Math.sqrt(2.0) / ((Math.pow(k_m, 2.0) / l) * Math.sqrt(t_m))), 2.0);
} else {
tmp = (l * l) * ((2.0 / Math.pow(k_m, 2.0)) / (t_m * (Math.sin(k_m) * Math.tan(k_m))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 3.15e-6: tmp = math.pow((math.sqrt(2.0) / ((math.pow(k_m, 2.0) / l) * math.sqrt(t_m))), 2.0) else: tmp = (l * l) * ((2.0 / math.pow(k_m, 2.0)) / (t_m * (math.sin(k_m) * math.tan(k_m)))) return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 3.15e-6) tmp = Float64(sqrt(2.0) / Float64(Float64((k_m ^ 2.0) / l) * sqrt(t_m))) ^ 2.0; else tmp = Float64(Float64(l * l) * Float64(Float64(2.0 / (k_m ^ 2.0)) / Float64(t_m * Float64(sin(k_m) * tan(k_m))))); end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 3.15e-6) tmp = (sqrt(2.0) / (((k_m ^ 2.0) / l) * sqrt(t_m))) ^ 2.0; else tmp = (l * l) * ((2.0 / (k_m ^ 2.0)) / (t_m * (sin(k_m) * tan(k_m)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 3.15e-6], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(N[(l * l), $MachinePrecision] * N[(N[(2.0 / N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 3.15 \cdot 10^{-6}:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\frac{{k\_m}^{2}}{\ell} \cdot \sqrt{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{\frac{2}{{k\_m}^{2}}}{t\_m \cdot \left(\sin k\_m \cdot \tan k\_m\right)}\\
\end{array}
\end{array}
if k < 3.14999999999999991e-6Initial program 39.0%
*-commutative39.0%
associate-/r*39.0%
Simplified43.6%
add-sqr-sqrt29.2%
Applied egg-rr33.0%
unpow233.0%
associate-/l/33.5%
associate-*l/35.1%
associate-*l/35.2%
*-commutative35.2%
Simplified35.2%
Taylor expanded in k around 0 43.8%
if 3.14999999999999991e-6 < k Initial program 25.4%
Simplified45.6%
add-log-exp31.8%
exp-prod34.1%
associate-*r*34.1%
*-commutative34.1%
associate-*l*34.1%
Applied egg-rr34.1%
Taylor expanded in k around inf 66.8%
associate-/r*66.9%
Simplified66.9%
Final simplification49.5%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= (* l l) 4e-313)
(pow (/ (sqrt 2.0) (/ (* (/ k_m t_m) (* k_m (pow t_m 1.5))) l)) 2.0)
(* (* l l) (/ (/ 2.0 (pow k_m 2.0)) (* t_m (* (sin k_m) (tan k_m))))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if ((l * l) <= 4e-313) {
tmp = pow((sqrt(2.0) / (((k_m / t_m) * (k_m * pow(t_m, 1.5))) / l)), 2.0);
} else {
tmp = (l * l) * ((2.0 / pow(k_m, 2.0)) / (t_m * (sin(k_m) * tan(k_m))));
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if ((l * l) <= 4d-313) then
tmp = (sqrt(2.0d0) / (((k_m / t_m) * (k_m * (t_m ** 1.5d0))) / l)) ** 2.0d0
else
tmp = (l * l) * ((2.0d0 / (k_m ** 2.0d0)) / (t_m * (sin(k_m) * tan(k_m))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double tmp;
if ((l * l) <= 4e-313) {
tmp = Math.pow((Math.sqrt(2.0) / (((k_m / t_m) * (k_m * Math.pow(t_m, 1.5))) / l)), 2.0);
} else {
tmp = (l * l) * ((2.0 / Math.pow(k_m, 2.0)) / (t_m * (Math.sin(k_m) * Math.tan(k_m))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if (l * l) <= 4e-313: tmp = math.pow((math.sqrt(2.0) / (((k_m / t_m) * (k_m * math.pow(t_m, 1.5))) / l)), 2.0) else: tmp = (l * l) * ((2.0 / math.pow(k_m, 2.0)) / (t_m * (math.sin(k_m) * math.tan(k_m)))) return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (Float64(l * l) <= 4e-313) tmp = Float64(sqrt(2.0) / Float64(Float64(Float64(k_m / t_m) * Float64(k_m * (t_m ^ 1.5))) / l)) ^ 2.0; else tmp = Float64(Float64(l * l) * Float64(Float64(2.0 / (k_m ^ 2.0)) / Float64(t_m * Float64(sin(k_m) * tan(k_m))))); end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if ((l * l) <= 4e-313) tmp = (sqrt(2.0) / (((k_m / t_m) * (k_m * (t_m ^ 1.5))) / l)) ^ 2.0; else tmp = (l * l) * ((2.0 / (k_m ^ 2.0)) / (t_m * (sin(k_m) * tan(k_m)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * If[LessEqual[N[(l * l), $MachinePrecision], 4e-313], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(N[(k$95$m / t$95$m), $MachinePrecision] * N[(k$95$m * N[Power[t$95$m, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(N[(l * l), $MachinePrecision] * N[(N[(2.0 / N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / N[(t$95$m * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;\ell \cdot \ell \leq 4 \cdot 10^{-313}:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\frac{\frac{k\_m}{t\_m} \cdot \left(k\_m \cdot {t\_m}^{1.5}\right)}{\ell}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{\frac{2}{{k\_m}^{2}}}{t\_m \cdot \left(\sin k\_m \cdot \tan k\_m\right)}\\
\end{array}
\end{array}
if (*.f64 l l) < 4.0000000000037e-313Initial program 16.3%
*-commutative16.3%
associate-/r*16.3%
Simplified24.2%
add-sqr-sqrt23.0%
Applied egg-rr14.4%
unpow214.4%
associate-/l/15.9%
associate-*l/19.4%
associate-*l/19.4%
*-commutative19.4%
Simplified19.4%
Taylor expanded in k around 0 33.8%
if 4.0000000000037e-313 < (*.f64 l l) Initial program 41.9%
Simplified50.6%
add-log-exp31.7%
exp-prod39.9%
associate-*r*39.9%
*-commutative39.9%
associate-*l*39.9%
Applied egg-rr39.9%
Taylor expanded in k around inf 79.7%
associate-/r*80.2%
Simplified80.2%
Final simplification68.9%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= (* l l) 4e-313)
(pow (/ (sqrt 2.0) (/ (* (/ k_m t_m) (* k_m (pow t_m 1.5))) l)) 2.0)
(* (* l l) (/ 2.0 (* (pow k_m 2.0) (* t_m (* (sin k_m) (tan k_m)))))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if ((l * l) <= 4e-313) {
tmp = pow((sqrt(2.0) / (((k_m / t_m) * (k_m * pow(t_m, 1.5))) / l)), 2.0);
} else {
tmp = (l * l) * (2.0 / (pow(k_m, 2.0) * (t_m * (sin(k_m) * tan(k_m)))));
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if ((l * l) <= 4d-313) then
tmp = (sqrt(2.0d0) / (((k_m / t_m) * (k_m * (t_m ** 1.5d0))) / l)) ** 2.0d0
else
tmp = (l * l) * (2.0d0 / ((k_m ** 2.0d0) * (t_m * (sin(k_m) * tan(k_m)))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double tmp;
if ((l * l) <= 4e-313) {
tmp = Math.pow((Math.sqrt(2.0) / (((k_m / t_m) * (k_m * Math.pow(t_m, 1.5))) / l)), 2.0);
} else {
tmp = (l * l) * (2.0 / (Math.pow(k_m, 2.0) * (t_m * (Math.sin(k_m) * Math.tan(k_m)))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if (l * l) <= 4e-313: tmp = math.pow((math.sqrt(2.0) / (((k_m / t_m) * (k_m * math.pow(t_m, 1.5))) / l)), 2.0) else: tmp = (l * l) * (2.0 / (math.pow(k_m, 2.0) * (t_m * (math.sin(k_m) * math.tan(k_m))))) return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (Float64(l * l) <= 4e-313) tmp = Float64(sqrt(2.0) / Float64(Float64(Float64(k_m / t_m) * Float64(k_m * (t_m ^ 1.5))) / l)) ^ 2.0; else tmp = Float64(Float64(l * l) * Float64(2.0 / Float64((k_m ^ 2.0) * Float64(t_m * Float64(sin(k_m) * tan(k_m)))))); end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if ((l * l) <= 4e-313) tmp = (sqrt(2.0) / (((k_m / t_m) * (k_m * (t_m ^ 1.5))) / l)) ^ 2.0; else tmp = (l * l) * (2.0 / ((k_m ^ 2.0) * (t_m * (sin(k_m) * tan(k_m))))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * If[LessEqual[N[(l * l), $MachinePrecision], 4e-313], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(N[(k$95$m / t$95$m), $MachinePrecision] * N[(k$95$m * N[Power[t$95$m, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t$95$m * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;\ell \cdot \ell \leq 4 \cdot 10^{-313}:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\frac{\frac{k\_m}{t\_m} \cdot \left(k\_m \cdot {t\_m}^{1.5}\right)}{\ell}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{{k\_m}^{2} \cdot \left(t\_m \cdot \left(\sin k\_m \cdot \tan k\_m\right)\right)}\\
\end{array}
\end{array}
if (*.f64 l l) < 4.0000000000037e-313Initial program 16.3%
*-commutative16.3%
associate-/r*16.3%
Simplified24.2%
add-sqr-sqrt23.0%
Applied egg-rr14.4%
unpow214.4%
associate-/l/15.9%
associate-*l/19.4%
associate-*l/19.4%
*-commutative19.4%
Simplified19.4%
Taylor expanded in k around 0 33.8%
if 4.0000000000037e-313 < (*.f64 l l) Initial program 41.9%
Simplified50.6%
add-log-exp31.7%
exp-prod39.9%
associate-*r*39.9%
*-commutative39.9%
associate-*l*39.9%
Applied egg-rr39.9%
Taylor expanded in k around inf 79.7%
Final simplification68.6%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= t_m 1.1e+206)
(pow (/ (sqrt 2.0) (/ (* (/ k_m t_m) (* k_m (pow t_m 1.5))) l)) 2.0)
(* (* l l) (/ 2.0 (* t_m (exp (* 4.0 (log k_m)))))))))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (t_m <= 1.1e+206) {
tmp = pow((sqrt(2.0) / (((k_m / t_m) * (k_m * pow(t_m, 1.5))) / l)), 2.0);
} else {
tmp = (l * l) * (2.0 / (t_m * exp((4.0 * log(k_m)))));
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (t_m <= 1.1d+206) then
tmp = (sqrt(2.0d0) / (((k_m / t_m) * (k_m * (t_m ** 1.5d0))) / l)) ** 2.0d0
else
tmp = (l * l) * (2.0d0 / (t_m * exp((4.0d0 * log(k_m)))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double tmp;
if (t_m <= 1.1e+206) {
tmp = Math.pow((Math.sqrt(2.0) / (((k_m / t_m) * (k_m * Math.pow(t_m, 1.5))) / l)), 2.0);
} else {
tmp = (l * l) * (2.0 / (t_m * Math.exp((4.0 * Math.log(k_m)))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if t_m <= 1.1e+206: tmp = math.pow((math.sqrt(2.0) / (((k_m / t_m) * (k_m * math.pow(t_m, 1.5))) / l)), 2.0) else: tmp = (l * l) * (2.0 / (t_m * math.exp((4.0 * math.log(k_m))))) return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (t_m <= 1.1e+206) tmp = Float64(sqrt(2.0) / Float64(Float64(Float64(k_m / t_m) * Float64(k_m * (t_m ^ 1.5))) / l)) ^ 2.0; else tmp = Float64(Float64(l * l) * Float64(2.0 / Float64(t_m * exp(Float64(4.0 * log(k_m)))))); end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (t_m <= 1.1e+206) tmp = (sqrt(2.0) / (((k_m / t_m) * (k_m * (t_m ^ 1.5))) / l)) ^ 2.0; else tmp = (l * l) * (2.0 / (t_m * exp((4.0 * log(k_m))))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * If[LessEqual[t$95$m, 1.1e+206], N[Power[N[(N[Sqrt[2.0], $MachinePrecision] / N[(N[(N[(k$95$m / t$95$m), $MachinePrecision] * N[(k$95$m * N[Power[t$95$m, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(t$95$m * N[Exp[N[(4.0 * N[Log[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
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.1 \cdot 10^{+206}:\\
\;\;\;\;{\left(\frac{\sqrt{2}}{\frac{\frac{k\_m}{t\_m} \cdot \left(k\_m \cdot {t\_m}^{1.5}\right)}{\ell}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{t\_m \cdot e^{4 \cdot \log k\_m}}\\
\end{array}
\end{array}
if t < 1.10000000000000001e206Initial program 39.3%
*-commutative39.3%
associate-/r*39.3%
Simplified45.2%
add-sqr-sqrt31.3%
Applied egg-rr30.8%
unpow230.8%
associate-/l/30.8%
associate-*l/32.2%
associate-*l/32.4%
*-commutative32.4%
Simplified32.4%
Taylor expanded in k around 0 33.5%
if 1.10000000000000001e206 < t Initial program 3.6%
Simplified30.6%
Taylor expanded in k around 0 66.2%
add-exp-log66.2%
log-pow39.3%
Applied egg-rr39.3%
Final simplification34.1%
k_m = (fabs.f64 k)
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 2.4e+63)
(*
(* l l)
(/
(+ (* -0.3333333333333333 (/ (pow k_m 2.0) t_m)) (* 2.0 (/ 1.0 t_m)))
(pow k_m 4.0)))
0.0)))k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.4e+63) {
tmp = (l * l) * (((-0.3333333333333333 * (pow(k_m, 2.0) / t_m)) + (2.0 * (1.0 / t_m))) / pow(k_m, 4.0));
} else {
tmp = 0.0;
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.4d+63) then
tmp = (l * l) * ((((-0.3333333333333333d0) * ((k_m ** 2.0d0) / t_m)) + (2.0d0 * (1.0d0 / t_m))) / (k_m ** 4.0d0))
else
tmp = 0.0d0
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double tmp;
if (k_m <= 2.4e+63) {
tmp = (l * l) * (((-0.3333333333333333 * (Math.pow(k_m, 2.0) / t_m)) + (2.0 * (1.0 / t_m))) / Math.pow(k_m, 4.0));
} else {
tmp = 0.0;
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 2.4e+63: tmp = (l * l) * (((-0.3333333333333333 * (math.pow(k_m, 2.0) / t_m)) + (2.0 * (1.0 / t_m))) / math.pow(k_m, 4.0)) else: tmp = 0.0 return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 2.4e+63) tmp = Float64(Float64(l * l) * Float64(Float64(Float64(-0.3333333333333333 * Float64((k_m ^ 2.0) / t_m)) + Float64(2.0 * Float64(1.0 / t_m))) / (k_m ^ 4.0))); else tmp = 0.0; end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 2.4e+63) tmp = (l * l) * (((-0.3333333333333333 * ((k_m ^ 2.0) / t_m)) + (2.0 * (1.0 / t_m))) / (k_m ^ 4.0)); else tmp = 0.0; end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 2.4e+63], N[(N[(l * l), $MachinePrecision] * N[(N[(N[(-0.3333333333333333 * N[(N[Power[k$95$m, 2.0], $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision] + N[(2.0 * N[(1.0 / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[k$95$m, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.0]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2.4 \cdot 10^{+63}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{-0.3333333333333333 \cdot \frac{{k\_m}^{2}}{t\_m} + 2 \cdot \frac{1}{t\_m}}{{k\_m}^{4}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 2.4e63Initial program 39.0%
Simplified43.8%
Taylor expanded in k around 0 52.5%
if 2.4e63 < k Initial program 20.0%
Simplified43.8%
add-log-exp37.6%
exp-prod40.2%
associate-*r*40.2%
*-commutative40.2%
associate-*l*40.2%
Applied egg-rr40.2%
Taylor expanded in t around 0 3.8%
add-cube-cbrt3.8%
pow23.8%
clear-num3.8%
metadata-eval3.8%
metadata-eval3.8%
metadata-eval3.8%
cbrt-div3.8%
metadata-eval3.8%
metadata-eval3.8%
clear-num3.8%
metadata-eval3.8%
metadata-eval3.8%
metadata-eval3.8%
cbrt-div3.8%
metadata-eval3.8%
metadata-eval3.8%
Applied egg-rr3.8%
pow-plus3.8%
metadata-eval3.8%
cube-div3.8%
metadata-eval3.8%
rem-cube-cbrt3.8%
unpow-13.8%
pow-base-051.8%
Simplified51.8%
Taylor expanded in l around 0 54.9%
Final simplification52.9%
k_m = (fabs.f64 k) t\_m = (fabs.f64 t) t\_s = (copysign.f64 #s(literal 1 binary64) t) (FPCore (t_s t_m l k_m) :precision binary64 (* t_s (* (* l l) (/ (/ 2.0 t_m) (pow k_m 4.0)))))
k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
return t_s * ((l * l) * ((2.0 / t_m) / pow(k_m, 4.0)));
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = t_s * ((l * l) * ((2.0d0 / t_m) / (k_m ** 4.0d0)))
end function
k_m = Math.abs(k);
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_m) {
return t_s * ((l * l) * ((2.0 / t_m) / Math.pow(k_m, 4.0)));
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): return t_s * ((l * l) * ((2.0 / t_m) / math.pow(k_m, 4.0)))
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) return Float64(t_s * Float64(Float64(l * l) * Float64(Float64(2.0 / t_m) / (k_m ^ 4.0)))) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k_m) tmp = t_s * ((l * l) * ((2.0 / t_m) / (k_m ^ 4.0))); end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * N[(N[(l * l), $MachinePrecision] * N[(N[(2.0 / t$95$m), $MachinePrecision] / N[Power[k$95$m, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \left(\left(\ell \cdot \ell\right) \cdot \frac{\frac{2}{t\_m}}{{k\_m}^{4}}\right)
\end{array}
Initial program 35.7%
Simplified43.8%
Taylor expanded in k around 0 57.6%
*-commutative57.6%
associate-/r*57.6%
Simplified57.6%
Final simplification57.6%
k_m = (fabs.f64 k) t\_m = (fabs.f64 t) t\_s = (copysign.f64 #s(literal 1 binary64) t) (FPCore (t_s t_m l k_m) :precision binary64 (* t_s (* (* l l) (/ 2.0 (* t_m (pow k_m 4.0))))))
k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
return t_s * ((l * l) * (2.0 / (t_m * pow(k_m, 4.0))));
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = t_s * ((l * l) * (2.0d0 / (t_m * (k_m ** 4.0d0))))
end function
k_m = Math.abs(k);
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_m) {
return t_s * ((l * l) * (2.0 / (t_m * Math.pow(k_m, 4.0))));
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): return t_s * ((l * l) * (2.0 / (t_m * math.pow(k_m, 4.0))))
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) return Float64(t_s * Float64(Float64(l * l) * Float64(2.0 / Float64(t_m * (k_m ^ 4.0))))) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k_m) tmp = t_s * ((l * l) * (2.0 / (t_m * (k_m ^ 4.0)))); end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(t$95$m * N[Power[k$95$m, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \left(\left(\ell \cdot \ell\right) \cdot \frac{2}{t\_m \cdot {k\_m}^{4}}\right)
\end{array}
Initial program 35.7%
Simplified43.8%
Taylor expanded in k around 0 57.6%
Final simplification57.6%
k_m = (fabs.f64 k) t\_m = (fabs.f64 t) t\_s = (copysign.f64 #s(literal 1 binary64) t) (FPCore (t_s t_m l k_m) :precision binary64 (* t_s (if (<= k_m 1900.0) (* (* l l) (/ 4.0 0.0)) 0.0)))
k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 1900.0) {
tmp = (l * l) * (4.0 / 0.0);
} else {
tmp = 0.0;
}
return t_s * tmp;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 1900.0d0) then
tmp = (l * l) * (4.0d0 / 0.0d0)
else
tmp = 0.0d0
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
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_m) {
double tmp;
if (k_m <= 1900.0) {
tmp = (l * l) * (4.0 / 0.0);
} else {
tmp = 0.0;
}
return t_s * tmp;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 1900.0: tmp = (l * l) * (4.0 / 0.0) else: tmp = 0.0 return t_s * tmp
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 1900.0) tmp = Float64(Float64(l * l) * Float64(4.0 / 0.0)); else tmp = 0.0; end return Float64(t_s * tmp) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 1900.0) tmp = (l * l) * (4.0 / 0.0); else tmp = 0.0; end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 1900.0], N[(N[(l * l), $MachinePrecision] * N[(4.0 / 0.0), $MachinePrecision]), $MachinePrecision], 0.0]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 1900:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{4}{0}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 1900Initial program 39.3%
Simplified43.5%
add-log-exp28.6%
exp-prod35.1%
associate-*r*35.1%
*-commutative35.1%
associate-*l*35.1%
Applied egg-rr35.1%
Taylor expanded in t around 0 29.9%
div-inv29.9%
metadata-eval29.9%
metadata-eval29.9%
metadata-eval29.9%
clear-num29.9%
metadata-eval29.9%
Applied egg-rr29.9%
associate-*r/29.9%
metadata-eval29.9%
Simplified29.9%
if 1900 < k Initial program 24.2%
Simplified44.7%
add-log-exp30.7%
exp-prod33.0%
associate-*r*33.0%
*-commutative33.0%
associate-*l*33.0%
Applied egg-rr33.0%
Taylor expanded in t around 0 3.5%
add-cube-cbrt3.5%
pow23.5%
clear-num3.5%
metadata-eval3.5%
metadata-eval3.5%
metadata-eval3.5%
cbrt-div3.5%
metadata-eval3.5%
metadata-eval3.5%
clear-num3.5%
metadata-eval3.5%
metadata-eval3.5%
metadata-eval3.5%
cbrt-div3.5%
metadata-eval3.5%
metadata-eval3.5%
Applied egg-rr3.5%
pow-plus3.5%
metadata-eval3.5%
cube-div3.5%
metadata-eval3.5%
rem-cube-cbrt3.5%
unpow-13.5%
pow-base-042.8%
Simplified42.8%
Taylor expanded in l around 0 45.2%
Final simplification33.6%
k_m = (fabs.f64 k) t\_m = (fabs.f64 t) t\_s = (copysign.f64 #s(literal 1 binary64) t) (FPCore (t_s t_m l k_m) :precision binary64 (* t_s 0.0))
k_m = fabs(k);
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
return t_s * 0.0;
}
k_m = abs(k)
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = t_s * 0.0d0
end function
k_m = Math.abs(k);
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_m) {
return t_s * 0.0;
}
k_m = math.fabs(k) t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): return t_s * 0.0
k_m = abs(k) t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) return Float64(t_s * 0.0) end
k_m = abs(k); t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k_m) tmp = t_s * 0.0; end
k_m = N[Abs[k], $MachinePrecision]
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$95$m_] := N[(t$95$s * 0.0), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot 0
\end{array}
Initial program 35.7%
Simplified43.8%
add-log-exp29.1%
exp-prod34.6%
associate-*r*34.6%
*-commutative34.6%
associate-*l*34.6%
Applied egg-rr34.6%
Taylor expanded in t around 0 23.5%
add-cube-cbrt23.5%
pow223.5%
clear-num23.5%
metadata-eval23.5%
metadata-eval23.5%
metadata-eval23.5%
cbrt-div23.5%
metadata-eval23.5%
metadata-eval23.5%
clear-num23.5%
metadata-eval23.5%
metadata-eval23.5%
metadata-eval23.5%
cbrt-div23.5%
metadata-eval23.5%
metadata-eval23.5%
Applied egg-rr23.5%
pow-plus23.5%
metadata-eval23.5%
cube-div23.5%
metadata-eval23.5%
rem-cube-cbrt23.5%
unpow-123.5%
pow-base-021.0%
Simplified21.0%
Taylor expanded in l around 0 22.3%
herbie shell --seed 2024145
(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))))