
(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 23 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)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (+ 2.0 (pow (/ k_m t) 2.0))) (t_2 (* t (pow (cbrt l) -2.0))))
(if (<= k_m 1.32e-117)
(/ 2.0 (pow (* t_2 (* (pow (cbrt k_m) 2.0) (cbrt 2.0))) 3.0))
(if (<= k_m 4.7e+88)
(/ 2.0 (pow (* t_2 (cbrt (* (sin k_m) (* (tan k_m) t_1)))) 3.0))
(if (<= k_m 4.5e+182)
(/
2.0
(/
(* (pow k_m 2.0) (* t (pow (sin k_m) 2.0)))
(* (pow l 2.0) (cos k_m))))
(/
2.0
(pow
(* (/ t (pow (cbrt l) 2.0)) (cbrt (* (* (sin k_m) (tan k_m)) t_1)))
3.0)))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = 2.0 + pow((k_m / t), 2.0);
double t_2 = t * pow(cbrt(l), -2.0);
double tmp;
if (k_m <= 1.32e-117) {
tmp = 2.0 / pow((t_2 * (pow(cbrt(k_m), 2.0) * cbrt(2.0))), 3.0);
} else if (k_m <= 4.7e+88) {
tmp = 2.0 / pow((t_2 * cbrt((sin(k_m) * (tan(k_m) * t_1)))), 3.0);
} else if (k_m <= 4.5e+182) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else {
tmp = 2.0 / pow(((t / pow(cbrt(l), 2.0)) * cbrt(((sin(k_m) * tan(k_m)) * t_1))), 3.0);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double t_1 = 2.0 + Math.pow((k_m / t), 2.0);
double t_2 = t * Math.pow(Math.cbrt(l), -2.0);
double tmp;
if (k_m <= 1.32e-117) {
tmp = 2.0 / Math.pow((t_2 * (Math.pow(Math.cbrt(k_m), 2.0) * Math.cbrt(2.0))), 3.0);
} else if (k_m <= 4.7e+88) {
tmp = 2.0 / Math.pow((t_2 * Math.cbrt((Math.sin(k_m) * (Math.tan(k_m) * t_1)))), 3.0);
} else if (k_m <= 4.5e+182) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else {
tmp = 2.0 / Math.pow(((t / Math.pow(Math.cbrt(l), 2.0)) * Math.cbrt(((Math.sin(k_m) * Math.tan(k_m)) * t_1))), 3.0);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(2.0 + (Float64(k_m / t) ^ 2.0)) t_2 = Float64(t * (cbrt(l) ^ -2.0)) tmp = 0.0 if (k_m <= 1.32e-117) tmp = Float64(2.0 / (Float64(t_2 * Float64((cbrt(k_m) ^ 2.0) * cbrt(2.0))) ^ 3.0)); elseif (k_m <= 4.7e+88) tmp = Float64(2.0 / (Float64(t_2 * cbrt(Float64(sin(k_m) * Float64(tan(k_m) * t_1)))) ^ 3.0)); elseif (k_m <= 4.5e+182) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); else tmp = Float64(2.0 / (Float64(Float64(t / (cbrt(l) ^ 2.0)) * cbrt(Float64(Float64(sin(k_m) * tan(k_m)) * t_1))) ^ 3.0)); end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t * N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k$95$m, 1.32e-117], N[(2.0 / N[Power[N[(t$95$2 * N[(N[Power[N[Power[k$95$m, 1/3], $MachinePrecision], 2.0], $MachinePrecision] * N[Power[2.0, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 4.7e+88], N[(2.0 / N[Power[N[(t$95$2 * N[Power[N[(N[Sin[k$95$m], $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 4.5e+182], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(t / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := 2 + {\left(\frac{k\_m}{t}\right)}^{2}\\
t_2 := t \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\\
\mathbf{if}\;k\_m \leq 1.32 \cdot 10^{-117}:\\
\;\;\;\;\frac{2}{{\left(t\_2 \cdot \left({\left(\sqrt[3]{k\_m}\right)}^{2} \cdot \sqrt[3]{2}\right)\right)}^{3}}\\
\mathbf{elif}\;k\_m \leq 4.7 \cdot 10^{+88}:\\
\;\;\;\;\frac{2}{{\left(t\_2 \cdot \sqrt[3]{\sin k\_m \cdot \left(\tan k\_m \cdot t\_1\right)}\right)}^{3}}\\
\mathbf{elif}\;k\_m \leq 4.5 \cdot 10^{+182}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{{\left(\sqrt[3]{\ell}\right)}^{2}} \cdot \sqrt[3]{\left(\sin k\_m \cdot \tan k\_m\right) \cdot t\_1}\right)}^{3}}\\
\end{array}
\end{array}
if k < 1.32e-117Initial program 51.4%
Simplified51.2%
Taylor expanded in k around 0 48.7%
add-cube-cbrt48.6%
pow348.6%
cbrt-prod48.6%
associate-/l/41.9%
cbrt-div42.5%
unpow342.5%
add-cbrt-cube51.6%
cbrt-unprod60.4%
unpow260.4%
div-inv60.4%
pow-flip60.4%
metadata-eval60.4%
Applied egg-rr60.4%
*-commutative60.4%
cbrt-prod60.4%
unpow260.4%
cbrt-prod73.0%
pow273.0%
Applied egg-rr73.0%
if 1.32e-117 < k < 4.70000000000000007e88Initial program 61.9%
Simplified62.0%
add-cube-cbrt61.8%
pow361.8%
*-commutative61.8%
cbrt-prod61.7%
cbrt-div61.6%
rem-cbrt-cube67.1%
cbrt-prod79.5%
pow279.5%
Applied egg-rr79.5%
Applied egg-rr80.1%
if 4.70000000000000007e88 < k < 4.50000000000000029e182Initial program 64.3%
Simplified64.3%
Taylor expanded in t around 0 86.7%
if 4.50000000000000029e182 < k Initial program 38.7%
Simplified38.7%
associate-*l*38.7%
associate-/r*43.1%
associate-+r+43.1%
metadata-eval43.1%
associate-*l*43.1%
add-cube-cbrt43.1%
pow343.1%
Applied egg-rr65.9%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (* t (pow (cbrt l) -2.0)))
(t_2
(/
2.0
(pow
(*
t_1
(cbrt (* (sin k_m) (* (tan k_m) (+ 2.0 (pow (/ k_m t) 2.0))))))
3.0))))
(if (<= k_m 5e-121)
(/ 2.0 (pow (* t_1 (* (pow (cbrt k_m) 2.0) (cbrt 2.0))) 3.0))
(if (<= k_m 8e+89)
t_2
(if (<= k_m 1.15e+183)
(/
2.0
(/
(* (pow k_m 2.0) (* t (pow (sin k_m) 2.0)))
(* (pow l 2.0) (cos k_m))))
t_2)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = t * pow(cbrt(l), -2.0);
double t_2 = 2.0 / pow((t_1 * cbrt((sin(k_m) * (tan(k_m) * (2.0 + pow((k_m / t), 2.0)))))), 3.0);
double tmp;
if (k_m <= 5e-121) {
tmp = 2.0 / pow((t_1 * (pow(cbrt(k_m), 2.0) * cbrt(2.0))), 3.0);
} else if (k_m <= 8e+89) {
tmp = t_2;
} else if (k_m <= 1.15e+183) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else {
tmp = t_2;
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double t_1 = t * Math.pow(Math.cbrt(l), -2.0);
double t_2 = 2.0 / Math.pow((t_1 * Math.cbrt((Math.sin(k_m) * (Math.tan(k_m) * (2.0 + Math.pow((k_m / t), 2.0)))))), 3.0);
double tmp;
if (k_m <= 5e-121) {
tmp = 2.0 / Math.pow((t_1 * (Math.pow(Math.cbrt(k_m), 2.0) * Math.cbrt(2.0))), 3.0);
} else if (k_m <= 8e+89) {
tmp = t_2;
} else if (k_m <= 1.15e+183) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else {
tmp = t_2;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(t * (cbrt(l) ^ -2.0)) t_2 = Float64(2.0 / (Float64(t_1 * cbrt(Float64(sin(k_m) * Float64(tan(k_m) * Float64(2.0 + (Float64(k_m / t) ^ 2.0)))))) ^ 3.0)) tmp = 0.0 if (k_m <= 5e-121) tmp = Float64(2.0 / (Float64(t_1 * Float64((cbrt(k_m) ^ 2.0) * cbrt(2.0))) ^ 3.0)); elseif (k_m <= 8e+89) tmp = t_2; elseif (k_m <= 1.15e+183) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); else tmp = t_2; end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(t * N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(2.0 / N[Power[N[(t$95$1 * N[Power[N[(N[Sin[k$95$m], $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k$95$m, 5e-121], N[(2.0 / N[Power[N[(t$95$1 * N[(N[Power[N[Power[k$95$m, 1/3], $MachinePrecision], 2.0], $MachinePrecision] * N[Power[2.0, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 8e+89], t$95$2, If[LessEqual[k$95$m, 1.15e+183], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$2]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := t \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\\
t_2 := \frac{2}{{\left(t\_1 \cdot \sqrt[3]{\sin k\_m \cdot \left(\tan k\_m \cdot \left(2 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)}\right)}^{3}}\\
\mathbf{if}\;k\_m \leq 5 \cdot 10^{-121}:\\
\;\;\;\;\frac{2}{{\left(t\_1 \cdot \left({\left(\sqrt[3]{k\_m}\right)}^{2} \cdot \sqrt[3]{2}\right)\right)}^{3}}\\
\mathbf{elif}\;k\_m \leq 8 \cdot 10^{+89}:\\
\;\;\;\;t\_2\\
\mathbf{elif}\;k\_m \leq 1.15 \cdot 10^{+183}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{else}:\\
\;\;\;\;t\_2\\
\end{array}
\end{array}
if k < 4.99999999999999989e-121Initial program 51.4%
Simplified51.2%
Taylor expanded in k around 0 48.7%
add-cube-cbrt48.6%
pow348.6%
cbrt-prod48.6%
associate-/l/41.9%
cbrt-div42.5%
unpow342.5%
add-cbrt-cube51.6%
cbrt-unprod60.4%
unpow260.4%
div-inv60.4%
pow-flip60.4%
metadata-eval60.4%
Applied egg-rr60.4%
*-commutative60.4%
cbrt-prod60.4%
unpow260.4%
cbrt-prod73.0%
pow273.0%
Applied egg-rr73.0%
if 4.99999999999999989e-121 < k < 7.99999999999999996e89 or 1.1499999999999999e183 < k Initial program 52.8%
Simplified52.8%
add-cube-cbrt52.7%
pow352.7%
*-commutative52.7%
cbrt-prod52.7%
cbrt-div52.6%
rem-cbrt-cube59.1%
cbrt-prod72.4%
pow272.4%
Applied egg-rr72.4%
Applied egg-rr74.5%
if 7.99999999999999996e89 < k < 1.1499999999999999e183Initial program 64.3%
Simplified64.3%
Taylor expanded in t around 0 86.7%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 8.8e-114)
(/
2.0
(/ (* (pow k_m 2.0) (* t (pow (sin k_m) 2.0))) (* (pow l 2.0) (cos k_m))))
(/
2.0
(*
(pow (* (cbrt (sin k_m)) (/ t (pow (cbrt l) 2.0))) 3.0)
(* (tan k_m) (+ 1.0 (+ 1.0 (pow (/ k_m t) 2.0))))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 8.8e-114) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else {
tmp = 2.0 / (pow((cbrt(sin(k_m)) * (t / pow(cbrt(l), 2.0))), 3.0) * (tan(k_m) * (1.0 + (1.0 + pow((k_m / t), 2.0)))));
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 8.8e-114) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else {
tmp = 2.0 / (Math.pow((Math.cbrt(Math.sin(k_m)) * (t / Math.pow(Math.cbrt(l), 2.0))), 3.0) * (Math.tan(k_m) * (1.0 + (1.0 + Math.pow((k_m / t), 2.0)))));
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 8.8e-114) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); else tmp = Float64(2.0 / Float64((Float64(cbrt(sin(k_m)) * Float64(t / (cbrt(l) ^ 2.0))) ^ 3.0) * Float64(tan(k_m) * Float64(1.0 + Float64(1.0 + (Float64(k_m / t) ^ 2.0)))))); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 8.8e-114], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Power[N[(N[Power[N[Sin[k$95$m], $MachinePrecision], 1/3], $MachinePrecision] * N[(t / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 8.8 \cdot 10^{-114}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\sqrt[3]{\sin k\_m} \cdot \frac{t}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3} \cdot \left(\tan k\_m \cdot \left(1 + \left(1 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)\right)}\\
\end{array}
\end{array}
if t < 8.80000000000000045e-114Initial program 46.1%
Simplified46.1%
Taylor expanded in t around 0 53.1%
if 8.80000000000000045e-114 < t Initial program 64.6%
Simplified64.6%
add-cube-cbrt64.4%
pow364.4%
*-commutative64.4%
cbrt-prod64.4%
cbrt-div64.2%
rem-cbrt-cube69.0%
cbrt-prod89.2%
pow289.2%
Applied egg-rr89.2%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 5.1e-114)
(/
2.0
(/ (* (pow k_m 2.0) (* t (pow (sin k_m) 2.0))) (* (pow l 2.0) (cos k_m))))
(if (<= t 6e+171)
(/
2.0
(*
(* (pow (/ (pow t 1.5) l) 2.0) (sin k_m))
(* (tan k_m) (+ 1.0 (+ 1.0 (pow (/ k_m t) 2.0))))))
(/
2.0
(pow
(* (* t (pow (cbrt l) -2.0)) (* (pow (cbrt k_m) 2.0) (cbrt 2.0)))
3.0)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 5.1e-114) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else if (t <= 6e+171) {
tmp = 2.0 / ((pow((pow(t, 1.5) / l), 2.0) * sin(k_m)) * (tan(k_m) * (1.0 + (1.0 + pow((k_m / t), 2.0)))));
} else {
tmp = 2.0 / pow(((t * pow(cbrt(l), -2.0)) * (pow(cbrt(k_m), 2.0) * cbrt(2.0))), 3.0);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 5.1e-114) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else if (t <= 6e+171) {
tmp = 2.0 / ((Math.pow((Math.pow(t, 1.5) / l), 2.0) * Math.sin(k_m)) * (Math.tan(k_m) * (1.0 + (1.0 + Math.pow((k_m / t), 2.0)))));
} else {
tmp = 2.0 / Math.pow(((t * Math.pow(Math.cbrt(l), -2.0)) * (Math.pow(Math.cbrt(k_m), 2.0) * Math.cbrt(2.0))), 3.0);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 5.1e-114) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); elseif (t <= 6e+171) tmp = Float64(2.0 / Float64(Float64((Float64((t ^ 1.5) / l) ^ 2.0) * sin(k_m)) * Float64(tan(k_m) * Float64(1.0 + Float64(1.0 + (Float64(k_m / t) ^ 2.0)))))); else tmp = Float64(2.0 / (Float64(Float64(t * (cbrt(l) ^ -2.0)) * Float64((cbrt(k_m) ^ 2.0) * cbrt(2.0))) ^ 3.0)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 5.1e-114], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6e+171], N[(2.0 / N[(N[(N[Power[N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(t * N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Power[k$95$m, 1/3], $MachinePrecision], 2.0], $MachinePrecision] * N[Power[2.0, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 5.1 \cdot 10^{-114}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{elif}\;t \leq 6 \cdot 10^{+171}:\\
\;\;\;\;\frac{2}{\left({\left(\frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \sin k\_m\right) \cdot \left(\tan k\_m \cdot \left(1 + \left(1 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\left(t \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\right) \cdot \left({\left(\sqrt[3]{k\_m}\right)}^{2} \cdot \sqrt[3]{2}\right)\right)}^{3}}\\
\end{array}
\end{array}
if t < 5.1000000000000001e-114Initial program 46.1%
Simplified46.1%
Taylor expanded in t around 0 53.1%
if 5.1000000000000001e-114 < t < 6.0000000000000002e171Initial program 66.1%
Simplified66.1%
add-sqr-sqrt66.1%
pow266.1%
sqrt-div66.1%
sqrt-pow169.6%
metadata-eval69.6%
sqrt-prod50.0%
add-sqr-sqrt84.5%
Applied egg-rr84.5%
if 6.0000000000000002e171 < t Initial program 61.6%
Simplified62.0%
Taylor expanded in k around 0 62.0%
add-cube-cbrt62.0%
pow362.0%
cbrt-prod62.0%
associate-/l/51.7%
cbrt-div51.7%
unpow351.7%
add-cbrt-cube55.7%
cbrt-unprod71.5%
unpow271.5%
div-inv71.5%
pow-flip71.5%
metadata-eval71.5%
Applied egg-rr71.5%
*-commutative71.5%
cbrt-prod71.7%
unpow271.7%
cbrt-prod93.1%
pow293.1%
Applied egg-rr93.1%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 5.5e-114)
(/
2.0
(/ (* (pow k_m 2.0) (* t (pow (sin k_m) 2.0))) (* (pow l 2.0) (cos k_m))))
(/
2.0
(*
(* (pow (/ (pow t 1.5) l) 2.0) (sin k_m))
(* (tan k_m) (+ 1.0 (+ 1.0 (pow (/ k_m t) 2.0))))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 5.5e-114) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else {
tmp = 2.0 / ((pow((pow(t, 1.5) / l), 2.0) * sin(k_m)) * (tan(k_m) * (1.0 + (1.0 + pow((k_m / t), 2.0)))));
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (t <= 5.5d-114) then
tmp = 2.0d0 / (((k_m ** 2.0d0) * (t * (sin(k_m) ** 2.0d0))) / ((l ** 2.0d0) * cos(k_m)))
else
tmp = 2.0d0 / (((((t ** 1.5d0) / l) ** 2.0d0) * sin(k_m)) * (tan(k_m) * (1.0d0 + (1.0d0 + ((k_m / t) ** 2.0d0)))))
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 5.5e-114) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else {
tmp = 2.0 / ((Math.pow((Math.pow(t, 1.5) / l), 2.0) * Math.sin(k_m)) * (Math.tan(k_m) * (1.0 + (1.0 + Math.pow((k_m / t), 2.0)))));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if t <= 5.5e-114: tmp = 2.0 / ((math.pow(k_m, 2.0) * (t * math.pow(math.sin(k_m), 2.0))) / (math.pow(l, 2.0) * math.cos(k_m))) else: tmp = 2.0 / ((math.pow((math.pow(t, 1.5) / l), 2.0) * math.sin(k_m)) * (math.tan(k_m) * (1.0 + (1.0 + math.pow((k_m / t), 2.0))))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 5.5e-114) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); else tmp = Float64(2.0 / Float64(Float64((Float64((t ^ 1.5) / l) ^ 2.0) * sin(k_m)) * Float64(tan(k_m) * Float64(1.0 + Float64(1.0 + (Float64(k_m / t) ^ 2.0)))))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (t <= 5.5e-114) tmp = 2.0 / (((k_m ^ 2.0) * (t * (sin(k_m) ^ 2.0))) / ((l ^ 2.0) * cos(k_m))); else tmp = 2.0 / (((((t ^ 1.5) / l) ^ 2.0) * sin(k_m)) * (tan(k_m) * (1.0 + (1.0 + ((k_m / t) ^ 2.0))))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 5.5e-114], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 5.5 \cdot 10^{-114}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left({\left(\frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \sin k\_m\right) \cdot \left(\tan k\_m \cdot \left(1 + \left(1 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)\right)}\\
\end{array}
\end{array}
if t < 5.5000000000000001e-114Initial program 46.1%
Simplified46.1%
Taylor expanded in t around 0 53.1%
if 5.5000000000000001e-114 < t Initial program 64.6%
Simplified64.6%
add-sqr-sqrt64.5%
pow264.5%
sqrt-div64.5%
sqrt-pow167.0%
metadata-eval67.0%
sqrt-prod49.6%
add-sqr-sqrt83.3%
Applied egg-rr83.3%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 2.25e-131)
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (/ (* 2.0 (pow k_m 2.0)) l))) 3.0))
(if (<= t 2.8e+151)
(/
2.0
(*
(* (* (/ (pow t 2.0) l) (/ t l)) (sin k_m))
(* (tan k_m) (+ 1.0 (+ 1.0 (pow (/ k_m t) 2.0))))))
(/
2.0
(*
(pow (* (cbrt (sin k_m)) (/ t (pow (cbrt l) 2.0))) 3.0)
(* 2.0 k_m))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 2.25e-131) {
tmp = 2.0 / pow(((t / cbrt(l)) * cbrt(((2.0 * pow(k_m, 2.0)) / l))), 3.0);
} else if (t <= 2.8e+151) {
tmp = 2.0 / ((((pow(t, 2.0) / l) * (t / l)) * sin(k_m)) * (tan(k_m) * (1.0 + (1.0 + pow((k_m / t), 2.0)))));
} else {
tmp = 2.0 / (pow((cbrt(sin(k_m)) * (t / pow(cbrt(l), 2.0))), 3.0) * (2.0 * k_m));
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 2.25e-131) {
tmp = 2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt(((2.0 * Math.pow(k_m, 2.0)) / l))), 3.0);
} else if (t <= 2.8e+151) {
tmp = 2.0 / ((((Math.pow(t, 2.0) / l) * (t / l)) * Math.sin(k_m)) * (Math.tan(k_m) * (1.0 + (1.0 + Math.pow((k_m / t), 2.0)))));
} else {
tmp = 2.0 / (Math.pow((Math.cbrt(Math.sin(k_m)) * (t / Math.pow(Math.cbrt(l), 2.0))), 3.0) * (2.0 * k_m));
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 2.25e-131) tmp = Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(Float64(2.0 * (k_m ^ 2.0)) / l))) ^ 3.0)); elseif (t <= 2.8e+151) tmp = Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 2.0) / l) * Float64(t / l)) * sin(k_m)) * Float64(tan(k_m) * Float64(1.0 + Float64(1.0 + (Float64(k_m / t) ^ 2.0)))))); else tmp = Float64(2.0 / Float64((Float64(cbrt(sin(k_m)) * Float64(t / (cbrt(l) ^ 2.0))) ^ 3.0) * Float64(2.0 * k_m))); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 2.25e-131], N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.8e+151], N[(2.0 / N[(N[(N[(N[(N[Power[t, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Power[N[(N[Power[N[Sin[k$95$m], $MachinePrecision], 1/3], $MachinePrecision] * N[(t / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 2.25 \cdot 10^{-131}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{\frac{2 \cdot {k\_m}^{2}}{\ell}}\right)}^{3}}\\
\mathbf{elif}\;t \leq 2.8 \cdot 10^{+151}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{{t}^{2}}{\ell} \cdot \frac{t}{\ell}\right) \cdot \sin k\_m\right) \cdot \left(\tan k\_m \cdot \left(1 + \left(1 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\sqrt[3]{\sin k\_m} \cdot \frac{t}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3} \cdot \left(2 \cdot k\_m\right)}\\
\end{array}
\end{array}
if t < 2.2500000000000001e-131Initial program 47.4%
Simplified49.5%
Taylor expanded in k around 0 47.7%
associate-*l/49.3%
Applied egg-rr49.3%
add-cube-cbrt49.2%
pow349.2%
associate-/l*49.3%
cbrt-prod49.3%
cbrt-div49.4%
unpow349.4%
add-cbrt-cube59.6%
Applied egg-rr59.6%
if 2.2500000000000001e-131 < t < 2.79999999999999987e151Initial program 62.3%
Simplified62.3%
unpow362.3%
times-frac80.0%
pow280.0%
Applied egg-rr80.0%
if 2.79999999999999987e151 < t Initial program 58.6%
Simplified58.6%
add-cube-cbrt58.6%
pow358.6%
*-commutative58.6%
cbrt-prod58.6%
cbrt-div58.6%
rem-cbrt-cube64.9%
cbrt-prod96.6%
pow296.6%
Applied egg-rr96.6%
Taylor expanded in k around 0 83.5%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 6e-114)
(/
2.0
(/ (* (pow k_m 2.0) (* t (pow (sin k_m) 2.0))) (* (pow l 2.0) (cos k_m))))
(if (<= t 2.5e+151)
(/
2.0
(*
(* (* (/ (pow t 2.0) l) (/ t l)) (sin k_m))
(* (tan k_m) (+ 1.0 (+ 1.0 (pow (/ k_m t) 2.0))))))
(/
2.0
(*
(pow (* (cbrt (sin k_m)) (/ t (pow (cbrt l) 2.0))) 3.0)
(* 2.0 k_m))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 6e-114) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else if (t <= 2.5e+151) {
tmp = 2.0 / ((((pow(t, 2.0) / l) * (t / l)) * sin(k_m)) * (tan(k_m) * (1.0 + (1.0 + pow((k_m / t), 2.0)))));
} else {
tmp = 2.0 / (pow((cbrt(sin(k_m)) * (t / pow(cbrt(l), 2.0))), 3.0) * (2.0 * k_m));
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 6e-114) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else if (t <= 2.5e+151) {
tmp = 2.0 / ((((Math.pow(t, 2.0) / l) * (t / l)) * Math.sin(k_m)) * (Math.tan(k_m) * (1.0 + (1.0 + Math.pow((k_m / t), 2.0)))));
} else {
tmp = 2.0 / (Math.pow((Math.cbrt(Math.sin(k_m)) * (t / Math.pow(Math.cbrt(l), 2.0))), 3.0) * (2.0 * k_m));
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 6e-114) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); elseif (t <= 2.5e+151) tmp = Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 2.0) / l) * Float64(t / l)) * sin(k_m)) * Float64(tan(k_m) * Float64(1.0 + Float64(1.0 + (Float64(k_m / t) ^ 2.0)))))); else tmp = Float64(2.0 / Float64((Float64(cbrt(sin(k_m)) * Float64(t / (cbrt(l) ^ 2.0))) ^ 3.0) * Float64(2.0 * k_m))); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 6e-114], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.5e+151], N[(2.0 / N[(N[(N[(N[(N[Power[t, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Power[N[(N[Power[N[Sin[k$95$m], $MachinePrecision], 1/3], $MachinePrecision] * N[(t / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 6 \cdot 10^{-114}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{elif}\;t \leq 2.5 \cdot 10^{+151}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{{t}^{2}}{\ell} \cdot \frac{t}{\ell}\right) \cdot \sin k\_m\right) \cdot \left(\tan k\_m \cdot \left(1 + \left(1 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\sqrt[3]{\sin k\_m} \cdot \frac{t}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3} \cdot \left(2 \cdot k\_m\right)}\\
\end{array}
\end{array}
if t < 6.0000000000000003e-114Initial program 46.1%
Simplified46.1%
Taylor expanded in t around 0 53.1%
if 6.0000000000000003e-114 < t < 2.5000000000000001e151Initial program 68.6%
Simplified68.6%
unpow368.6%
times-frac83.1%
pow283.1%
Applied egg-rr83.1%
if 2.5000000000000001e151 < t Initial program 58.6%
Simplified58.6%
add-cube-cbrt58.6%
pow358.6%
*-commutative58.6%
cbrt-prod58.6%
cbrt-div58.6%
rem-cbrt-cube64.9%
cbrt-prod96.6%
pow296.6%
Applied egg-rr96.6%
Taylor expanded in k around 0 83.5%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 3.4e-46)
(/ 2.0 (* (pow (* (sqrt (sin k_m)) (/ (pow t 1.5) l)) 2.0) (* 2.0 k_m)))
(if (<= k_m 6.2e+90)
(/
2.0
(*
(* (/ (pow t 2.0) l) (/ t l))
(* (* (sin k_m) (tan k_m)) (+ 2.0 (pow (/ k_m t) 2.0)))))
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (/ (* 2.0 (pow k_m 2.0)) l))) 3.0)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 3.4e-46) {
tmp = 2.0 / (pow((sqrt(sin(k_m)) * (pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 6.2e+90) {
tmp = 2.0 / (((pow(t, 2.0) / l) * (t / l)) * ((sin(k_m) * tan(k_m)) * (2.0 + pow((k_m / t), 2.0))));
} else {
tmp = 2.0 / pow(((t / cbrt(l)) * cbrt(((2.0 * pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 3.4e-46) {
tmp = 2.0 / (Math.pow((Math.sqrt(Math.sin(k_m)) * (Math.pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 6.2e+90) {
tmp = 2.0 / (((Math.pow(t, 2.0) / l) * (t / l)) * ((Math.sin(k_m) * Math.tan(k_m)) * (2.0 + Math.pow((k_m / t), 2.0))));
} else {
tmp = 2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt(((2.0 * Math.pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 3.4e-46) tmp = Float64(2.0 / Float64((Float64(sqrt(sin(k_m)) * Float64((t ^ 1.5) / l)) ^ 2.0) * Float64(2.0 * k_m))); elseif (k_m <= 6.2e+90) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 2.0) / l) * Float64(t / l)) * Float64(Float64(sin(k_m) * tan(k_m)) * Float64(2.0 + (Float64(k_m / t) ^ 2.0))))); else tmp = Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(Float64(2.0 * (k_m ^ 2.0)) / l))) ^ 3.0)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 3.4e-46], N[(2.0 / N[(N[Power[N[(N[Sqrt[N[Sin[k$95$m], $MachinePrecision]], $MachinePrecision] * N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 6.2e+90], N[(2.0 / N[(N[(N[(N[Power[t, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 3.4 \cdot 10^{-46}:\\
\;\;\;\;\frac{2}{{\left(\sqrt{\sin k\_m} \cdot \frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 6.2 \cdot 10^{+90}:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{2}}{\ell} \cdot \frac{t}{\ell}\right) \cdot \left(\left(\sin k\_m \cdot \tan k\_m\right) \cdot \left(2 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{\frac{2 \cdot {k\_m}^{2}}{\ell}}\right)}^{3}}\\
\end{array}
\end{array}
if k < 3.39999999999999996e-46Initial program 52.2%
Simplified52.2%
add-sqr-sqrt28.3%
pow228.3%
*-commutative28.3%
sqrt-prod13.9%
sqrt-div13.9%
sqrt-pow115.4%
metadata-eval15.4%
sqrt-prod7.4%
add-sqr-sqrt17.5%
Applied egg-rr17.5%
Taylor expanded in k around 0 16.1%
if 3.39999999999999996e-46 < k < 6.19999999999999977e90Initial program 61.5%
Simplified66.7%
associate-/r*61.5%
unpow361.5%
times-frac70.5%
pow270.5%
Applied egg-rr70.5%
if 6.19999999999999977e90 < k Initial program 47.7%
Simplified50.5%
Taylor expanded in k around 0 55.5%
associate-*l/55.6%
Applied egg-rr55.6%
add-cube-cbrt55.6%
pow355.6%
associate-/l*55.6%
cbrt-prod55.6%
cbrt-div55.6%
unpow355.6%
add-cbrt-cube63.8%
Applied egg-rr63.8%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 1.72e-46)
(/ 2.0 (* (pow (* (sqrt (sin k_m)) (/ (pow t 1.5) l)) 2.0) (* 2.0 k_m)))
(if (<= k_m 4.5e+61)
(/
2.0
(*
(/ (/ (pow t 3.0) l) l)
(* (* (sin k_m) (tan k_m)) (+ 2.0 (pow (/ k_m t) 2.0)))))
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (/ (* 2.0 (pow k_m 2.0)) l))) 3.0)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.72e-46) {
tmp = 2.0 / (pow((sqrt(sin(k_m)) * (pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 4.5e+61) {
tmp = 2.0 / (((pow(t, 3.0) / l) / l) * ((sin(k_m) * tan(k_m)) * (2.0 + pow((k_m / t), 2.0))));
} else {
tmp = 2.0 / pow(((t / cbrt(l)) * cbrt(((2.0 * pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.72e-46) {
tmp = 2.0 / (Math.pow((Math.sqrt(Math.sin(k_m)) * (Math.pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 4.5e+61) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) / l) * ((Math.sin(k_m) * Math.tan(k_m)) * (2.0 + Math.pow((k_m / t), 2.0))));
} else {
tmp = 2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt(((2.0 * Math.pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.72e-46) tmp = Float64(2.0 / Float64((Float64(sqrt(sin(k_m)) * Float64((t ^ 1.5) / l)) ^ 2.0) * Float64(2.0 * k_m))); elseif (k_m <= 4.5e+61) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) / l) * Float64(Float64(sin(k_m) * tan(k_m)) * Float64(2.0 + (Float64(k_m / t) ^ 2.0))))); else tmp = Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(Float64(2.0 * (k_m ^ 2.0)) / l))) ^ 3.0)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.72e-46], N[(2.0 / N[(N[Power[N[(N[Sqrt[N[Sin[k$95$m], $MachinePrecision]], $MachinePrecision] * N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 4.5e+61], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] / l), $MachinePrecision] * N[(N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.72 \cdot 10^{-46}:\\
\;\;\;\;\frac{2}{{\left(\sqrt{\sin k\_m} \cdot \frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 4.5 \cdot 10^{+61}:\\
\;\;\;\;\frac{2}{\frac{\frac{{t}^{3}}{\ell}}{\ell} \cdot \left(\left(\sin k\_m \cdot \tan k\_m\right) \cdot \left(2 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{\frac{2 \cdot {k\_m}^{2}}{\ell}}\right)}^{3}}\\
\end{array}
\end{array}
if k < 1.7199999999999999e-46Initial program 52.2%
Simplified52.2%
add-sqr-sqrt28.3%
pow228.3%
*-commutative28.3%
sqrt-prod13.9%
sqrt-div13.9%
sqrt-pow115.4%
metadata-eval15.4%
sqrt-prod7.4%
add-sqr-sqrt17.5%
Applied egg-rr17.5%
Taylor expanded in k around 0 16.1%
if 1.7199999999999999e-46 < k < 4.5e61Initial program 59.2%
Simplified65.1%
if 4.5e61 < k Initial program 50.1%
Simplified52.8%
Taylor expanded in k around 0 57.3%
associate-*l/57.4%
Applied egg-rr57.4%
add-cube-cbrt57.4%
pow357.4%
associate-/l*57.4%
cbrt-prod57.4%
cbrt-div57.4%
unpow357.4%
add-cbrt-cube65.0%
Applied egg-rr65.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 3.05e-46)
(/ 2.0 (* (pow (* (sqrt (sin k_m)) (/ (pow t 1.5) l)) 2.0) (* 2.0 k_m)))
(if (<= k_m 4.9e+61)
(/
2.0
(/
(*
(/ (pow t 3.0) l)
(* (sin k_m) (* (tan k_m) (+ 2.0 (pow (/ k_m t) 2.0)))))
l))
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (/ (* 2.0 (pow k_m 2.0)) l))) 3.0)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 3.05e-46) {
tmp = 2.0 / (pow((sqrt(sin(k_m)) * (pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 4.9e+61) {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k_m) * (tan(k_m) * (2.0 + pow((k_m / t), 2.0))))) / l);
} else {
tmp = 2.0 / pow(((t / cbrt(l)) * cbrt(((2.0 * pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 3.05e-46) {
tmp = 2.0 / (Math.pow((Math.sqrt(Math.sin(k_m)) * (Math.pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 4.9e+61) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k_m) * (Math.tan(k_m) * (2.0 + Math.pow((k_m / t), 2.0))))) / l);
} else {
tmp = 2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt(((2.0 * Math.pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 3.05e-46) tmp = Float64(2.0 / Float64((Float64(sqrt(sin(k_m)) * Float64((t ^ 1.5) / l)) ^ 2.0) * Float64(2.0 * k_m))); elseif (k_m <= 4.9e+61) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k_m) * Float64(tan(k_m) * Float64(2.0 + (Float64(k_m / t) ^ 2.0))))) / l)); else tmp = Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(Float64(2.0 * (k_m ^ 2.0)) / l))) ^ 3.0)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 3.05e-46], N[(2.0 / N[(N[Power[N[(N[Sqrt[N[Sin[k$95$m], $MachinePrecision]], $MachinePrecision] * N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 4.9e+61], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 3.05 \cdot 10^{-46}:\\
\;\;\;\;\frac{2}{{\left(\sqrt{\sin k\_m} \cdot \frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 4.9 \cdot 10^{+61}:\\
\;\;\;\;\frac{2}{\frac{\frac{{t}^{3}}{\ell} \cdot \left(\sin k\_m \cdot \left(\tan k\_m \cdot \left(2 + {\left(\frac{k\_m}{t}\right)}^{2}\right)\right)\right)}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{\frac{2 \cdot {k\_m}^{2}}{\ell}}\right)}^{3}}\\
\end{array}
\end{array}
if k < 3.05000000000000018e-46Initial program 52.2%
Simplified52.2%
add-sqr-sqrt28.3%
pow228.3%
*-commutative28.3%
sqrt-prod13.9%
sqrt-div13.9%
sqrt-pow115.4%
metadata-eval15.4%
sqrt-prod7.4%
add-sqr-sqrt17.5%
Applied egg-rr17.5%
Taylor expanded in k around 0 16.1%
if 3.05000000000000018e-46 < k < 4.90000000000000025e61Initial program 59.2%
Simplified59.3%
add-cube-cbrt59.0%
pow359.0%
*-commutative59.0%
cbrt-prod58.8%
cbrt-div58.8%
rem-cbrt-cube64.0%
cbrt-prod73.8%
pow273.8%
Applied egg-rr73.8%
Applied egg-rr65.0%
if 4.90000000000000025e61 < k Initial program 50.1%
Simplified52.8%
Taylor expanded in k around 0 57.3%
associate-*l/57.4%
Applied egg-rr57.4%
add-cube-cbrt57.4%
pow357.4%
associate-/l*57.4%
cbrt-prod57.4%
cbrt-div57.4%
unpow357.4%
add-cbrt-cube65.0%
Applied egg-rr65.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1
(*
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (* 2.0 (pow k_m 2.0)))) 3.0))
l)))
(if (<= k_m 5.8e-145)
(/ 2.0 (* (* (* (/ (pow t 2.0) l) (/ t l)) (sin k_m)) (* 2.0 k_m)))
(if (<= k_m 1.1e-8)
t_1
(if (<= k_m 1.9e+175)
(*
(/ (* (/ 2.0 (* (pow t 3.0) (* (sin k_m) (tan k_m)))) l) 1.0)
(* 0.5 l))
t_1)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = (2.0 / pow(((t / cbrt(l)) * cbrt((2.0 * pow(k_m, 2.0)))), 3.0)) * l;
double tmp;
if (k_m <= 5.8e-145) {
tmp = 2.0 / ((((pow(t, 2.0) / l) * (t / l)) * sin(k_m)) * (2.0 * k_m));
} else if (k_m <= 1.1e-8) {
tmp = t_1;
} else if (k_m <= 1.9e+175) {
tmp = (((2.0 / (pow(t, 3.0) * (sin(k_m) * tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = t_1;
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double t_1 = (2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt((2.0 * Math.pow(k_m, 2.0)))), 3.0)) * l;
double tmp;
if (k_m <= 5.8e-145) {
tmp = 2.0 / ((((Math.pow(t, 2.0) / l) * (t / l)) * Math.sin(k_m)) * (2.0 * k_m));
} else if (k_m <= 1.1e-8) {
tmp = t_1;
} else if (k_m <= 1.9e+175) {
tmp = (((2.0 / (Math.pow(t, 3.0) * (Math.sin(k_m) * Math.tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = t_1;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(2.0 * (k_m ^ 2.0)))) ^ 3.0)) * l) tmp = 0.0 if (k_m <= 5.8e-145) tmp = Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 2.0) / l) * Float64(t / l)) * sin(k_m)) * Float64(2.0 * k_m))); elseif (k_m <= 1.1e-8) tmp = t_1; elseif (k_m <= 1.9e+175) tmp = Float64(Float64(Float64(Float64(2.0 / Float64((t ^ 3.0) * Float64(sin(k_m) * tan(k_m)))) * l) / 1.0) * Float64(0.5 * l)); else tmp = t_1; end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]}, If[LessEqual[k$95$m, 5.8e-145], N[(2.0 / N[(N[(N[(N[(N[Power[t, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 1.1e-8], t$95$1, If[LessEqual[k$95$m, 1.9e+175], N[(N[(N[(N[(2.0 / N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision] / 1.0), $MachinePrecision] * N[(0.5 * l), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := \frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{2 \cdot {k\_m}^{2}}\right)}^{3}} \cdot \ell\\
\mathbf{if}\;k\_m \leq 5.8 \cdot 10^{-145}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{{t}^{2}}{\ell} \cdot \frac{t}{\ell}\right) \cdot \sin k\_m\right) \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 1.1 \cdot 10^{-8}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;k\_m \leq 1.9 \cdot 10^{+175}:\\
\;\;\;\;\frac{\frac{2}{{t}^{3} \cdot \left(\sin k\_m \cdot \tan k\_m\right)} \cdot \ell}{1} \cdot \left(0.5 \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if k < 5.79999999999999968e-145Initial program 52.0%
Simplified52.0%
unpow352.0%
times-frac66.8%
pow266.8%
Applied egg-rr66.8%
Taylor expanded in k around 0 62.0%
if 5.79999999999999968e-145 < k < 1.0999999999999999e-8 or 1.8999999999999998e175 < k Initial program 45.6%
Simplified52.5%
Taylor expanded in k around 0 48.4%
associate-*l/52.1%
Applied egg-rr52.1%
associate-/r/52.1%
Applied egg-rr52.1%
add-cube-cbrt52.1%
pow352.1%
cbrt-prod52.0%
cbrt-div51.9%
unpow351.9%
add-cbrt-cube61.9%
Applied egg-rr61.9%
if 1.0999999999999999e-8 < k < 1.8999999999999998e175Initial program 65.4%
Simplified65.4%
associate-*r*67.7%
*-un-lft-identity67.7%
times-frac67.7%
Applied egg-rr67.7%
Taylor expanded in k around 0 74.7%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1
(*
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (* 2.0 (pow k_m 2.0)))) 3.0))
l)))
(if (<= k_m 7e-145)
(/ 2.0 (* (* (pow (/ t (pow (cbrt l) 2.0)) 3.0) (sin k_m)) (* 2.0 k_m)))
(if (<= k_m 1.1e-8)
t_1
(if (<= k_m 1.8e+175)
(*
(/ (* (/ 2.0 (* (pow t 3.0) (* (sin k_m) (tan k_m)))) l) 1.0)
(* 0.5 l))
t_1)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = (2.0 / pow(((t / cbrt(l)) * cbrt((2.0 * pow(k_m, 2.0)))), 3.0)) * l;
double tmp;
if (k_m <= 7e-145) {
tmp = 2.0 / ((pow((t / pow(cbrt(l), 2.0)), 3.0) * sin(k_m)) * (2.0 * k_m));
} else if (k_m <= 1.1e-8) {
tmp = t_1;
} else if (k_m <= 1.8e+175) {
tmp = (((2.0 / (pow(t, 3.0) * (sin(k_m) * tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = t_1;
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double t_1 = (2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt((2.0 * Math.pow(k_m, 2.0)))), 3.0)) * l;
double tmp;
if (k_m <= 7e-145) {
tmp = 2.0 / ((Math.pow((t / Math.pow(Math.cbrt(l), 2.0)), 3.0) * Math.sin(k_m)) * (2.0 * k_m));
} else if (k_m <= 1.1e-8) {
tmp = t_1;
} else if (k_m <= 1.8e+175) {
tmp = (((2.0 / (Math.pow(t, 3.0) * (Math.sin(k_m) * Math.tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = t_1;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(2.0 * (k_m ^ 2.0)))) ^ 3.0)) * l) tmp = 0.0 if (k_m <= 7e-145) tmp = Float64(2.0 / Float64(Float64((Float64(t / (cbrt(l) ^ 2.0)) ^ 3.0) * sin(k_m)) * Float64(2.0 * k_m))); elseif (k_m <= 1.1e-8) tmp = t_1; elseif (k_m <= 1.8e+175) tmp = Float64(Float64(Float64(Float64(2.0 / Float64((t ^ 3.0) * Float64(sin(k_m) * tan(k_m)))) * l) / 1.0) * Float64(0.5 * l)); else tmp = t_1; end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]}, If[LessEqual[k$95$m, 7e-145], N[(2.0 / N[(N[(N[Power[N[(t / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 1.1e-8], t$95$1, If[LessEqual[k$95$m, 1.8e+175], N[(N[(N[(N[(2.0 / N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision] / 1.0), $MachinePrecision] * N[(0.5 * l), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := \frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{2 \cdot {k\_m}^{2}}\right)}^{3}} \cdot \ell\\
\mathbf{if}\;k\_m \leq 7 \cdot 10^{-145}:\\
\;\;\;\;\frac{2}{\left({\left(\frac{t}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3} \cdot \sin k\_m\right) \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 1.1 \cdot 10^{-8}:\\
\;\;\;\;t\_1\\
\mathbf{elif}\;k\_m \leq 1.8 \cdot 10^{+175}:\\
\;\;\;\;\frac{\frac{2}{{t}^{3} \cdot \left(\sin k\_m \cdot \tan k\_m\right)} \cdot \ell}{1} \cdot \left(0.5 \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;t\_1\\
\end{array}
\end{array}
if k < 6.99999999999999994e-145Initial program 52.0%
Simplified52.0%
add-cube-cbrt51.9%
pow351.9%
cbrt-div51.8%
rem-cbrt-cube60.0%
cbrt-prod74.0%
pow274.0%
Applied egg-rr74.0%
Taylor expanded in k around 0 64.6%
if 6.99999999999999994e-145 < k < 1.0999999999999999e-8 or 1.80000000000000017e175 < k Initial program 45.6%
Simplified52.5%
Taylor expanded in k around 0 48.4%
associate-*l/52.1%
Applied egg-rr52.1%
associate-/r/52.1%
Applied egg-rr52.1%
add-cube-cbrt52.1%
pow352.1%
cbrt-prod52.0%
cbrt-div51.9%
unpow351.9%
add-cbrt-cube61.9%
Applied egg-rr61.9%
if 1.0999999999999999e-8 < k < 1.80000000000000017e175Initial program 65.4%
Simplified65.4%
associate-*r*67.7%
*-un-lft-identity67.7%
times-frac67.7%
Applied egg-rr67.7%
Taylor expanded in k around 0 74.7%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 1.6e-55)
(/ 2.0 (* (pow (* (sqrt (sin k_m)) (/ (pow t 1.5) l)) 2.0) (* 2.0 k_m)))
(if (<= k_m 1.6e+45)
(/
2.0
(*
(* (* (/ (pow t 2.0) l) (/ t l)) (sin k_m))
(* 2.0 (/ (sin k_m) (cos k_m)))))
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (/ (* 2.0 (pow k_m 2.0)) l))) 3.0)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.6e-55) {
tmp = 2.0 / (pow((sqrt(sin(k_m)) * (pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 1.6e+45) {
tmp = 2.0 / ((((pow(t, 2.0) / l) * (t / l)) * sin(k_m)) * (2.0 * (sin(k_m) / cos(k_m))));
} else {
tmp = 2.0 / pow(((t / cbrt(l)) * cbrt(((2.0 * pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.6e-55) {
tmp = 2.0 / (Math.pow((Math.sqrt(Math.sin(k_m)) * (Math.pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 1.6e+45) {
tmp = 2.0 / ((((Math.pow(t, 2.0) / l) * (t / l)) * Math.sin(k_m)) * (2.0 * (Math.sin(k_m) / Math.cos(k_m))));
} else {
tmp = 2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt(((2.0 * Math.pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.6e-55) tmp = Float64(2.0 / Float64((Float64(sqrt(sin(k_m)) * Float64((t ^ 1.5) / l)) ^ 2.0) * Float64(2.0 * k_m))); elseif (k_m <= 1.6e+45) tmp = Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 2.0) / l) * Float64(t / l)) * sin(k_m)) * Float64(2.0 * Float64(sin(k_m) / cos(k_m))))); else tmp = Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(Float64(2.0 * (k_m ^ 2.0)) / l))) ^ 3.0)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.6e-55], N[(2.0 / N[(N[Power[N[(N[Sqrt[N[Sin[k$95$m], $MachinePrecision]], $MachinePrecision] * N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 1.6e+45], N[(2.0 / N[(N[(N[(N[(N[Power[t, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(2.0 * N[(N[Sin[k$95$m], $MachinePrecision] / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.6 \cdot 10^{-55}:\\
\;\;\;\;\frac{2}{{\left(\sqrt{\sin k\_m} \cdot \frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 1.6 \cdot 10^{+45}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{{t}^{2}}{\ell} \cdot \frac{t}{\ell}\right) \cdot \sin k\_m\right) \cdot \left(2 \cdot \frac{\sin k\_m}{\cos k\_m}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{\frac{2 \cdot {k\_m}^{2}}{\ell}}\right)}^{3}}\\
\end{array}
\end{array}
if k < 1.6000000000000001e-55Initial program 52.2%
Simplified52.2%
add-sqr-sqrt28.7%
pow228.7%
*-commutative28.7%
sqrt-prod14.0%
sqrt-div14.0%
sqrt-pow115.6%
metadata-eval15.6%
sqrt-prod7.5%
add-sqr-sqrt17.6%
Applied egg-rr17.6%
Taylor expanded in k around 0 16.3%
if 1.6000000000000001e-55 < k < 1.6000000000000001e45Initial program 53.9%
Simplified54.0%
unpow354.0%
times-frac71.7%
pow271.7%
Applied egg-rr71.7%
Taylor expanded in t around inf 49.6%
if 1.6000000000000001e45 < k Initial program 53.1%
Simplified55.4%
Taylor expanded in k around 0 57.6%
associate-*l/57.6%
Applied egg-rr57.6%
add-cube-cbrt57.6%
pow357.6%
associate-/l*59.4%
cbrt-prod59.4%
cbrt-div59.4%
unpow359.4%
add-cbrt-cube66.0%
Applied egg-rr66.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 6e-48)
(/ 2.0 (* (pow (* (sqrt (sin k_m)) (/ (pow t 1.5) l)) 2.0) (* 2.0 k_m)))
(if (<= k_m 9e+45)
(/
2.0
(* (/ (/ (pow t 3.0) l) l) (* 2.0 (/ (pow (sin k_m) 2.0) (cos k_m)))))
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (/ (* 2.0 (pow k_m 2.0)) l))) 3.0)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 6e-48) {
tmp = 2.0 / (pow((sqrt(sin(k_m)) * (pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 9e+45) {
tmp = 2.0 / (((pow(t, 3.0) / l) / l) * (2.0 * (pow(sin(k_m), 2.0) / cos(k_m))));
} else {
tmp = 2.0 / pow(((t / cbrt(l)) * cbrt(((2.0 * pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 6e-48) {
tmp = 2.0 / (Math.pow((Math.sqrt(Math.sin(k_m)) * (Math.pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 9e+45) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) / l) * (2.0 * (Math.pow(Math.sin(k_m), 2.0) / Math.cos(k_m))));
} else {
tmp = 2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt(((2.0 * Math.pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 6e-48) tmp = Float64(2.0 / Float64((Float64(sqrt(sin(k_m)) * Float64((t ^ 1.5) / l)) ^ 2.0) * Float64(2.0 * k_m))); elseif (k_m <= 9e+45) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) / l) * Float64(2.0 * Float64((sin(k_m) ^ 2.0) / cos(k_m))))); else tmp = Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(Float64(2.0 * (k_m ^ 2.0)) / l))) ^ 3.0)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 6e-48], N[(2.0 / N[(N[Power[N[(N[Sqrt[N[Sin[k$95$m], $MachinePrecision]], $MachinePrecision] * N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 9e+45], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] / l), $MachinePrecision] * N[(2.0 * N[(N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 6 \cdot 10^{-48}:\\
\;\;\;\;\frac{2}{{\left(\sqrt{\sin k\_m} \cdot \frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 9 \cdot 10^{+45}:\\
\;\;\;\;\frac{2}{\frac{\frac{{t}^{3}}{\ell}}{\ell} \cdot \left(2 \cdot \frac{{\sin k\_m}^{2}}{\cos k\_m}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{\frac{2 \cdot {k\_m}^{2}}{\ell}}\right)}^{3}}\\
\end{array}
\end{array}
if k < 5.9999999999999998e-48Initial program 52.2%
Simplified52.2%
add-sqr-sqrt28.3%
pow228.3%
*-commutative28.3%
sqrt-prod13.9%
sqrt-div13.9%
sqrt-pow115.4%
metadata-eval15.4%
sqrt-prod7.4%
add-sqr-sqrt17.5%
Applied egg-rr17.5%
Taylor expanded in k around 0 16.1%
if 5.9999999999999998e-48 < k < 8.9999999999999997e45Initial program 53.8%
Simplified62.1%
Taylor expanded in t around inf 43.3%
if 8.9999999999999997e45 < k Initial program 53.1%
Simplified55.4%
Taylor expanded in k around 0 57.6%
associate-*l/57.6%
Applied egg-rr57.6%
add-cube-cbrt57.6%
pow357.6%
associate-/l*59.4%
cbrt-prod59.4%
cbrt-div59.4%
unpow359.4%
add-cbrt-cube66.0%
Applied egg-rr66.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 8.8e-9)
(/ 2.0 (* (pow (* (sqrt (sin k_m)) (/ (pow t 1.5) l)) 2.0) (* 2.0 k_m)))
(if (<= k_m 2.3e+175)
(*
(/ (* (/ 2.0 (* (pow t 3.0) (* (sin k_m) (tan k_m)))) l) 1.0)
(* 0.5 l))
(* (/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (* 2.0 (pow k_m 2.0)))) 3.0)) l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 8.8e-9) {
tmp = 2.0 / (pow((sqrt(sin(k_m)) * (pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 2.3e+175) {
tmp = (((2.0 / (pow(t, 3.0) * (sin(k_m) * tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = (2.0 / pow(((t / cbrt(l)) * cbrt((2.0 * pow(k_m, 2.0)))), 3.0)) * l;
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 8.8e-9) {
tmp = 2.0 / (Math.pow((Math.sqrt(Math.sin(k_m)) * (Math.pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 2.3e+175) {
tmp = (((2.0 / (Math.pow(t, 3.0) * (Math.sin(k_m) * Math.tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = (2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt((2.0 * Math.pow(k_m, 2.0)))), 3.0)) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 8.8e-9) tmp = Float64(2.0 / Float64((Float64(sqrt(sin(k_m)) * Float64((t ^ 1.5) / l)) ^ 2.0) * Float64(2.0 * k_m))); elseif (k_m <= 2.3e+175) tmp = Float64(Float64(Float64(Float64(2.0 / Float64((t ^ 3.0) * Float64(sin(k_m) * tan(k_m)))) * l) / 1.0) * Float64(0.5 * l)); else tmp = Float64(Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(2.0 * (k_m ^ 2.0)))) ^ 3.0)) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 8.8e-9], N[(2.0 / N[(N[Power[N[(N[Sqrt[N[Sin[k$95$m], $MachinePrecision]], $MachinePrecision] * N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 2.3e+175], N[(N[(N[(N[(2.0 / N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision] / 1.0), $MachinePrecision] * N[(0.5 * l), $MachinePrecision]), $MachinePrecision], N[(N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 8.8 \cdot 10^{-9}:\\
\;\;\;\;\frac{2}{{\left(\sqrt{\sin k\_m} \cdot \frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 2.3 \cdot 10^{+175}:\\
\;\;\;\;\frac{\frac{2}{{t}^{3} \cdot \left(\sin k\_m \cdot \tan k\_m\right)} \cdot \ell}{1} \cdot \left(0.5 \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{2 \cdot {k\_m}^{2}}\right)}^{3}} \cdot \ell\\
\end{array}
\end{array}
if k < 8.7999999999999994e-9Initial program 52.3%
Simplified52.4%
add-sqr-sqrt28.5%
pow228.5%
*-commutative28.5%
sqrt-prod14.5%
sqrt-div14.5%
sqrt-pow116.5%
metadata-eval16.5%
sqrt-prod8.2%
add-sqr-sqrt18.5%
Applied egg-rr18.5%
Taylor expanded in k around 0 16.2%
if 8.7999999999999994e-9 < k < 2.3e175Initial program 65.4%
Simplified65.4%
associate-*r*67.7%
*-un-lft-identity67.7%
times-frac67.7%
Applied egg-rr67.7%
Taylor expanded in k around 0 74.7%
if 2.3e175 < k Initial program 37.3%
Simplified41.5%
Taylor expanded in k around 0 41.5%
associate-*l/41.6%
Applied egg-rr41.6%
associate-/r/41.6%
Applied egg-rr41.6%
add-cube-cbrt41.6%
pow341.6%
cbrt-prod41.6%
cbrt-div41.6%
unpow341.6%
add-cbrt-cube53.8%
Applied egg-rr53.8%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 1e-8)
(/ 2.0 (* (pow (* (sqrt (sin k_m)) (/ (pow t 1.5) l)) 2.0) (* 2.0 k_m)))
(if (<= k_m 1.8e+175)
(*
(/ (* (/ 2.0 (* (pow t 3.0) (* (sin k_m) (tan k_m)))) l) 1.0)
(* 0.5 l))
(/ 2.0 (/ (pow (* (cbrt (* 2.0 (pow k_m 2.0))) (/ t (cbrt l))) 3.0) l)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1e-8) {
tmp = 2.0 / (pow((sqrt(sin(k_m)) * (pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 1.8e+175) {
tmp = (((2.0 / (pow(t, 3.0) * (sin(k_m) * tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = 2.0 / (pow((cbrt((2.0 * pow(k_m, 2.0))) * (t / cbrt(l))), 3.0) / l);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1e-8) {
tmp = 2.0 / (Math.pow((Math.sqrt(Math.sin(k_m)) * (Math.pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 1.8e+175) {
tmp = (((2.0 / (Math.pow(t, 3.0) * (Math.sin(k_m) * Math.tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = 2.0 / (Math.pow((Math.cbrt((2.0 * Math.pow(k_m, 2.0))) * (t / Math.cbrt(l))), 3.0) / l);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1e-8) tmp = Float64(2.0 / Float64((Float64(sqrt(sin(k_m)) * Float64((t ^ 1.5) / l)) ^ 2.0) * Float64(2.0 * k_m))); elseif (k_m <= 1.8e+175) tmp = Float64(Float64(Float64(Float64(2.0 / Float64((t ^ 3.0) * Float64(sin(k_m) * tan(k_m)))) * l) / 1.0) * Float64(0.5 * l)); else tmp = Float64(2.0 / Float64((Float64(cbrt(Float64(2.0 * (k_m ^ 2.0))) * Float64(t / cbrt(l))) ^ 3.0) / l)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1e-8], N[(2.0 / N[(N[Power[N[(N[Sqrt[N[Sin[k$95$m], $MachinePrecision]], $MachinePrecision] * N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 1.8e+175], N[(N[(N[(N[(2.0 / N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision] / 1.0), $MachinePrecision] * N[(0.5 * l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Power[N[(N[Power[N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] * N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 10^{-8}:\\
\;\;\;\;\frac{2}{{\left(\sqrt{\sin k\_m} \cdot \frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 1.8 \cdot 10^{+175}:\\
\;\;\;\;\frac{\frac{2}{{t}^{3} \cdot \left(\sin k\_m \cdot \tan k\_m\right)} \cdot \ell}{1} \cdot \left(0.5 \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{\left(\sqrt[3]{2 \cdot {k\_m}^{2}} \cdot \frac{t}{\sqrt[3]{\ell}}\right)}^{3}}{\ell}}\\
\end{array}
\end{array}
if k < 1e-8Initial program 52.3%
Simplified52.4%
add-sqr-sqrt28.5%
pow228.5%
*-commutative28.5%
sqrt-prod14.5%
sqrt-div14.5%
sqrt-pow116.5%
metadata-eval16.5%
sqrt-prod8.2%
add-sqr-sqrt18.5%
Applied egg-rr18.5%
Taylor expanded in k around 0 16.2%
if 1e-8 < k < 1.80000000000000017e175Initial program 65.4%
Simplified65.4%
associate-*r*67.7%
*-un-lft-identity67.7%
times-frac67.7%
Applied egg-rr67.7%
Taylor expanded in k around 0 74.7%
if 1.80000000000000017e175 < k Initial program 37.3%
Simplified41.5%
Taylor expanded in k around 0 41.5%
associate-*l/41.6%
Applied egg-rr41.6%
add-cube-cbrt41.6%
pow341.6%
*-commutative41.6%
cbrt-prod41.6%
cbrt-div41.6%
unpow341.6%
add-cbrt-cube53.8%
Applied egg-rr53.8%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 1.06e-8)
(/ 2.0 (* (pow (* (sqrt (sin k_m)) (/ (pow t 1.5) l)) 2.0) (* 2.0 k_m)))
(if (<= k_m 1.7e+45)
(*
(/ (* (/ 2.0 (* (pow t 3.0) (* (sin k_m) (tan k_m)))) l) 1.0)
(* 0.5 l))
(/ 2.0 (pow (* (/ t (cbrt l)) (cbrt (/ (* 2.0 (pow k_m 2.0)) l))) 3.0)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.06e-8) {
tmp = 2.0 / (pow((sqrt(sin(k_m)) * (pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 1.7e+45) {
tmp = (((2.0 / (pow(t, 3.0) * (sin(k_m) * tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = 2.0 / pow(((t / cbrt(l)) * cbrt(((2.0 * pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.06e-8) {
tmp = 2.0 / (Math.pow((Math.sqrt(Math.sin(k_m)) * (Math.pow(t, 1.5) / l)), 2.0) * (2.0 * k_m));
} else if (k_m <= 1.7e+45) {
tmp = (((2.0 / (Math.pow(t, 3.0) * (Math.sin(k_m) * Math.tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = 2.0 / Math.pow(((t / Math.cbrt(l)) * Math.cbrt(((2.0 * Math.pow(k_m, 2.0)) / l))), 3.0);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.06e-8) tmp = Float64(2.0 / Float64((Float64(sqrt(sin(k_m)) * Float64((t ^ 1.5) / l)) ^ 2.0) * Float64(2.0 * k_m))); elseif (k_m <= 1.7e+45) tmp = Float64(Float64(Float64(Float64(2.0 / Float64((t ^ 3.0) * Float64(sin(k_m) * tan(k_m)))) * l) / 1.0) * Float64(0.5 * l)); else tmp = Float64(2.0 / (Float64(Float64(t / cbrt(l)) * cbrt(Float64(Float64(2.0 * (k_m ^ 2.0)) / l))) ^ 3.0)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.06e-8], N[(2.0 / N[(N[Power[N[(N[Sqrt[N[Sin[k$95$m], $MachinePrecision]], $MachinePrecision] * N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 1.7e+45], N[(N[(N[(N[(2.0 / N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision] / 1.0), $MachinePrecision] * N[(0.5 * l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.06 \cdot 10^{-8}:\\
\;\;\;\;\frac{2}{{\left(\sqrt{\sin k\_m} \cdot \frac{{t}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 1.7 \cdot 10^{+45}:\\
\;\;\;\;\frac{\frac{2}{{t}^{3} \cdot \left(\sin k\_m \cdot \tan k\_m\right)} \cdot \ell}{1} \cdot \left(0.5 \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\ell}} \cdot \sqrt[3]{\frac{2 \cdot {k\_m}^{2}}{\ell}}\right)}^{3}}\\
\end{array}
\end{array}
if k < 1.06000000000000006e-8Initial program 52.3%
Simplified52.4%
add-sqr-sqrt28.5%
pow228.5%
*-commutative28.5%
sqrt-prod14.5%
sqrt-div14.5%
sqrt-pow116.5%
metadata-eval16.5%
sqrt-prod8.2%
add-sqr-sqrt18.5%
Applied egg-rr18.5%
Taylor expanded in k around 0 16.2%
if 1.06000000000000006e-8 < k < 1.7e45Initial program 52.4%
Simplified52.3%
associate-*r*59.4%
*-un-lft-identity59.4%
times-frac59.3%
Applied egg-rr59.3%
Taylor expanded in k around 0 52.7%
if 1.7e45 < k Initial program 53.1%
Simplified55.4%
Taylor expanded in k around 0 57.6%
associate-*l/57.6%
Applied egg-rr57.6%
add-cube-cbrt57.6%
pow357.6%
associate-/l*59.4%
cbrt-prod59.4%
cbrt-div59.4%
unpow359.4%
add-cbrt-cube66.0%
Applied egg-rr66.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 5e-9)
(/ 2.0 (* (* (* (/ (pow t 2.0) l) (/ t l)) (sin k_m)) (* 2.0 k_m)))
(if (<= k_m 4.5e+206)
(*
(/ (* (/ 2.0 (* (pow t 3.0) (* (sin k_m) (tan k_m)))) l) 1.0)
(* 0.5 l))
(/ 2.0 (* (pow (* t (pow (cbrt l) -2.0)) 3.0) (* 2.0 (pow k_m 2.0)))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 5e-9) {
tmp = 2.0 / ((((pow(t, 2.0) / l) * (t / l)) * sin(k_m)) * (2.0 * k_m));
} else if (k_m <= 4.5e+206) {
tmp = (((2.0 / (pow(t, 3.0) * (sin(k_m) * tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = 2.0 / (pow((t * pow(cbrt(l), -2.0)), 3.0) * (2.0 * pow(k_m, 2.0)));
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 5e-9) {
tmp = 2.0 / ((((Math.pow(t, 2.0) / l) * (t / l)) * Math.sin(k_m)) * (2.0 * k_m));
} else if (k_m <= 4.5e+206) {
tmp = (((2.0 / (Math.pow(t, 3.0) * (Math.sin(k_m) * Math.tan(k_m)))) * l) / 1.0) * (0.5 * l);
} else {
tmp = 2.0 / (Math.pow((t * Math.pow(Math.cbrt(l), -2.0)), 3.0) * (2.0 * Math.pow(k_m, 2.0)));
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 5e-9) tmp = Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 2.0) / l) * Float64(t / l)) * sin(k_m)) * Float64(2.0 * k_m))); elseif (k_m <= 4.5e+206) tmp = Float64(Float64(Float64(Float64(2.0 / Float64((t ^ 3.0) * Float64(sin(k_m) * tan(k_m)))) * l) / 1.0) * Float64(0.5 * l)); else tmp = Float64(2.0 / Float64((Float64(t * (cbrt(l) ^ -2.0)) ^ 3.0) * Float64(2.0 * (k_m ^ 2.0)))); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 5e-9], N[(2.0 / N[(N[(N[(N[(N[Power[t, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 4.5e+206], N[(N[(N[(N[(2.0 / N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision] / 1.0), $MachinePrecision] * N[(0.5 * l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Power[N[(t * N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 5 \cdot 10^{-9}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{{t}^{2}}{\ell} \cdot \frac{t}{\ell}\right) \cdot \sin k\_m\right) \cdot \left(2 \cdot k\_m\right)}\\
\mathbf{elif}\;k\_m \leq 4.5 \cdot 10^{+206}:\\
\;\;\;\;\frac{\frac{2}{{t}^{3} \cdot \left(\sin k\_m \cdot \tan k\_m\right)} \cdot \ell}{1} \cdot \left(0.5 \cdot \ell\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(t \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\right)}^{3} \cdot \left(2 \cdot {k\_m}^{2}\right)}\\
\end{array}
\end{array}
if k < 5.0000000000000001e-9Initial program 52.3%
Simplified52.4%
unpow352.3%
times-frac67.5%
pow267.5%
Applied egg-rr67.5%
Taylor expanded in k around 0 61.7%
if 5.0000000000000001e-9 < k < 4.50000000000000018e206Initial program 58.7%
Simplified58.7%
associate-*r*61.0%
*-un-lft-identity61.0%
times-frac61.0%
Applied egg-rr61.0%
Taylor expanded in k around 0 67.2%
if 4.50000000000000018e206 < k Initial program 43.5%
Simplified48.0%
Taylor expanded in k around 0 48.0%
add-cube-cbrt48.0%
pow348.0%
associate-/l/43.5%
cbrt-div43.5%
unpow343.5%
add-cbrt-cube52.2%
cbrt-unprod56.7%
unpow256.7%
pow156.7%
div-inv56.7%
pow156.7%
pow-flip56.7%
metadata-eval56.7%
Applied egg-rr56.7%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= t 5.8e+46) (/ 2.0 (* (/ (pow t 3.0) l) (/ (* 2.0 (pow k_m 2.0)) l))) (/ 2.0 (* (* (/ (pow t 3.0) (* l l)) (sin k_m)) (* 2.0 k_m)))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 5.8e+46) {
tmp = 2.0 / ((pow(t, 3.0) / l) * ((2.0 * pow(k_m, 2.0)) / l));
} else {
tmp = 2.0 / (((pow(t, 3.0) / (l * l)) * sin(k_m)) * (2.0 * k_m));
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (t <= 5.8d+46) then
tmp = 2.0d0 / (((t ** 3.0d0) / l) * ((2.0d0 * (k_m ** 2.0d0)) / l))
else
tmp = 2.0d0 / ((((t ** 3.0d0) / (l * l)) * sin(k_m)) * (2.0d0 * k_m))
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 5.8e+46) {
tmp = 2.0 / ((Math.pow(t, 3.0) / l) * ((2.0 * Math.pow(k_m, 2.0)) / l));
} else {
tmp = 2.0 / (((Math.pow(t, 3.0) / (l * l)) * Math.sin(k_m)) * (2.0 * k_m));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if t <= 5.8e+46: tmp = 2.0 / ((math.pow(t, 3.0) / l) * ((2.0 * math.pow(k_m, 2.0)) / l)) else: tmp = 2.0 / (((math.pow(t, 3.0) / (l * l)) * math.sin(k_m)) * (2.0 * k_m)) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 5.8e+46) tmp = Float64(2.0 / Float64(Float64((t ^ 3.0) / l) * Float64(Float64(2.0 * (k_m ^ 2.0)) / l))); else tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k_m)) * Float64(2.0 * k_m))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (t <= 5.8e+46) tmp = 2.0 / (((t ^ 3.0) / l) * ((2.0 * (k_m ^ 2.0)) / l)); else tmp = 2.0 / ((((t ^ 3.0) / (l * l)) * sin(k_m)) * (2.0 * k_m)); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 5.8e+46], N[(2.0 / N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 5.8 \cdot 10^{+46}:\\
\;\;\;\;\frac{2}{\frac{{t}^{3}}{\ell} \cdot \frac{2 \cdot {k\_m}^{2}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\_m\right) \cdot \left(2 \cdot k\_m\right)}\\
\end{array}
\end{array}
if t < 5.8000000000000004e46Initial program 49.4%
Simplified52.8%
Taylor expanded in k around 0 48.7%
associate-*l/49.7%
Applied egg-rr49.7%
associate-/l*50.7%
Applied egg-rr50.7%
if 5.8000000000000004e46 < t Initial program 63.9%
Simplified63.9%
Taylor expanded in k around 0 63.9%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 2.0) l) (/ t l)) (sin k_m)) (* 2.0 k_m))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return 2.0 / ((((pow(t, 2.0) / l) * (t / l)) * sin(k_m)) * (2.0 * k_m));
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = 2.0d0 / (((((t ** 2.0d0) / l) * (t / l)) * sin(k_m)) * (2.0d0 * k_m))
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return 2.0 / ((((Math.pow(t, 2.0) / l) * (t / l)) * Math.sin(k_m)) * (2.0 * k_m));
}
k_m = math.fabs(k) def code(t, l, k_m): return 2.0 / ((((math.pow(t, 2.0) / l) * (t / l)) * math.sin(k_m)) * (2.0 * k_m))
k_m = abs(k) function code(t, l, k_m) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 2.0) / l) * Float64(t / l)) * sin(k_m)) * Float64(2.0 * k_m))) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = 2.0 / (((((t ^ 2.0) / l) * (t / l)) * sin(k_m)) * (2.0 * k_m)); end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
\frac{2}{\left(\left(\frac{{t}^{2}}{\ell} \cdot \frac{t}{\ell}\right) \cdot \sin k\_m\right) \cdot \left(2 \cdot k\_m\right)}
\end{array}
Initial program 52.5%
Simplified52.5%
unpow352.5%
times-frac65.6%
pow265.6%
Applied egg-rr65.6%
Taylor expanded in k around 0 59.8%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (* (/ 2.0 (* (/ (pow t 3.0) l) (* 2.0 (pow k_m 2.0)))) l))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return (2.0 / ((pow(t, 3.0) / l) * (2.0 * pow(k_m, 2.0)))) * l;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = (2.0d0 / (((t ** 3.0d0) / l) * (2.0d0 * (k_m ** 2.0d0)))) * l
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return (2.0 / ((Math.pow(t, 3.0) / l) * (2.0 * Math.pow(k_m, 2.0)))) * l;
}
k_m = math.fabs(k) def code(t, l, k_m): return (2.0 / ((math.pow(t, 3.0) / l) * (2.0 * math.pow(k_m, 2.0)))) * l
k_m = abs(k) function code(t, l, k_m) return Float64(Float64(2.0 / Float64(Float64((t ^ 3.0) / l) * Float64(2.0 * (k_m ^ 2.0)))) * l) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = (2.0 / (((t ^ 3.0) / l) * (2.0 * (k_m ^ 2.0)))) * l; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(N[(2.0 / N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
\frac{2}{\frac{{t}^{3}}{\ell} \cdot \left(2 \cdot {k\_m}^{2}\right)} \cdot \ell
\end{array}
Initial program 52.5%
Simplified54.0%
Taylor expanded in k around 0 50.8%
associate-*l/51.6%
Applied egg-rr51.6%
associate-/r/51.6%
Applied egg-rr51.6%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (/ 2.0 (* (/ (pow t 3.0) l) (/ (* 2.0 (pow k_m 2.0)) l))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return 2.0 / ((pow(t, 3.0) / l) * ((2.0 * pow(k_m, 2.0)) / l));
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = 2.0d0 / (((t ** 3.0d0) / l) * ((2.0d0 * (k_m ** 2.0d0)) / l))
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return 2.0 / ((Math.pow(t, 3.0) / l) * ((2.0 * Math.pow(k_m, 2.0)) / l));
}
k_m = math.fabs(k) def code(t, l, k_m): return 2.0 / ((math.pow(t, 3.0) / l) * ((2.0 * math.pow(k_m, 2.0)) / l))
k_m = abs(k) function code(t, l, k_m) return Float64(2.0 / Float64(Float64((t ^ 3.0) / l) * Float64(Float64(2.0 * (k_m ^ 2.0)) / l))) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = 2.0 / (((t ^ 3.0) / l) * ((2.0 * (k_m ^ 2.0)) / l)); end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(2.0 / N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[(2.0 * N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
\frac{2}{\frac{{t}^{3}}{\ell} \cdot \frac{2 \cdot {k\_m}^{2}}{\ell}}
\end{array}
Initial program 52.5%
Simplified54.0%
Taylor expanded in k around 0 50.8%
associate-*l/51.6%
Applied egg-rr51.6%
associate-/l*52.2%
Applied egg-rr52.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (* (/ l (* (pow k_m 2.0) (pow t 3.0))) l))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return (l / (pow(k_m, 2.0) * pow(t, 3.0))) * l;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = (l / ((k_m ** 2.0d0) * (t ** 3.0d0))) * l
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return (l / (Math.pow(k_m, 2.0) * Math.pow(t, 3.0))) * l;
}
k_m = math.fabs(k) def code(t, l, k_m): return (l / (math.pow(k_m, 2.0) * math.pow(t, 3.0))) * l
k_m = abs(k) function code(t, l, k_m) return Float64(Float64(l / Float64((k_m ^ 2.0) * (t ^ 3.0))) * l) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = (l / ((k_m ^ 2.0) * (t ^ 3.0))) * l; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(N[(l / N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
\frac{\ell}{{k\_m}^{2} \cdot {t}^{3}} \cdot \ell
\end{array}
Initial program 52.5%
Simplified54.0%
Taylor expanded in k around 0 50.8%
associate-*l/51.6%
Applied egg-rr51.6%
associate-/r/51.6%
Applied egg-rr51.6%
Taylor expanded in t around 0 50.2%
herbie shell --seed 2024050 -o generate:simplify
(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))))