
(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 19 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}
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (hypot 1.0 (hypot 1.0 (/ k t_m))))
(t_3 (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0))))
(t_4 (cbrt (sqrt l_m))))
(*
t_s
(if (<= t_m 7.8e-159)
(*
(/ 2.0 (* t_m (pow k 2.0)))
(/ (* (pow l_m 2.0) (cos k)) (pow (sin k) 2.0)))
(if (<= t_m 1.45e-14)
(/
2.0
(*
(pow (/ (/ t_m (cbrt l_m)) (/ 1.0 (cbrt (/ (sin k) l_m)))) 3.0)
t_3))
(if (<= t_m 5e+102)
(*
(/ (/ 2.0 (* (sin k) (* (tan k) (pow t_m 3.0)))) (/ t_2 l_m))
(/ l_m t_2))
(/
2.0
(*
t_3
(pow
(/ (/ t_m (* t_4 t_4)) (/ (cbrt l_m) (cbrt (sin k))))
3.0)))))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = hypot(1.0, hypot(1.0, (k / t_m)));
double t_3 = tan(k) * (2.0 + pow((k / t_m), 2.0));
double t_4 = cbrt(sqrt(l_m));
double tmp;
if (t_m <= 7.8e-159) {
tmp = (2.0 / (t_m * pow(k, 2.0))) * ((pow(l_m, 2.0) * cos(k)) / pow(sin(k), 2.0));
} else if (t_m <= 1.45e-14) {
tmp = 2.0 / (pow(((t_m / cbrt(l_m)) / (1.0 / cbrt((sin(k) / l_m)))), 3.0) * t_3);
} else if (t_m <= 5e+102) {
tmp = ((2.0 / (sin(k) * (tan(k) * pow(t_m, 3.0)))) / (t_2 / l_m)) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * pow(((t_m / (t_4 * t_4)) / (cbrt(l_m) / cbrt(sin(k)))), 3.0));
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = Math.hypot(1.0, Math.hypot(1.0, (k / t_m)));
double t_3 = Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0));
double t_4 = Math.cbrt(Math.sqrt(l_m));
double tmp;
if (t_m <= 7.8e-159) {
tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.pow(l_m, 2.0) * Math.cos(k)) / Math.pow(Math.sin(k), 2.0));
} else if (t_m <= 1.45e-14) {
tmp = 2.0 / (Math.pow(((t_m / Math.cbrt(l_m)) / (1.0 / Math.cbrt((Math.sin(k) / l_m)))), 3.0) * t_3);
} else if (t_m <= 5e+102) {
tmp = ((2.0 / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) / (t_2 / l_m)) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * Math.pow(((t_m / (t_4 * t_4)) / (Math.cbrt(l_m) / Math.cbrt(Math.sin(k)))), 3.0));
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = hypot(1.0, hypot(1.0, Float64(k / t_m))) t_3 = Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) t_4 = cbrt(sqrt(l_m)) tmp = 0.0 if (t_m <= 7.8e-159) tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64((l_m ^ 2.0) * cos(k)) / (sin(k) ^ 2.0))); elseif (t_m <= 1.45e-14) tmp = Float64(2.0 / Float64((Float64(Float64(t_m / cbrt(l_m)) / Float64(1.0 / cbrt(Float64(sin(k) / l_m)))) ^ 3.0) * t_3)); elseif (t_m <= 5e+102) tmp = Float64(Float64(Float64(2.0 / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) / Float64(t_2 / l_m)) * Float64(l_m / t_2)); else tmp = Float64(2.0 / Float64(t_3 * (Float64(Float64(t_m / Float64(t_4 * t_4)) / Float64(cbrt(l_m) / cbrt(sin(k)))) ^ 3.0))); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[Sqrt[1.0 ^ 2 + N[Sqrt[1.0 ^ 2 + N[(k / t$95$m), $MachinePrecision] ^ 2], $MachinePrecision] ^ 2], $MachinePrecision]}, Block[{t$95$3 = N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[Power[N[Sqrt[l$95$m], $MachinePrecision], 1/3], $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 7.8e-159], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[l$95$m, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 1.45e-14], N[(2.0 / N[(N[Power[N[(N[(t$95$m / N[Power[l$95$m, 1/3], $MachinePrecision]), $MachinePrecision] / N[(1.0 / N[Power[N[(N[Sin[k], $MachinePrecision] / l$95$m), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * t$95$3), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5e+102], N[(N[(N[(2.0 / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$2 / l$95$m), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$3 * N[Power[N[(N[(t$95$m / N[(t$95$4 * t$95$4), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l$95$m, 1/3], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]]]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := \mathsf{hypot}\left(1, \mathsf{hypot}\left(1, \frac{k}{t_m}\right)\right)\\
t_3 := \tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\
t_4 := \sqrt[3]{\sqrt{l_m}}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 7.8 \cdot 10^{-159}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{{l_m}^{2} \cdot \cos k}{{\sin k}^{2}}\\
\mathbf{elif}\;t_m \leq 1.45 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{{\left(\frac{\frac{t_m}{\sqrt[3]{l_m}}}{\frac{1}{\sqrt[3]{\frac{\sin k}{l_m}}}}\right)}^{3} \cdot t_3}\\
\mathbf{elif}\;t_m \leq 5 \cdot 10^{+102}:\\
\;\;\;\;\frac{\frac{2}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)}}{\frac{t_2}{l_m}} \cdot \frac{l_m}{t_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_3 \cdot {\left(\frac{\frac{t_m}{t_4 \cdot t_4}}{\frac{\sqrt[3]{l_m}}{\sqrt[3]{\sin k}}}\right)}^{3}}\\
\end{array}
\end{array}
\end{array}
if t < 7.79999999999999953e-159Initial program 47.3%
Simplified47.8%
Taylor expanded in k around inf 62.1%
associate-*r/62.1%
associate-*r*62.1%
times-frac62.8%
Simplified62.8%
if 7.79999999999999953e-159 < t < 1.4500000000000001e-14Initial program 69.2%
associate-*l*69.2%
*-commutative69.2%
*-commutative69.2%
associate-/r*69.4%
distribute-rgt-in69.4%
unpow269.4%
times-frac69.5%
sqr-neg69.5%
times-frac69.4%
unpow269.4%
distribute-rgt-in69.4%
+-commutative69.4%
Simplified69.4%
associate-*l/72.7%
Applied egg-rr72.7%
add-cube-cbrt72.7%
pow372.7%
associate-/l*72.8%
cbrt-div72.7%
cbrt-div72.5%
unpow372.5%
add-cbrt-cube92.3%
Applied egg-rr92.3%
clear-num92.3%
cbrt-div92.2%
metadata-eval92.2%
Applied egg-rr92.2%
if 1.4500000000000001e-14 < t < 5e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
add-sqr-sqrt84.1%
times-frac88.0%
metadata-eval88.0%
associate-+r+88.0%
add-sqr-sqrt88.0%
hypot-1-def88.0%
unpow288.0%
hypot-1-def88.0%
Applied egg-rr91.8%
associate-/l*91.8%
associate-*r*91.8%
Simplified91.8%
if 5e102 < t Initial program 52.0%
associate-*l*52.0%
*-commutative52.0%
*-commutative52.0%
associate-/r*61.4%
distribute-rgt-in61.4%
unpow261.4%
times-frac49.8%
sqr-neg49.8%
times-frac61.4%
unpow261.4%
distribute-rgt-in61.4%
+-commutative61.4%
Simplified61.4%
associate-*l/61.4%
Applied egg-rr61.4%
add-cube-cbrt61.4%
pow361.4%
associate-/l*61.1%
cbrt-div61.1%
cbrt-div61.1%
unpow361.1%
add-cbrt-cube86.1%
Applied egg-rr86.1%
cbrt-div91.3%
Applied egg-rr91.3%
pow1/344.8%
add-sqr-sqrt44.8%
unpow-prod-down44.8%
Applied egg-rr44.8%
unpow1/344.9%
unpow1/345.5%
Simplified45.5%
Final simplification66.6%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (pow (/ k t_m) 2.0))
(t_3
(*
(* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l_m l_m))))
(+ 1.0 (+ 1.0 t_2)))))
(*
t_s
(if (<= t_3 5e+293)
(/
2.0
(*
(* (tan k) (+ 2.0 t_2))
(* (sin k) (* (/ (pow t_m 2.0) l_m) (/ t_m l_m)))))
(if (<= t_3 INFINITY)
(/ 2.0 (pow (* (pow t_m 1.5) (/ k (/ l_m (sqrt 2.0)))) 2.0))
(*
2.0
(pow (* (/ k (/ l_m (sin k))) (sqrt (/ t_m (cos k)))) -2.0)))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = pow((k / t_m), 2.0);
double t_3 = (tan(k) * (sin(k) * (pow(t_m, 3.0) / (l_m * l_m)))) * (1.0 + (1.0 + t_2));
double tmp;
if (t_3 <= 5e+293) {
tmp = 2.0 / ((tan(k) * (2.0 + t_2)) * (sin(k) * ((pow(t_m, 2.0) / l_m) * (t_m / l_m))));
} else if (t_3 <= ((double) INFINITY)) {
tmp = 2.0 / pow((pow(t_m, 1.5) * (k / (l_m / sqrt(2.0)))), 2.0);
} else {
tmp = 2.0 * pow(((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))), -2.0);
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = Math.pow((k / t_m), 2.0);
double t_3 = (Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l_m * l_m)))) * (1.0 + (1.0 + t_2));
double tmp;
if (t_3 <= 5e+293) {
tmp = 2.0 / ((Math.tan(k) * (2.0 + t_2)) * (Math.sin(k) * ((Math.pow(t_m, 2.0) / l_m) * (t_m / l_m))));
} else if (t_3 <= Double.POSITIVE_INFINITY) {
tmp = 2.0 / Math.pow((Math.pow(t_m, 1.5) * (k / (l_m / Math.sqrt(2.0)))), 2.0);
} else {
tmp = 2.0 * Math.pow(((k / (l_m / Math.sin(k))) * Math.sqrt((t_m / Math.cos(k)))), -2.0);
}
return t_s * tmp;
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): t_2 = math.pow((k / t_m), 2.0) t_3 = (math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l_m * l_m)))) * (1.0 + (1.0 + t_2)) tmp = 0 if t_3 <= 5e+293: tmp = 2.0 / ((math.tan(k) * (2.0 + t_2)) * (math.sin(k) * ((math.pow(t_m, 2.0) / l_m) * (t_m / l_m)))) elif t_3 <= math.inf: tmp = 2.0 / math.pow((math.pow(t_m, 1.5) * (k / (l_m / math.sqrt(2.0)))), 2.0) else: tmp = 2.0 * math.pow(((k / (l_m / math.sin(k))) * math.sqrt((t_m / math.cos(k)))), -2.0) return t_s * tmp
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = Float64(k / t_m) ^ 2.0 t_3 = Float64(Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l_m * l_m)))) * Float64(1.0 + Float64(1.0 + t_2))) tmp = 0.0 if (t_3 <= 5e+293) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + t_2)) * Float64(sin(k) * Float64(Float64((t_m ^ 2.0) / l_m) * Float64(t_m / l_m))))); elseif (t_3 <= Inf) tmp = Float64(2.0 / (Float64((t_m ^ 1.5) * Float64(k / Float64(l_m / sqrt(2.0)))) ^ 2.0)); else tmp = Float64(2.0 * (Float64(Float64(k / Float64(l_m / sin(k))) * sqrt(Float64(t_m / cos(k)))) ^ -2.0)); end return Float64(t_s * tmp) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l_m, k) t_2 = (k / t_m) ^ 2.0; t_3 = (tan(k) * (sin(k) * ((t_m ^ 3.0) / (l_m * l_m)))) * (1.0 + (1.0 + t_2)); tmp = 0.0; if (t_3 <= 5e+293) tmp = 2.0 / ((tan(k) * (2.0 + t_2)) * (sin(k) * (((t_m ^ 2.0) / l_m) * (t_m / l_m)))); elseif (t_3 <= Inf) tmp = 2.0 / (((t_m ^ 1.5) * (k / (l_m / sqrt(2.0)))) ^ 2.0); else tmp = 2.0 * (((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))) ^ -2.0); end tmp_2 = t_s * tmp; end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l$95$m * l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$3, 5e+293], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + t$95$2), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(N[Power[t$95$m, 2.0], $MachinePrecision] / l$95$m), $MachinePrecision] * N[(t$95$m / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$3, Infinity], N[(2.0 / N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] * N[(k / N[(l$95$m / N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 * N[Power[N[(N[(k / N[(l$95$m / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\frac{k}{t_m}\right)}^{2}\\
t_3 := \left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{l_m \cdot l_m}\right)\right) \cdot \left(1 + \left(1 + t_2\right)\right)\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_3 \leq 5 \cdot 10^{+293}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + t_2\right)\right) \cdot \left(\sin k \cdot \left(\frac{{t_m}^{2}}{l_m} \cdot \frac{t_m}{l_m}\right)\right)}\\
\mathbf{elif}\;t_3 \leq \infty:\\
\;\;\;\;\frac{2}{{\left({t_m}^{1.5} \cdot \frac{k}{\frac{l_m}{\sqrt{2}}}\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot {\left(\frac{k}{\frac{l_m}{\sin k}} \cdot \sqrt{\frac{t_m}{\cos k}}\right)}^{-2}\\
\end{array}
\end{array}
\end{array}
if (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) < 5.00000000000000033e293Initial program 79.8%
associate-*l*79.8%
*-commutative79.8%
*-commutative79.8%
associate-/r*86.2%
distribute-rgt-in86.2%
unpow286.2%
times-frac70.3%
sqr-neg70.3%
times-frac86.2%
unpow286.2%
distribute-rgt-in86.2%
+-commutative86.2%
Simplified86.2%
associate-/r*79.8%
unpow379.8%
times-frac89.3%
pow289.3%
Applied egg-rr89.3%
if 5.00000000000000033e293 < (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) < +inf.0Initial program 76.9%
associate-*l*76.9%
*-commutative76.9%
*-commutative76.9%
associate-/r*76.9%
distribute-rgt-in76.9%
unpow276.9%
times-frac61.8%
sqr-neg61.8%
times-frac76.9%
unpow276.9%
distribute-rgt-in76.9%
+-commutative76.9%
Simplified76.9%
add-sqr-sqrt76.9%
pow276.9%
Applied egg-rr84.4%
associate-*r*84.4%
Simplified84.4%
Taylor expanded in k around 0 56.8%
*-commutative56.8%
associate-/l*56.7%
Simplified56.7%
Taylor expanded in k around 0 56.8%
associate-*l/56.7%
*-commutative56.7%
metadata-eval56.7%
pow-sqr56.8%
rem-sqrt-square65.7%
unpow165.7%
sqr-pow65.5%
fabs-sqr65.5%
sqr-pow65.7%
unpow165.7%
associate-/r/65.7%
Simplified65.7%
if +inf.0 < (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) Initial program 0.0%
associate-*l*0.0%
*-commutative0.0%
*-commutative0.0%
associate-/r*7.1%
distribute-rgt-in7.1%
unpow27.1%
times-frac5.8%
sqr-neg5.8%
times-frac7.1%
unpow27.1%
distribute-rgt-in7.1%
+-commutative7.1%
Simplified7.1%
add-sqr-sqrt4.1%
pow24.1%
Applied egg-rr9.4%
associate-*r*9.4%
Simplified9.4%
Taylor expanded in k around inf 50.9%
associate-*l/48.0%
Simplified48.0%
expm1-log1p-u47.3%
expm1-udef36.4%
div-inv36.4%
pow-flip36.4%
associate-/l*36.1%
metadata-eval36.1%
Applied egg-rr36.1%
expm1-def49.4%
expm1-log1p50.0%
associate-/r/51.1%
associate-/l*51.2%
Simplified51.2%
Final simplification71.9%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (hypot 1.0 (hypot 1.0 (/ k t_m))))
(t_3 (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0))))
(t_4 (/ t_m (cbrt l_m))))
(*
t_s
(if (<= t_m 5.9e-161)
(*
(/ 2.0 (* t_m (pow k 2.0)))
(/ (* (pow l_m 2.0) (cos k)) (pow (sin k) 2.0)))
(if (<= t_m 7.5e-14)
(/ 2.0 (* (pow (/ t_4 (/ 1.0 (cbrt (/ (sin k) l_m)))) 3.0) t_3))
(if (<= t_m 5.6e+102)
(*
(/ (/ 2.0 (* (sin k) (* (tan k) (pow t_m 3.0)))) (/ t_2 l_m))
(/ l_m t_2))
(/ 2.0 (* t_3 (pow (/ t_4 (/ (cbrt l_m) (cbrt (sin k)))) 3.0)))))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = hypot(1.0, hypot(1.0, (k / t_m)));
double t_3 = tan(k) * (2.0 + pow((k / t_m), 2.0));
double t_4 = t_m / cbrt(l_m);
double tmp;
if (t_m <= 5.9e-161) {
tmp = (2.0 / (t_m * pow(k, 2.0))) * ((pow(l_m, 2.0) * cos(k)) / pow(sin(k), 2.0));
} else if (t_m <= 7.5e-14) {
tmp = 2.0 / (pow((t_4 / (1.0 / cbrt((sin(k) / l_m)))), 3.0) * t_3);
} else if (t_m <= 5.6e+102) {
tmp = ((2.0 / (sin(k) * (tan(k) * pow(t_m, 3.0)))) / (t_2 / l_m)) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * pow((t_4 / (cbrt(l_m) / cbrt(sin(k)))), 3.0));
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = Math.hypot(1.0, Math.hypot(1.0, (k / t_m)));
double t_3 = Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0));
double t_4 = t_m / Math.cbrt(l_m);
double tmp;
if (t_m <= 5.9e-161) {
tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.pow(l_m, 2.0) * Math.cos(k)) / Math.pow(Math.sin(k), 2.0));
} else if (t_m <= 7.5e-14) {
tmp = 2.0 / (Math.pow((t_4 / (1.0 / Math.cbrt((Math.sin(k) / l_m)))), 3.0) * t_3);
} else if (t_m <= 5.6e+102) {
tmp = ((2.0 / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) / (t_2 / l_m)) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * Math.pow((t_4 / (Math.cbrt(l_m) / Math.cbrt(Math.sin(k)))), 3.0));
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = hypot(1.0, hypot(1.0, Float64(k / t_m))) t_3 = Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) t_4 = Float64(t_m / cbrt(l_m)) tmp = 0.0 if (t_m <= 5.9e-161) tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64((l_m ^ 2.0) * cos(k)) / (sin(k) ^ 2.0))); elseif (t_m <= 7.5e-14) tmp = Float64(2.0 / Float64((Float64(t_4 / Float64(1.0 / cbrt(Float64(sin(k) / l_m)))) ^ 3.0) * t_3)); elseif (t_m <= 5.6e+102) tmp = Float64(Float64(Float64(2.0 / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) / Float64(t_2 / l_m)) * Float64(l_m / t_2)); else tmp = Float64(2.0 / Float64(t_3 * (Float64(t_4 / Float64(cbrt(l_m) / cbrt(sin(k)))) ^ 3.0))); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[Sqrt[1.0 ^ 2 + N[Sqrt[1.0 ^ 2 + N[(k / t$95$m), $MachinePrecision] ^ 2], $MachinePrecision] ^ 2], $MachinePrecision]}, Block[{t$95$3 = N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(t$95$m / N[Power[l$95$m, 1/3], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 5.9e-161], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[l$95$m, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 7.5e-14], N[(2.0 / N[(N[Power[N[(t$95$4 / N[(1.0 / N[Power[N[(N[Sin[k], $MachinePrecision] / l$95$m), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * t$95$3), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.6e+102], N[(N[(N[(2.0 / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t$95$2 / l$95$m), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$3 * N[Power[N[(t$95$4 / N[(N[Power[l$95$m, 1/3], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]]]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := \mathsf{hypot}\left(1, \mathsf{hypot}\left(1, \frac{k}{t_m}\right)\right)\\
t_3 := \tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\\
t_4 := \frac{t_m}{\sqrt[3]{l_m}}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 5.9 \cdot 10^{-161}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{{l_m}^{2} \cdot \cos k}{{\sin k}^{2}}\\
\mathbf{elif}\;t_m \leq 7.5 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{{\left(\frac{t_4}{\frac{1}{\sqrt[3]{\frac{\sin k}{l_m}}}}\right)}^{3} \cdot t_3}\\
\mathbf{elif}\;t_m \leq 5.6 \cdot 10^{+102}:\\
\;\;\;\;\frac{\frac{2}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)}}{\frac{t_2}{l_m}} \cdot \frac{l_m}{t_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_3 \cdot {\left(\frac{t_4}{\frac{\sqrt[3]{l_m}}{\sqrt[3]{\sin k}}}\right)}^{3}}\\
\end{array}
\end{array}
\end{array}
if t < 5.9000000000000002e-161Initial program 47.3%
Simplified47.8%
Taylor expanded in k around inf 62.1%
associate-*r/62.1%
associate-*r*62.1%
times-frac62.8%
Simplified62.8%
if 5.9000000000000002e-161 < t < 7.4999999999999996e-14Initial program 69.2%
associate-*l*69.2%
*-commutative69.2%
*-commutative69.2%
associate-/r*69.4%
distribute-rgt-in69.4%
unpow269.4%
times-frac69.5%
sqr-neg69.5%
times-frac69.4%
unpow269.4%
distribute-rgt-in69.4%
+-commutative69.4%
Simplified69.4%
associate-*l/72.7%
Applied egg-rr72.7%
add-cube-cbrt72.7%
pow372.7%
associate-/l*72.8%
cbrt-div72.7%
cbrt-div72.5%
unpow372.5%
add-cbrt-cube92.3%
Applied egg-rr92.3%
clear-num92.3%
cbrt-div92.2%
metadata-eval92.2%
Applied egg-rr92.2%
if 7.4999999999999996e-14 < t < 5.60000000000000037e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
add-sqr-sqrt84.1%
times-frac88.0%
metadata-eval88.0%
associate-+r+88.0%
add-sqr-sqrt88.0%
hypot-1-def88.0%
unpow288.0%
hypot-1-def88.0%
Applied egg-rr91.8%
associate-/l*91.8%
associate-*r*91.8%
Simplified91.8%
if 5.60000000000000037e102 < t Initial program 52.0%
associate-*l*52.0%
*-commutative52.0%
*-commutative52.0%
associate-/r*61.4%
distribute-rgt-in61.4%
unpow261.4%
times-frac49.8%
sqr-neg49.8%
times-frac61.4%
unpow261.4%
distribute-rgt-in61.4%
+-commutative61.4%
Simplified61.4%
associate-*l/61.4%
Applied egg-rr61.4%
add-cube-cbrt61.4%
pow361.4%
associate-/l*61.1%
cbrt-div61.1%
cbrt-div61.1%
unpow361.1%
add-cbrt-cube86.1%
Applied egg-rr86.1%
cbrt-div91.3%
Applied egg-rr91.3%
Final simplification72.9%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (+ 2.0 (pow (/ k t_m) 2.0)))
(t_3 (* (tan k) t_2))
(t_4 (/ t_m (cbrt l_m))))
(*
t_s
(if (<= t_m 7.6e-159)
(*
(/ 2.0 (* t_m (pow k 2.0)))
(/ (* (pow l_m 2.0) (cos k)) (pow (sin k) 2.0)))
(if (<= t_m 1.55e-14)
(/ 2.0 (* (pow (/ t_4 (/ 1.0 (cbrt (/ (sin k) l_m)))) 3.0) t_3))
(if (<= t_m 3.65e+102)
(* (/ (* 2.0 l_m) (* (sin k) (* (tan k) (pow t_m 3.0)))) (/ l_m t_2))
(/ 2.0 (* t_3 (pow (/ t_4 (/ (cbrt l_m) (cbrt (sin k)))) 3.0)))))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + pow((k / t_m), 2.0);
double t_3 = tan(k) * t_2;
double t_4 = t_m / cbrt(l_m);
double tmp;
if (t_m <= 7.6e-159) {
tmp = (2.0 / (t_m * pow(k, 2.0))) * ((pow(l_m, 2.0) * cos(k)) / pow(sin(k), 2.0));
} else if (t_m <= 1.55e-14) {
tmp = 2.0 / (pow((t_4 / (1.0 / cbrt((sin(k) / l_m)))), 3.0) * t_3);
} else if (t_m <= 3.65e+102) {
tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * pow((t_4 / (cbrt(l_m) / cbrt(sin(k)))), 3.0));
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + Math.pow((k / t_m), 2.0);
double t_3 = Math.tan(k) * t_2;
double t_4 = t_m / Math.cbrt(l_m);
double tmp;
if (t_m <= 7.6e-159) {
tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.pow(l_m, 2.0) * Math.cos(k)) / Math.pow(Math.sin(k), 2.0));
} else if (t_m <= 1.55e-14) {
tmp = 2.0 / (Math.pow((t_4 / (1.0 / Math.cbrt((Math.sin(k) / l_m)))), 3.0) * t_3);
} else if (t_m <= 3.65e+102) {
tmp = ((2.0 * l_m) / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * Math.pow((t_4 / (Math.cbrt(l_m) / Math.cbrt(Math.sin(k)))), 3.0));
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = Float64(2.0 + (Float64(k / t_m) ^ 2.0)) t_3 = Float64(tan(k) * t_2) t_4 = Float64(t_m / cbrt(l_m)) tmp = 0.0 if (t_m <= 7.6e-159) tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64((l_m ^ 2.0) * cos(k)) / (sin(k) ^ 2.0))); elseif (t_m <= 1.55e-14) tmp = Float64(2.0 / Float64((Float64(t_4 / Float64(1.0 / cbrt(Float64(sin(k) / l_m)))) ^ 3.0) * t_3)); elseif (t_m <= 3.65e+102) tmp = Float64(Float64(Float64(2.0 * l_m) / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) * Float64(l_m / t_2)); else tmp = Float64(2.0 / Float64(t_3 * (Float64(t_4 / Float64(cbrt(l_m) / cbrt(sin(k)))) ^ 3.0))); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision]}, Block[{t$95$4 = N[(t$95$m / N[Power[l$95$m, 1/3], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 7.6e-159], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[l$95$m, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 1.55e-14], N[(2.0 / N[(N[Power[N[(t$95$4 / N[(1.0 / N[Power[N[(N[Sin[k], $MachinePrecision] / l$95$m), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * t$95$3), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 3.65e+102], N[(N[(N[(2.0 * l$95$m), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$3 * N[Power[N[(t$95$4 / N[(N[Power[l$95$m, 1/3], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]]]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_3 := \tan k \cdot t_2\\
t_4 := \frac{t_m}{\sqrt[3]{l_m}}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 7.6 \cdot 10^{-159}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{{l_m}^{2} \cdot \cos k}{{\sin k}^{2}}\\
\mathbf{elif}\;t_m \leq 1.55 \cdot 10^{-14}:\\
\;\;\;\;\frac{2}{{\left(\frac{t_4}{\frac{1}{\sqrt[3]{\frac{\sin k}{l_m}}}}\right)}^{3} \cdot t_3}\\
\mathbf{elif}\;t_m \leq 3.65 \cdot 10^{+102}:\\
\;\;\;\;\frac{2 \cdot l_m}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)} \cdot \frac{l_m}{t_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_3 \cdot {\left(\frac{t_4}{\frac{\sqrt[3]{l_m}}{\sqrt[3]{\sin k}}}\right)}^{3}}\\
\end{array}
\end{array}
\end{array}
if t < 7.6000000000000002e-159Initial program 47.3%
Simplified47.8%
Taylor expanded in k around inf 62.1%
associate-*r/62.1%
associate-*r*62.1%
times-frac62.8%
Simplified62.8%
if 7.6000000000000002e-159 < t < 1.55000000000000002e-14Initial program 69.2%
associate-*l*69.2%
*-commutative69.2%
*-commutative69.2%
associate-/r*69.4%
distribute-rgt-in69.4%
unpow269.4%
times-frac69.5%
sqr-neg69.5%
times-frac69.4%
unpow269.4%
distribute-rgt-in69.4%
+-commutative69.4%
Simplified69.4%
associate-*l/72.7%
Applied egg-rr72.7%
add-cube-cbrt72.7%
pow372.7%
associate-/l*72.8%
cbrt-div72.7%
cbrt-div72.5%
unpow372.5%
add-cbrt-cube92.3%
Applied egg-rr92.3%
clear-num92.3%
cbrt-div92.2%
metadata-eval92.2%
Applied egg-rr92.2%
if 1.55000000000000002e-14 < t < 3.64999999999999995e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
*-un-lft-identity84.0%
times-frac87.9%
Applied egg-rr87.9%
/-rgt-identity87.9%
associate-*l/89.7%
associate-*r*89.7%
Simplified89.7%
if 3.64999999999999995e102 < t Initial program 52.0%
associate-*l*52.0%
*-commutative52.0%
*-commutative52.0%
associate-/r*61.4%
distribute-rgt-in61.4%
unpow261.4%
times-frac49.8%
sqr-neg49.8%
times-frac61.4%
unpow261.4%
distribute-rgt-in61.4%
+-commutative61.4%
Simplified61.4%
associate-*l/61.4%
Applied egg-rr61.4%
add-cube-cbrt61.4%
pow361.4%
associate-/l*61.1%
cbrt-div61.1%
cbrt-div61.1%
unpow361.1%
add-cbrt-cube86.1%
Applied egg-rr86.1%
cbrt-div91.3%
Applied egg-rr91.3%
Final simplification72.7%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (+ 2.0 (pow (/ k t_m) 2.0))))
(*
t_s
(if (<= t_m 1.1e-158)
(*
(/ 2.0 (* t_m (pow k 2.0)))
(/ (* (pow l_m 2.0) (cos k)) (pow (sin k) 2.0)))
(if (or (<= t_m 1.06e-13) (not (<= t_m 4.5e+102)))
(/
2.0
(*
(pow (/ (/ t_m (cbrt l_m)) (/ 1.0 (cbrt (/ (sin k) l_m)))) 3.0)
(* (tan k) t_2)))
(*
(/ (* 2.0 l_m) (* (sin k) (* (tan k) (pow t_m 3.0))))
(/ l_m t_2)))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + pow((k / t_m), 2.0);
double tmp;
if (t_m <= 1.1e-158) {
tmp = (2.0 / (t_m * pow(k, 2.0))) * ((pow(l_m, 2.0) * cos(k)) / pow(sin(k), 2.0));
} else if ((t_m <= 1.06e-13) || !(t_m <= 4.5e+102)) {
tmp = 2.0 / (pow(((t_m / cbrt(l_m)) / (1.0 / cbrt((sin(k) / l_m)))), 3.0) * (tan(k) * t_2));
} else {
tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * pow(t_m, 3.0)))) * (l_m / t_2);
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + Math.pow((k / t_m), 2.0);
double tmp;
if (t_m <= 1.1e-158) {
tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.pow(l_m, 2.0) * Math.cos(k)) / Math.pow(Math.sin(k), 2.0));
} else if ((t_m <= 1.06e-13) || !(t_m <= 4.5e+102)) {
tmp = 2.0 / (Math.pow(((t_m / Math.cbrt(l_m)) / (1.0 / Math.cbrt((Math.sin(k) / l_m)))), 3.0) * (Math.tan(k) * t_2));
} else {
tmp = ((2.0 * l_m) / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) * (l_m / t_2);
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = Float64(2.0 + (Float64(k / t_m) ^ 2.0)) tmp = 0.0 if (t_m <= 1.1e-158) tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64((l_m ^ 2.0) * cos(k)) / (sin(k) ^ 2.0))); elseif ((t_m <= 1.06e-13) || !(t_m <= 4.5e+102)) tmp = Float64(2.0 / Float64((Float64(Float64(t_m / cbrt(l_m)) / Float64(1.0 / cbrt(Float64(sin(k) / l_m)))) ^ 3.0) * Float64(tan(k) * t_2))); else tmp = Float64(Float64(Float64(2.0 * l_m) / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) * Float64(l_m / t_2)); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 1.1e-158], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[l$95$m, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t$95$m, 1.06e-13], N[Not[LessEqual[t$95$m, 4.5e+102]], $MachinePrecision]], N[(2.0 / N[(N[Power[N[(N[(t$95$m / N[Power[l$95$m, 1/3], $MachinePrecision]), $MachinePrecision] / N[(1.0 / N[Power[N[(N[Sin[k], $MachinePrecision] / l$95$m), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(2.0 * l$95$m), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.1 \cdot 10^{-158}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{{l_m}^{2} \cdot \cos k}{{\sin k}^{2}}\\
\mathbf{elif}\;t_m \leq 1.06 \cdot 10^{-13} \lor \neg \left(t_m \leq 4.5 \cdot 10^{+102}\right):\\
\;\;\;\;\frac{2}{{\left(\frac{\frac{t_m}{\sqrt[3]{l_m}}}{\frac{1}{\sqrt[3]{\frac{\sin k}{l_m}}}}\right)}^{3} \cdot \left(\tan k \cdot t_2\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot l_m}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)} \cdot \frac{l_m}{t_2}\\
\end{array}
\end{array}
\end{array}
if t < 1.1000000000000001e-158Initial program 47.3%
Simplified47.8%
Taylor expanded in k around inf 62.1%
associate-*r/62.1%
associate-*r*62.1%
times-frac62.8%
Simplified62.8%
if 1.1000000000000001e-158 < t < 1.06e-13 or 4.50000000000000021e102 < t Initial program 59.8%
associate-*l*59.8%
*-commutative59.8%
*-commutative59.8%
associate-/r*65.0%
distribute-rgt-in65.0%
unpow265.0%
times-frac58.7%
sqr-neg58.7%
times-frac65.0%
unpow265.0%
distribute-rgt-in65.0%
+-commutative65.0%
Simplified65.0%
associate-*l/66.5%
Applied egg-rr66.5%
add-cube-cbrt66.5%
pow366.5%
associate-/l*66.4%
cbrt-div66.3%
cbrt-div66.3%
unpow366.3%
add-cbrt-cube88.9%
Applied egg-rr88.9%
clear-num88.9%
cbrt-div88.9%
metadata-eval88.9%
Applied egg-rr88.9%
if 1.06e-13 < t < 4.50000000000000021e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
*-un-lft-identity84.0%
times-frac87.9%
Applied egg-rr87.9%
/-rgt-identity87.9%
associate-*l/89.7%
associate-*r*89.7%
Simplified89.7%
Final simplification72.0%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (+ 2.0 (pow (/ k t_m) 2.0))))
(*
t_s
(if (<= t_m 7.8e-159)
(*
(/ 2.0 (* t_m (pow k 2.0)))
(/ (* (pow l_m 2.0) (cos k)) (pow (sin k) 2.0)))
(if (or (<= t_m 5.8e-12) (not (<= t_m 3.7e+102)))
(/
2.0
(*
(* (tan k) t_2)
(pow (/ (/ t_m (cbrt l_m)) (cbrt (/ l_m (sin k)))) 3.0)))
(*
(/ (* 2.0 l_m) (* (sin k) (* (tan k) (pow t_m 3.0))))
(/ l_m t_2)))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + pow((k / t_m), 2.0);
double tmp;
if (t_m <= 7.8e-159) {
tmp = (2.0 / (t_m * pow(k, 2.0))) * ((pow(l_m, 2.0) * cos(k)) / pow(sin(k), 2.0));
} else if ((t_m <= 5.8e-12) || !(t_m <= 3.7e+102)) {
tmp = 2.0 / ((tan(k) * t_2) * pow(((t_m / cbrt(l_m)) / cbrt((l_m / sin(k)))), 3.0));
} else {
tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * pow(t_m, 3.0)))) * (l_m / t_2);
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + Math.pow((k / t_m), 2.0);
double tmp;
if (t_m <= 7.8e-159) {
tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.pow(l_m, 2.0) * Math.cos(k)) / Math.pow(Math.sin(k), 2.0));
} else if ((t_m <= 5.8e-12) || !(t_m <= 3.7e+102)) {
tmp = 2.0 / ((Math.tan(k) * t_2) * Math.pow(((t_m / Math.cbrt(l_m)) / Math.cbrt((l_m / Math.sin(k)))), 3.0));
} else {
tmp = ((2.0 * l_m) / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) * (l_m / t_2);
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = Float64(2.0 + (Float64(k / t_m) ^ 2.0)) tmp = 0.0 if (t_m <= 7.8e-159) tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64((l_m ^ 2.0) * cos(k)) / (sin(k) ^ 2.0))); elseif ((t_m <= 5.8e-12) || !(t_m <= 3.7e+102)) tmp = Float64(2.0 / Float64(Float64(tan(k) * t_2) * (Float64(Float64(t_m / cbrt(l_m)) / cbrt(Float64(l_m / sin(k)))) ^ 3.0))); else tmp = Float64(Float64(Float64(2.0 * l_m) / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) * Float64(l_m / t_2)); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 7.8e-159], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[l$95$m, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t$95$m, 5.8e-12], N[Not[LessEqual[t$95$m, 3.7e+102]], $MachinePrecision]], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision] * N[Power[N[(N[(t$95$m / N[Power[l$95$m, 1/3], $MachinePrecision]), $MachinePrecision] / N[Power[N[(l$95$m / N[Sin[k], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(2.0 * l$95$m), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 7.8 \cdot 10^{-159}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{{l_m}^{2} \cdot \cos k}{{\sin k}^{2}}\\
\mathbf{elif}\;t_m \leq 5.8 \cdot 10^{-12} \lor \neg \left(t_m \leq 3.7 \cdot 10^{+102}\right):\\
\;\;\;\;\frac{2}{\left(\tan k \cdot t_2\right) \cdot {\left(\frac{\frac{t_m}{\sqrt[3]{l_m}}}{\sqrt[3]{\frac{l_m}{\sin k}}}\right)}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot l_m}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)} \cdot \frac{l_m}{t_2}\\
\end{array}
\end{array}
\end{array}
if t < 7.79999999999999953e-159Initial program 47.3%
Simplified47.8%
Taylor expanded in k around inf 62.1%
associate-*r/62.1%
associate-*r*62.1%
times-frac62.8%
Simplified62.8%
if 7.79999999999999953e-159 < t < 5.8000000000000003e-12 or 3.70000000000000023e102 < t Initial program 59.8%
associate-*l*59.8%
*-commutative59.8%
*-commutative59.8%
associate-/r*65.0%
distribute-rgt-in65.0%
unpow265.0%
times-frac58.7%
sqr-neg58.7%
times-frac65.0%
unpow265.0%
distribute-rgt-in65.0%
+-commutative65.0%
Simplified65.0%
associate-*l/66.5%
Applied egg-rr66.5%
add-cube-cbrt66.5%
pow366.5%
associate-/l*66.4%
cbrt-div66.3%
cbrt-div66.3%
unpow366.3%
add-cbrt-cube88.9%
Applied egg-rr88.9%
if 5.8000000000000003e-12 < t < 3.70000000000000023e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
*-un-lft-identity84.0%
times-frac87.9%
Applied egg-rr87.9%
/-rgt-identity87.9%
associate-*l/89.7%
associate-*r*89.7%
Simplified89.7%
Final simplification72.0%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (+ 2.0 (pow (/ k t_m) 2.0))) (t_3 (* (tan k) t_2)))
(*
t_s
(if (<= t_m 1.85e-87)
(*
(/ 2.0 (* t_m (pow k 2.0)))
(/ (* (pow l_m 2.0) (cos k)) (pow (sin k) 2.0)))
(if (<= t_m 8.6e-13)
(/ 2.0 (* t_3 (/ (* (sin k) (/ (pow t_m 3.0) l_m)) l_m)))
(if (<= t_m 5.6e+102)
(* (/ (* 2.0 l_m) (* (sin k) (* (tan k) (pow t_m 3.0)))) (/ l_m t_2))
(/
2.0
(*
t_3
(* (sin k) (pow (/ (/ t_m (cbrt l_m)) (cbrt l_m)) 3.0))))))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + pow((k / t_m), 2.0);
double t_3 = tan(k) * t_2;
double tmp;
if (t_m <= 1.85e-87) {
tmp = (2.0 / (t_m * pow(k, 2.0))) * ((pow(l_m, 2.0) * cos(k)) / pow(sin(k), 2.0));
} else if (t_m <= 8.6e-13) {
tmp = 2.0 / (t_3 * ((sin(k) * (pow(t_m, 3.0) / l_m)) / l_m));
} else if (t_m <= 5.6e+102) {
tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * (sin(k) * pow(((t_m / cbrt(l_m)) / cbrt(l_m)), 3.0)));
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + Math.pow((k / t_m), 2.0);
double t_3 = Math.tan(k) * t_2;
double tmp;
if (t_m <= 1.85e-87) {
tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.pow(l_m, 2.0) * Math.cos(k)) / Math.pow(Math.sin(k), 2.0));
} else if (t_m <= 8.6e-13) {
tmp = 2.0 / (t_3 * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l_m)) / l_m));
} else if (t_m <= 5.6e+102) {
tmp = ((2.0 * l_m) / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * (Math.sin(k) * Math.pow(((t_m / Math.cbrt(l_m)) / Math.cbrt(l_m)), 3.0)));
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = Float64(2.0 + (Float64(k / t_m) ^ 2.0)) t_3 = Float64(tan(k) * t_2) tmp = 0.0 if (t_m <= 1.85e-87) tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64((l_m ^ 2.0) * cos(k)) / (sin(k) ^ 2.0))); elseif (t_m <= 8.6e-13) tmp = Float64(2.0 / Float64(t_3 * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l_m)) / l_m))); elseif (t_m <= 5.6e+102) tmp = Float64(Float64(Float64(2.0 * l_m) / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) * Float64(l_m / t_2)); else tmp = Float64(2.0 / Float64(t_3 * Float64(sin(k) * (Float64(Float64(t_m / cbrt(l_m)) / cbrt(l_m)) ^ 3.0)))); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 1.85e-87], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[l$95$m, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 8.6e-13], N[(2.0 / N[(t$95$3 * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.6e+102], N[(N[(N[(2.0 * l$95$m), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$3 * N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[(t$95$m / N[Power[l$95$m, 1/3], $MachinePrecision]), $MachinePrecision] / N[Power[l$95$m, 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_3 := \tan k \cdot t_2\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.85 \cdot 10^{-87}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{{l_m}^{2} \cdot \cos k}{{\sin k}^{2}}\\
\mathbf{elif}\;t_m \leq 8.6 \cdot 10^{-13}:\\
\;\;\;\;\frac{2}{t_3 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{l_m}}{l_m}}\\
\mathbf{elif}\;t_m \leq 5.6 \cdot 10^{+102}:\\
\;\;\;\;\frac{2 \cdot l_m}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)} \cdot \frac{l_m}{t_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_3 \cdot \left(\sin k \cdot {\left(\frac{\frac{t_m}{\sqrt[3]{l_m}}}{\sqrt[3]{l_m}}\right)}^{3}\right)}\\
\end{array}
\end{array}
\end{array}
if t < 1.8500000000000001e-87Initial program 48.4%
Simplified48.8%
Taylor expanded in k around inf 64.1%
associate-*r/64.1%
associate-*r*64.1%
times-frac64.7%
Simplified64.7%
if 1.8500000000000001e-87 < t < 8.5999999999999997e-13Initial program 79.1%
associate-*l*79.0%
*-commutative79.0%
*-commutative79.0%
associate-/r*79.0%
distribute-rgt-in79.0%
unpow279.0%
times-frac79.2%
sqr-neg79.2%
times-frac79.0%
unpow279.0%
distribute-rgt-in79.0%
+-commutative79.0%
Simplified79.0%
associate-*l/85.9%
Applied egg-rr85.9%
if 8.5999999999999997e-13 < t < 5.60000000000000037e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
*-un-lft-identity84.0%
times-frac87.9%
Applied egg-rr87.9%
/-rgt-identity87.9%
associate-*l/89.7%
associate-*r*89.7%
Simplified89.7%
if 5.60000000000000037e102 < t Initial program 52.0%
associate-*l*52.0%
*-commutative52.0%
*-commutative52.0%
associate-/r*61.4%
distribute-rgt-in61.4%
unpow261.4%
times-frac49.8%
sqr-neg49.8%
times-frac61.4%
unpow261.4%
distribute-rgt-in61.4%
+-commutative61.4%
Simplified61.4%
add-cube-cbrt61.4%
*-un-lft-identity61.4%
times-frac61.4%
pow261.4%
cbrt-div61.4%
rem-cbrt-cube61.4%
cbrt-div61.4%
rem-cbrt-cube83.3%
Applied egg-rr83.3%
add-cube-cbrt83.2%
pow383.2%
frac-times72.5%
unpow272.5%
*-un-lft-identity72.5%
cbrt-div72.5%
add-cbrt-cube83.2%
Applied egg-rr83.2%
Final simplification70.8%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (+ 2.0 (pow (/ k t_m) 2.0))) (t_3 (* (tan k) t_2)))
(*
t_s
(if (<= t_m 4.6e-87)
(*
(/ 2.0 (* t_m (pow k 2.0)))
(/ (* (pow l_m 2.0) (cos k)) (pow (sin k) 2.0)))
(if (<= t_m 7.6e-12)
(/ 2.0 (* t_3 (/ (* (sin k) (/ (pow t_m 3.0) l_m)) l_m)))
(if (<= t_m 2.12e+102)
(* (/ (* 2.0 l_m) (* (sin k) (* (tan k) (pow t_m 3.0)))) (/ l_m t_2))
(/
2.0
(*
t_3
(/ (pow (* (/ t_m (cbrt l_m)) (cbrt (sin k))) 3.0) l_m)))))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + pow((k / t_m), 2.0);
double t_3 = tan(k) * t_2;
double tmp;
if (t_m <= 4.6e-87) {
tmp = (2.0 / (t_m * pow(k, 2.0))) * ((pow(l_m, 2.0) * cos(k)) / pow(sin(k), 2.0));
} else if (t_m <= 7.6e-12) {
tmp = 2.0 / (t_3 * ((sin(k) * (pow(t_m, 3.0) / l_m)) / l_m));
} else if (t_m <= 2.12e+102) {
tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * (pow(((t_m / cbrt(l_m)) * cbrt(sin(k))), 3.0) / l_m));
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + Math.pow((k / t_m), 2.0);
double t_3 = Math.tan(k) * t_2;
double tmp;
if (t_m <= 4.6e-87) {
tmp = (2.0 / (t_m * Math.pow(k, 2.0))) * ((Math.pow(l_m, 2.0) * Math.cos(k)) / Math.pow(Math.sin(k), 2.0));
} else if (t_m <= 7.6e-12) {
tmp = 2.0 / (t_3 * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l_m)) / l_m));
} else if (t_m <= 2.12e+102) {
tmp = ((2.0 * l_m) / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / (t_3 * (Math.pow(((t_m / Math.cbrt(l_m)) * Math.cbrt(Math.sin(k))), 3.0) / l_m));
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = Float64(2.0 + (Float64(k / t_m) ^ 2.0)) t_3 = Float64(tan(k) * t_2) tmp = 0.0 if (t_m <= 4.6e-87) tmp = Float64(Float64(2.0 / Float64(t_m * (k ^ 2.0))) * Float64(Float64((l_m ^ 2.0) * cos(k)) / (sin(k) ^ 2.0))); elseif (t_m <= 7.6e-12) tmp = Float64(2.0 / Float64(t_3 * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l_m)) / l_m))); elseif (t_m <= 2.12e+102) tmp = Float64(Float64(Float64(2.0 * l_m) / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) * Float64(l_m / t_2)); else tmp = Float64(2.0 / Float64(t_3 * Float64((Float64(Float64(t_m / cbrt(l_m)) * cbrt(sin(k))) ^ 3.0) / l_m))); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 4.6e-87], N[(N[(2.0 / N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[l$95$m, 2.0], $MachinePrecision] * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 7.6e-12], N[(2.0 / N[(t$95$3 * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.12e+102], N[(N[(N[(2.0 * l$95$m), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$3 * N[(N[Power[N[(N[(t$95$m / N[Power[l$95$m, 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_3 := \tan k \cdot t_2\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 4.6 \cdot 10^{-87}:\\
\;\;\;\;\frac{2}{t_m \cdot {k}^{2}} \cdot \frac{{l_m}^{2} \cdot \cos k}{{\sin k}^{2}}\\
\mathbf{elif}\;t_m \leq 7.6 \cdot 10^{-12}:\\
\;\;\;\;\frac{2}{t_3 \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{l_m}}{l_m}}\\
\mathbf{elif}\;t_m \leq 2.12 \cdot 10^{+102}:\\
\;\;\;\;\frac{2 \cdot l_m}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)} \cdot \frac{l_m}{t_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_3 \cdot \frac{{\left(\frac{t_m}{\sqrt[3]{l_m}} \cdot \sqrt[3]{\sin k}\right)}^{3}}{l_m}}\\
\end{array}
\end{array}
\end{array}
if t < 4.6000000000000003e-87Initial program 48.4%
Simplified48.8%
Taylor expanded in k around inf 64.1%
associate-*r/64.1%
associate-*r*64.1%
times-frac64.7%
Simplified64.7%
if 4.6000000000000003e-87 < t < 7.59999999999999993e-12Initial program 79.1%
associate-*l*79.0%
*-commutative79.0%
*-commutative79.0%
associate-/r*79.0%
distribute-rgt-in79.0%
unpow279.0%
times-frac79.2%
sqr-neg79.2%
times-frac79.0%
unpow279.0%
distribute-rgt-in79.0%
+-commutative79.0%
Simplified79.0%
associate-*l/85.9%
Applied egg-rr85.9%
if 7.59999999999999993e-12 < t < 2.12000000000000003e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
*-un-lft-identity84.0%
times-frac87.9%
Applied egg-rr87.9%
/-rgt-identity87.9%
associate-*l/89.7%
associate-*r*89.7%
Simplified89.7%
if 2.12000000000000003e102 < t Initial program 52.0%
associate-*l*52.0%
*-commutative52.0%
*-commutative52.0%
associate-/r*61.4%
distribute-rgt-in61.4%
unpow261.4%
times-frac49.8%
sqr-neg49.8%
times-frac61.4%
unpow261.4%
distribute-rgt-in61.4%
+-commutative61.4%
Simplified61.4%
associate-*l/61.4%
Applied egg-rr61.4%
add-cube-cbrt61.4%
pow361.4%
cbrt-prod61.4%
cbrt-div61.4%
unpow361.4%
add-cbrt-cube83.3%
Applied egg-rr83.3%
Final simplification70.8%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (+ 2.0 (pow (/ k t_m) 2.0))))
(*
t_s
(if (<= t_m 3.8e-109)
(* 2.0 (pow (* (/ k (/ l_m (sin k))) (sqrt (/ t_m (cos k)))) -2.0))
(if (<= t_m 2.25e-13)
(/ 2.0 (* (* (tan k) t_2) (/ (/ k (/ l_m (pow t_m 3.0))) l_m)))
(if (<= t_m 5.6e+102)
(* (/ (* 2.0 l_m) (* (sin k) (* (tan k) (pow t_m 3.0)))) (/ l_m t_2))
(/ 2.0 (pow (/ (* k (pow t_m 1.5)) (/ l_m (sqrt 2.0))) 2.0))))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + pow((k / t_m), 2.0);
double tmp;
if (t_m <= 3.8e-109) {
tmp = 2.0 * pow(((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))), -2.0);
} else if (t_m <= 2.25e-13) {
tmp = 2.0 / ((tan(k) * t_2) * ((k / (l_m / pow(t_m, 3.0))) / l_m));
} else if (t_m <= 5.6e+102) {
tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / pow(((k * pow(t_m, 1.5)) / (l_m / sqrt(2.0))), 2.0);
}
return t_s * tmp;
}
l_m = abs(l)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l_m, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l_m
real(8), intent (in) :: k
real(8) :: t_2
real(8) :: tmp
t_2 = 2.0d0 + ((k / t_m) ** 2.0d0)
if (t_m <= 3.8d-109) then
tmp = 2.0d0 * (((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))) ** (-2.0d0))
else if (t_m <= 2.25d-13) then
tmp = 2.0d0 / ((tan(k) * t_2) * ((k / (l_m / (t_m ** 3.0d0))) / l_m))
else if (t_m <= 5.6d+102) then
tmp = ((2.0d0 * l_m) / (sin(k) * (tan(k) * (t_m ** 3.0d0)))) * (l_m / t_2)
else
tmp = 2.0d0 / (((k * (t_m ** 1.5d0)) / (l_m / sqrt(2.0d0))) ** 2.0d0)
end if
code = t_s * tmp
end function
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + Math.pow((k / t_m), 2.0);
double tmp;
if (t_m <= 3.8e-109) {
tmp = 2.0 * Math.pow(((k / (l_m / Math.sin(k))) * Math.sqrt((t_m / Math.cos(k)))), -2.0);
} else if (t_m <= 2.25e-13) {
tmp = 2.0 / ((Math.tan(k) * t_2) * ((k / (l_m / Math.pow(t_m, 3.0))) / l_m));
} else if (t_m <= 5.6e+102) {
tmp = ((2.0 * l_m) / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / Math.pow(((k * Math.pow(t_m, 1.5)) / (l_m / Math.sqrt(2.0))), 2.0);
}
return t_s * tmp;
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): t_2 = 2.0 + math.pow((k / t_m), 2.0) tmp = 0 if t_m <= 3.8e-109: tmp = 2.0 * math.pow(((k / (l_m / math.sin(k))) * math.sqrt((t_m / math.cos(k)))), -2.0) elif t_m <= 2.25e-13: tmp = 2.0 / ((math.tan(k) * t_2) * ((k / (l_m / math.pow(t_m, 3.0))) / l_m)) elif t_m <= 5.6e+102: tmp = ((2.0 * l_m) / (math.sin(k) * (math.tan(k) * math.pow(t_m, 3.0)))) * (l_m / t_2) else: tmp = 2.0 / math.pow(((k * math.pow(t_m, 1.5)) / (l_m / math.sqrt(2.0))), 2.0) return t_s * tmp
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = Float64(2.0 + (Float64(k / t_m) ^ 2.0)) tmp = 0.0 if (t_m <= 3.8e-109) tmp = Float64(2.0 * (Float64(Float64(k / Float64(l_m / sin(k))) * sqrt(Float64(t_m / cos(k)))) ^ -2.0)); elseif (t_m <= 2.25e-13) tmp = Float64(2.0 / Float64(Float64(tan(k) * t_2) * Float64(Float64(k / Float64(l_m / (t_m ^ 3.0))) / l_m))); elseif (t_m <= 5.6e+102) tmp = Float64(Float64(Float64(2.0 * l_m) / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) * Float64(l_m / t_2)); else tmp = Float64(2.0 / (Float64(Float64(k * (t_m ^ 1.5)) / Float64(l_m / sqrt(2.0))) ^ 2.0)); end return Float64(t_s * tmp) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l_m, k) t_2 = 2.0 + ((k / t_m) ^ 2.0); tmp = 0.0; if (t_m <= 3.8e-109) tmp = 2.0 * (((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))) ^ -2.0); elseif (t_m <= 2.25e-13) tmp = 2.0 / ((tan(k) * t_2) * ((k / (l_m / (t_m ^ 3.0))) / l_m)); elseif (t_m <= 5.6e+102) tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * (t_m ^ 3.0)))) * (l_m / t_2); else tmp = 2.0 / (((k * (t_m ^ 1.5)) / (l_m / sqrt(2.0))) ^ 2.0); end tmp_2 = t_s * tmp; end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 3.8e-109], N[(2.0 * N[Power[N[(N[(k / N[(l$95$m / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.25e-13], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision] * N[(N[(k / N[(l$95$m / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.6e+102], N[(N[(N[(2.0 * l$95$m), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(k * N[Power[t$95$m, 1.5], $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 3.8 \cdot 10^{-109}:\\
\;\;\;\;2 \cdot {\left(\frac{k}{\frac{l_m}{\sin k}} \cdot \sqrt{\frac{t_m}{\cos k}}\right)}^{-2}\\
\mathbf{elif}\;t_m \leq 2.25 \cdot 10^{-13}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot t_2\right) \cdot \frac{\frac{k}{\frac{l_m}{{t_m}^{3}}}}{l_m}}\\
\mathbf{elif}\;t_m \leq 5.6 \cdot 10^{+102}:\\
\;\;\;\;\frac{2 \cdot l_m}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)} \cdot \frac{l_m}{t_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{k \cdot {t_m}^{1.5}}{\frac{l_m}{\sqrt{2}}}\right)}^{2}}\\
\end{array}
\end{array}
\end{array}
if t < 3.80000000000000002e-109Initial program 47.5%
associate-*l*47.5%
*-commutative47.5%
*-commutative47.5%
associate-/r*53.2%
distribute-rgt-in53.2%
unpow253.2%
times-frac39.9%
sqr-neg39.9%
times-frac53.2%
unpow253.2%
distribute-rgt-in53.2%
+-commutative53.2%
Simplified53.2%
add-sqr-sqrt18.6%
pow218.6%
Applied egg-rr21.5%
associate-*r*21.5%
Simplified21.5%
Taylor expanded in k around inf 37.8%
associate-*l/37.4%
Simplified37.4%
expm1-log1p-u37.0%
expm1-udef30.9%
div-inv30.9%
pow-flip30.9%
associate-/l*30.8%
metadata-eval30.8%
Applied egg-rr30.8%
expm1-def37.0%
expm1-log1p37.4%
associate-/r/37.9%
associate-/l*37.9%
Simplified37.9%
if 3.80000000000000002e-109 < t < 2.25e-13Initial program 82.8%
associate-*l*82.7%
*-commutative82.7%
*-commutative82.7%
associate-/r*82.7%
distribute-rgt-in82.7%
unpow282.7%
times-frac82.9%
sqr-neg82.9%
times-frac82.7%
unpow282.7%
distribute-rgt-in82.7%
+-commutative82.7%
Simplified82.7%
associate-*l/88.4%
Applied egg-rr88.4%
Taylor expanded in k around 0 77.5%
associate-/l*82.9%
Simplified82.9%
if 2.25e-13 < t < 5.60000000000000037e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
*-un-lft-identity84.0%
times-frac87.9%
Applied egg-rr87.9%
/-rgt-identity87.9%
associate-*l/89.7%
associate-*r*89.7%
Simplified89.7%
if 5.60000000000000037e102 < t Initial program 52.0%
associate-*l*52.0%
*-commutative52.0%
*-commutative52.0%
associate-/r*61.4%
distribute-rgt-in61.4%
unpow261.4%
times-frac49.8%
sqr-neg49.8%
times-frac61.4%
unpow261.4%
distribute-rgt-in61.4%
+-commutative61.4%
Simplified61.4%
add-sqr-sqrt49.8%
pow249.8%
Applied egg-rr49.8%
associate-*r*49.8%
Simplified49.8%
Taylor expanded in k around 0 61.1%
*-commutative61.1%
associate-/l*61.1%
Simplified61.1%
associate-*r/61.4%
sqrt-pow186.3%
metadata-eval86.3%
Applied egg-rr86.3%
Final simplification52.6%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(let* ((t_2 (+ 2.0 (pow (/ k t_m) 2.0))))
(*
t_s
(if (<= t_m 3.8e-109)
(* 2.0 (pow (* (/ k (/ l_m (sin k))) (sqrt (/ t_m (cos k)))) -2.0))
(if (<= t_m 2.2e-13)
(/ 2.0 (* (* (tan k) t_2) (/ (* (sin k) (/ (pow t_m 3.0) l_m)) l_m)))
(if (<= t_m 5.6e+102)
(* (/ (* 2.0 l_m) (* (sin k) (* (tan k) (pow t_m 3.0)))) (/ l_m t_2))
(/ 2.0 (pow (/ (* k (pow t_m 1.5)) (/ l_m (sqrt 2.0))) 2.0))))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + pow((k / t_m), 2.0);
double tmp;
if (t_m <= 3.8e-109) {
tmp = 2.0 * pow(((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))), -2.0);
} else if (t_m <= 2.2e-13) {
tmp = 2.0 / ((tan(k) * t_2) * ((sin(k) * (pow(t_m, 3.0) / l_m)) / l_m));
} else if (t_m <= 5.6e+102) {
tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / pow(((k * pow(t_m, 1.5)) / (l_m / sqrt(2.0))), 2.0);
}
return t_s * tmp;
}
l_m = abs(l)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l_m, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l_m
real(8), intent (in) :: k
real(8) :: t_2
real(8) :: tmp
t_2 = 2.0d0 + ((k / t_m) ** 2.0d0)
if (t_m <= 3.8d-109) then
tmp = 2.0d0 * (((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))) ** (-2.0d0))
else if (t_m <= 2.2d-13) then
tmp = 2.0d0 / ((tan(k) * t_2) * ((sin(k) * ((t_m ** 3.0d0) / l_m)) / l_m))
else if (t_m <= 5.6d+102) then
tmp = ((2.0d0 * l_m) / (sin(k) * (tan(k) * (t_m ** 3.0d0)))) * (l_m / t_2)
else
tmp = 2.0d0 / (((k * (t_m ** 1.5d0)) / (l_m / sqrt(2.0d0))) ** 2.0d0)
end if
code = t_s * tmp
end function
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double t_2 = 2.0 + Math.pow((k / t_m), 2.0);
double tmp;
if (t_m <= 3.8e-109) {
tmp = 2.0 * Math.pow(((k / (l_m / Math.sin(k))) * Math.sqrt((t_m / Math.cos(k)))), -2.0);
} else if (t_m <= 2.2e-13) {
tmp = 2.0 / ((Math.tan(k) * t_2) * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l_m)) / l_m));
} else if (t_m <= 5.6e+102) {
tmp = ((2.0 * l_m) / (Math.sin(k) * (Math.tan(k) * Math.pow(t_m, 3.0)))) * (l_m / t_2);
} else {
tmp = 2.0 / Math.pow(((k * Math.pow(t_m, 1.5)) / (l_m / Math.sqrt(2.0))), 2.0);
}
return t_s * tmp;
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): t_2 = 2.0 + math.pow((k / t_m), 2.0) tmp = 0 if t_m <= 3.8e-109: tmp = 2.0 * math.pow(((k / (l_m / math.sin(k))) * math.sqrt((t_m / math.cos(k)))), -2.0) elif t_m <= 2.2e-13: tmp = 2.0 / ((math.tan(k) * t_2) * ((math.sin(k) * (math.pow(t_m, 3.0) / l_m)) / l_m)) elif t_m <= 5.6e+102: tmp = ((2.0 * l_m) / (math.sin(k) * (math.tan(k) * math.pow(t_m, 3.0)))) * (l_m / t_2) else: tmp = 2.0 / math.pow(((k * math.pow(t_m, 1.5)) / (l_m / math.sqrt(2.0))), 2.0) return t_s * tmp
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) t_2 = Float64(2.0 + (Float64(k / t_m) ^ 2.0)) tmp = 0.0 if (t_m <= 3.8e-109) tmp = Float64(2.0 * (Float64(Float64(k / Float64(l_m / sin(k))) * sqrt(Float64(t_m / cos(k)))) ^ -2.0)); elseif (t_m <= 2.2e-13) tmp = Float64(2.0 / Float64(Float64(tan(k) * t_2) * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l_m)) / l_m))); elseif (t_m <= 5.6e+102) tmp = Float64(Float64(Float64(2.0 * l_m) / Float64(sin(k) * Float64(tan(k) * (t_m ^ 3.0)))) * Float64(l_m / t_2)); else tmp = Float64(2.0 / (Float64(Float64(k * (t_m ^ 1.5)) / Float64(l_m / sqrt(2.0))) ^ 2.0)); end return Float64(t_s * tmp) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l_m, k) t_2 = 2.0 + ((k / t_m) ^ 2.0); tmp = 0.0; if (t_m <= 3.8e-109) tmp = 2.0 * (((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))) ^ -2.0); elseif (t_m <= 2.2e-13) tmp = 2.0 / ((tan(k) * t_2) * ((sin(k) * ((t_m ^ 3.0) / l_m)) / l_m)); elseif (t_m <= 5.6e+102) tmp = ((2.0 * l_m) / (sin(k) * (tan(k) * (t_m ^ 3.0)))) * (l_m / t_2); else tmp = 2.0 / (((k * (t_m ^ 1.5)) / (l_m / sqrt(2.0))) ^ 2.0); end tmp_2 = t_s * tmp; end
l_m = N[Abs[l], $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$95$m_, k_] := Block[{t$95$2 = N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 3.8e-109], N[(2.0 * N[Power[N[(N[(k / N[(l$95$m / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.2e-13], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 5.6e+102], N[(N[(N[(2.0 * l$95$m), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l$95$m / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(k * N[Power[t$95$m, 1.5], $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := 2 + {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 3.8 \cdot 10^{-109}:\\
\;\;\;\;2 \cdot {\left(\frac{k}{\frac{l_m}{\sin k}} \cdot \sqrt{\frac{t_m}{\cos k}}\right)}^{-2}\\
\mathbf{elif}\;t_m \leq 2.2 \cdot 10^{-13}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot t_2\right) \cdot \frac{\sin k \cdot \frac{{t_m}^{3}}{l_m}}{l_m}}\\
\mathbf{elif}\;t_m \leq 5.6 \cdot 10^{+102}:\\
\;\;\;\;\frac{2 \cdot l_m}{\sin k \cdot \left(\tan k \cdot {t_m}^{3}\right)} \cdot \frac{l_m}{t_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{k \cdot {t_m}^{1.5}}{\frac{l_m}{\sqrt{2}}}\right)}^{2}}\\
\end{array}
\end{array}
\end{array}
if t < 3.80000000000000002e-109Initial program 47.5%
associate-*l*47.5%
*-commutative47.5%
*-commutative47.5%
associate-/r*53.2%
distribute-rgt-in53.2%
unpow253.2%
times-frac39.9%
sqr-neg39.9%
times-frac53.2%
unpow253.2%
distribute-rgt-in53.2%
+-commutative53.2%
Simplified53.2%
add-sqr-sqrt18.6%
pow218.6%
Applied egg-rr21.5%
associate-*r*21.5%
Simplified21.5%
Taylor expanded in k around inf 37.8%
associate-*l/37.4%
Simplified37.4%
expm1-log1p-u37.0%
expm1-udef30.9%
div-inv30.9%
pow-flip30.9%
associate-/l*30.8%
metadata-eval30.8%
Applied egg-rr30.8%
expm1-def37.0%
expm1-log1p37.4%
associate-/r/37.9%
associate-/l*37.9%
Simplified37.9%
if 3.80000000000000002e-109 < t < 2.19999999999999997e-13Initial program 82.8%
associate-*l*82.7%
*-commutative82.7%
*-commutative82.7%
associate-/r*82.7%
distribute-rgt-in82.7%
unpow282.7%
times-frac82.9%
sqr-neg82.9%
times-frac82.7%
unpow282.7%
distribute-rgt-in82.7%
+-commutative82.7%
Simplified82.7%
associate-*l/88.4%
Applied egg-rr88.4%
if 2.19999999999999997e-13 < t < 5.60000000000000037e102Initial program 73.7%
Simplified77.0%
associate-*r*84.0%
*-un-lft-identity84.0%
times-frac87.9%
Applied egg-rr87.9%
/-rgt-identity87.9%
associate-*l/89.7%
associate-*r*89.7%
Simplified89.7%
if 5.60000000000000037e102 < t Initial program 52.0%
associate-*l*52.0%
*-commutative52.0%
*-commutative52.0%
associate-/r*61.4%
distribute-rgt-in61.4%
unpow261.4%
times-frac49.8%
sqr-neg49.8%
times-frac61.4%
unpow261.4%
distribute-rgt-in61.4%
+-commutative61.4%
Simplified61.4%
add-sqr-sqrt49.8%
pow249.8%
Applied egg-rr49.8%
associate-*r*49.8%
Simplified49.8%
Taylor expanded in k around 0 61.1%
*-commutative61.1%
associate-/l*61.1%
Simplified61.1%
associate-*r/61.4%
sqrt-pow186.3%
metadata-eval86.3%
Applied egg-rr86.3%
Final simplification52.9%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(*
t_s
(if (<= t_m 3.8e-109)
(* 2.0 (pow (* (/ k (/ l_m (sin k))) (sqrt (/ t_m (cos k)))) -2.0))
(if (<= t_m 4.2e+102)
(/
2.0
(*
(* (sin k) (/ (/ (pow t_m 3.0) l_m) l_m))
(* (tan k) (+ 2.0 (/ k (* t_m (/ t_m k)))))))
(/ 2.0 (pow (/ (* k (pow t_m 1.5)) (/ l_m (sqrt 2.0))) 2.0))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 3.8e-109) {
tmp = 2.0 * pow(((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))), -2.0);
} else if (t_m <= 4.2e+102) {
tmp = 2.0 / ((sin(k) * ((pow(t_m, 3.0) / l_m) / l_m)) * (tan(k) * (2.0 + (k / (t_m * (t_m / k))))));
} else {
tmp = 2.0 / pow(((k * pow(t_m, 1.5)) / (l_m / sqrt(2.0))), 2.0);
}
return t_s * tmp;
}
l_m = abs(l)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l_m, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l_m
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 3.8d-109) then
tmp = 2.0d0 * (((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))) ** (-2.0d0))
else if (t_m <= 4.2d+102) then
tmp = 2.0d0 / ((sin(k) * (((t_m ** 3.0d0) / l_m) / l_m)) * (tan(k) * (2.0d0 + (k / (t_m * (t_m / k))))))
else
tmp = 2.0d0 / (((k * (t_m ** 1.5d0)) / (l_m / sqrt(2.0d0))) ** 2.0d0)
end if
code = t_s * tmp
end function
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 3.8e-109) {
tmp = 2.0 * Math.pow(((k / (l_m / Math.sin(k))) * Math.sqrt((t_m / Math.cos(k)))), -2.0);
} else if (t_m <= 4.2e+102) {
tmp = 2.0 / ((Math.sin(k) * ((Math.pow(t_m, 3.0) / l_m) / l_m)) * (Math.tan(k) * (2.0 + (k / (t_m * (t_m / k))))));
} else {
tmp = 2.0 / Math.pow(((k * Math.pow(t_m, 1.5)) / (l_m / Math.sqrt(2.0))), 2.0);
}
return t_s * tmp;
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): tmp = 0 if t_m <= 3.8e-109: tmp = 2.0 * math.pow(((k / (l_m / math.sin(k))) * math.sqrt((t_m / math.cos(k)))), -2.0) elif t_m <= 4.2e+102: tmp = 2.0 / ((math.sin(k) * ((math.pow(t_m, 3.0) / l_m) / l_m)) * (math.tan(k) * (2.0 + (k / (t_m * (t_m / k)))))) else: tmp = 2.0 / math.pow(((k * math.pow(t_m, 1.5)) / (l_m / math.sqrt(2.0))), 2.0) return t_s * tmp
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) tmp = 0.0 if (t_m <= 3.8e-109) tmp = Float64(2.0 * (Float64(Float64(k / Float64(l_m / sin(k))) * sqrt(Float64(t_m / cos(k)))) ^ -2.0)); elseif (t_m <= 4.2e+102) tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64(Float64((t_m ^ 3.0) / l_m) / l_m)) * Float64(tan(k) * Float64(2.0 + Float64(k / Float64(t_m * Float64(t_m / k))))))); else tmp = Float64(2.0 / (Float64(Float64(k * (t_m ^ 1.5)) / Float64(l_m / sqrt(2.0))) ^ 2.0)); end return Float64(t_s * tmp) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l_m, k) tmp = 0.0; if (t_m <= 3.8e-109) tmp = 2.0 * (((k / (l_m / sin(k))) * sqrt((t_m / cos(k)))) ^ -2.0); elseif (t_m <= 4.2e+102) tmp = 2.0 / ((sin(k) * (((t_m ^ 3.0) / l_m) / l_m)) * (tan(k) * (2.0 + (k / (t_m * (t_m / k)))))); else tmp = 2.0 / (((k * (t_m ^ 1.5)) / (l_m / sqrt(2.0))) ^ 2.0); end tmp_2 = t_s * tmp; end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 3.8e-109], N[(2.0 * N[Power[N[(N[(k / N[(l$95$m / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Sqrt[N[(t$95$m / N[Cos[k], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 4.2e+102], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l$95$m), $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[(k / N[(t$95$m * N[(t$95$m / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(k * N[Power[t$95$m, 1.5], $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\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 3.8 \cdot 10^{-109}:\\
\;\;\;\;2 \cdot {\left(\frac{k}{\frac{l_m}{\sin k}} \cdot \sqrt{\frac{t_m}{\cos k}}\right)}^{-2}\\
\mathbf{elif}\;t_m \leq 4.2 \cdot 10^{+102}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \frac{\frac{{t_m}^{3}}{l_m}}{l_m}\right) \cdot \left(\tan k \cdot \left(2 + \frac{k}{t_m \cdot \frac{t_m}{k}}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{k \cdot {t_m}^{1.5}}{\frac{l_m}{\sqrt{2}}}\right)}^{2}}\\
\end{array}
\end{array}
if t < 3.80000000000000002e-109Initial program 47.5%
associate-*l*47.5%
*-commutative47.5%
*-commutative47.5%
associate-/r*53.2%
distribute-rgt-in53.2%
unpow253.2%
times-frac39.9%
sqr-neg39.9%
times-frac53.2%
unpow253.2%
distribute-rgt-in53.2%
+-commutative53.2%
Simplified53.2%
add-sqr-sqrt18.6%
pow218.6%
Applied egg-rr21.5%
associate-*r*21.5%
Simplified21.5%
Taylor expanded in k around inf 37.8%
associate-*l/37.4%
Simplified37.4%
expm1-log1p-u37.0%
expm1-udef30.9%
div-inv30.9%
pow-flip30.9%
associate-/l*30.8%
metadata-eval30.8%
Applied egg-rr30.8%
expm1-def37.0%
expm1-log1p37.4%
associate-/r/37.9%
associate-/l*37.9%
Simplified37.9%
if 3.80000000000000002e-109 < t < 4.20000000000000003e102Initial program 77.4%
associate-*l*77.4%
*-commutative77.4%
*-commutative77.4%
associate-/r*77.4%
distribute-rgt-in77.4%
unpow277.4%
times-frac77.4%
sqr-neg77.4%
times-frac77.4%
unpow277.4%
distribute-rgt-in77.4%
+-commutative77.4%
Simplified77.4%
unpow277.4%
clear-num77.4%
frac-times77.5%
*-un-lft-identity77.5%
Applied egg-rr77.5%
if 4.20000000000000003e102 < t Initial program 52.0%
associate-*l*52.0%
*-commutative52.0%
*-commutative52.0%
associate-/r*61.4%
distribute-rgt-in61.4%
unpow261.4%
times-frac49.8%
sqr-neg49.8%
times-frac61.4%
unpow261.4%
distribute-rgt-in61.4%
+-commutative61.4%
Simplified61.4%
add-sqr-sqrt49.8%
pow249.8%
Applied egg-rr49.8%
associate-*r*49.8%
Simplified49.8%
Taylor expanded in k around 0 61.1%
*-commutative61.1%
associate-/l*61.1%
Simplified61.1%
associate-*r/61.4%
sqrt-pow186.3%
metadata-eval86.3%
Applied egg-rr86.3%
Final simplification51.0%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(*
t_s
(if (<= t_m 7.5e-79)
(/ 2.0 (pow (* (/ (pow k 2.0) l_m) (sqrt t_m)) 2.0))
(/ 2.0 (pow (* (pow t_m 1.5) (/ k (/ l_m (sqrt 2.0)))) 2.0)))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 7.5e-79) {
tmp = 2.0 / pow(((pow(k, 2.0) / l_m) * sqrt(t_m)), 2.0);
} else {
tmp = 2.0 / pow((pow(t_m, 1.5) * (k / (l_m / sqrt(2.0)))), 2.0);
}
return t_s * tmp;
}
l_m = abs(l)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l_m, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l_m
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 7.5d-79) then
tmp = 2.0d0 / ((((k ** 2.0d0) / l_m) * sqrt(t_m)) ** 2.0d0)
else
tmp = 2.0d0 / (((t_m ** 1.5d0) * (k / (l_m / sqrt(2.0d0)))) ** 2.0d0)
end if
code = t_s * tmp
end function
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 7.5e-79) {
tmp = 2.0 / Math.pow(((Math.pow(k, 2.0) / l_m) * Math.sqrt(t_m)), 2.0);
} else {
tmp = 2.0 / Math.pow((Math.pow(t_m, 1.5) * (k / (l_m / Math.sqrt(2.0)))), 2.0);
}
return t_s * tmp;
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): tmp = 0 if t_m <= 7.5e-79: tmp = 2.0 / math.pow(((math.pow(k, 2.0) / l_m) * math.sqrt(t_m)), 2.0) else: tmp = 2.0 / math.pow((math.pow(t_m, 1.5) * (k / (l_m / math.sqrt(2.0)))), 2.0) return t_s * tmp
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) tmp = 0.0 if (t_m <= 7.5e-79) tmp = Float64(2.0 / (Float64(Float64((k ^ 2.0) / l_m) * sqrt(t_m)) ^ 2.0)); else tmp = Float64(2.0 / (Float64((t_m ^ 1.5) * Float64(k / Float64(l_m / sqrt(2.0)))) ^ 2.0)); end return Float64(t_s * tmp) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l_m, k) tmp = 0.0; if (t_m <= 7.5e-79) tmp = 2.0 / ((((k ^ 2.0) / l_m) * sqrt(t_m)) ^ 2.0); else tmp = 2.0 / (((t_m ^ 1.5) * (k / (l_m / sqrt(2.0)))) ^ 2.0); end tmp_2 = t_s * tmp; end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 7.5e-79], N[(2.0 / N[Power[N[(N[(N[Power[k, 2.0], $MachinePrecision] / l$95$m), $MachinePrecision] * N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] * N[(k / N[(l$95$m / N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\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 7.5 \cdot 10^{-79}:\\
\;\;\;\;\frac{2}{{\left(\frac{{k}^{2}}{l_m} \cdot \sqrt{t_m}\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left({t_m}^{1.5} \cdot \frac{k}{\frac{l_m}{\sqrt{2}}}\right)}^{2}}\\
\end{array}
\end{array}
if t < 7.49999999999999969e-79Initial program 48.9%
associate-*l*48.9%
*-commutative48.9%
*-commutative48.9%
associate-/r*54.5%
distribute-rgt-in54.5%
unpow254.5%
times-frac41.5%
sqr-neg41.5%
times-frac54.5%
unpow254.5%
distribute-rgt-in54.5%
+-commutative54.5%
Simplified54.5%
add-sqr-sqrt20.2%
pow220.2%
Applied egg-rr23.1%
associate-*r*23.1%
Simplified23.1%
Taylor expanded in k around inf 39.0%
associate-*l/38.6%
Simplified38.6%
Taylor expanded in k around 0 18.5%
if 7.49999999999999969e-79 < t Initial program 63.5%
associate-*l*63.5%
*-commutative63.5%
*-commutative63.5%
associate-/r*68.1%
distribute-rgt-in68.1%
unpow268.1%
times-frac62.4%
sqr-neg62.4%
times-frac68.1%
unpow268.1%
distribute-rgt-in68.1%
+-commutative68.1%
Simplified68.1%
add-sqr-sqrt51.3%
pow251.3%
Applied egg-rr55.6%
associate-*r*55.6%
Simplified55.6%
Taylor expanded in k around 0 71.3%
*-commutative71.3%
associate-/l*71.3%
Simplified71.3%
Taylor expanded in k around 0 71.3%
associate-*l/71.3%
*-commutative71.3%
metadata-eval71.3%
pow-sqr71.3%
rem-sqrt-square83.4%
unpow183.4%
sqr-pow83.3%
fabs-sqr83.3%
sqr-pow83.4%
unpow183.4%
associate-/r/83.4%
Simplified83.4%
Final simplification36.8%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(*
t_s
(if (<= t_m 5e-87)
(/ 2.0 (pow (* (/ (pow k 2.0) l_m) (sqrt t_m)) 2.0))
(if (<= t_m 3.3e+96)
(/ 2.0 (/ (* (pow t_m 3.0) (/ k l_m)) (/ l_m (* 2.0 k))))
(/ 2.0 (* (* 2.0 k) (/ (pow (* t_m (cbrt (/ k l_m))) 3.0) l_m)))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 5e-87) {
tmp = 2.0 / pow(((pow(k, 2.0) / l_m) * sqrt(t_m)), 2.0);
} else if (t_m <= 3.3e+96) {
tmp = 2.0 / ((pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
} else {
tmp = 2.0 / ((2.0 * k) * (pow((t_m * cbrt((k / l_m))), 3.0) / l_m));
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 5e-87) {
tmp = 2.0 / Math.pow(((Math.pow(k, 2.0) / l_m) * Math.sqrt(t_m)), 2.0);
} else if (t_m <= 3.3e+96) {
tmp = 2.0 / ((Math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
} else {
tmp = 2.0 / ((2.0 * k) * (Math.pow((t_m * Math.cbrt((k / l_m))), 3.0) / l_m));
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) tmp = 0.0 if (t_m <= 5e-87) tmp = Float64(2.0 / (Float64(Float64((k ^ 2.0) / l_m) * sqrt(t_m)) ^ 2.0)); elseif (t_m <= 3.3e+96) tmp = Float64(2.0 / Float64(Float64((t_m ^ 3.0) * Float64(k / l_m)) / Float64(l_m / Float64(2.0 * k)))); else tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64((Float64(t_m * cbrt(Float64(k / l_m))) ^ 3.0) / l_m))); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 5e-87], N[(2.0 / N[Power[N[(N[(N[Power[k, 2.0], $MachinePrecision] / l$95$m), $MachinePrecision] * N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 3.3e+96], N[(2.0 / N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] * N[(k / l$95$m), $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[Power[N[(t$95$m * N[Power[N[(k / l$95$m), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\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 5 \cdot 10^{-87}:\\
\;\;\;\;\frac{2}{{\left(\frac{{k}^{2}}{l_m} \cdot \sqrt{t_m}\right)}^{2}}\\
\mathbf{elif}\;t_m \leq 3.3 \cdot 10^{+96}:\\
\;\;\;\;\frac{2}{\frac{{t_m}^{3} \cdot \frac{k}{l_m}}{\frac{l_m}{2 \cdot k}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \frac{{\left(t_m \cdot \sqrt[3]{\frac{k}{l_m}}\right)}^{3}}{l_m}}\\
\end{array}
\end{array}
if t < 5.00000000000000042e-87Initial program 48.4%
associate-*l*48.4%
*-commutative48.4%
*-commutative48.4%
associate-/r*54.0%
distribute-rgt-in54.0%
unpow254.0%
times-frac40.9%
sqr-neg40.9%
times-frac54.0%
unpow254.0%
distribute-rgt-in54.0%
+-commutative54.0%
Simplified54.0%
add-sqr-sqrt19.9%
pow219.9%
Applied egg-rr22.8%
associate-*r*22.8%
Simplified22.8%
Taylor expanded in k around inf 38.8%
associate-*l/38.5%
Simplified38.5%
Taylor expanded in k around 0 18.1%
if 5.00000000000000042e-87 < t < 3.29999999999999984e96Initial program 74.3%
associate-*l*74.4%
*-commutative74.4%
*-commutative74.4%
associate-/r*74.4%
distribute-rgt-in74.4%
unpow274.4%
times-frac74.3%
sqr-neg74.3%
times-frac74.4%
unpow274.4%
distribute-rgt-in74.4%
+-commutative74.4%
Simplified74.4%
associate-*l/76.9%
Applied egg-rr76.9%
Taylor expanded in k around 0 61.3%
*-commutative61.3%
Simplified61.3%
Taylor expanded in k around 0 63.9%
associate-/l*66.4%
Simplified66.4%
associate-*l/68.7%
associate-/r/76.1%
Applied egg-rr76.1%
associate-/l*78.6%
*-commutative78.6%
Simplified78.6%
if 3.29999999999999984e96 < t Initial program 54.6%
associate-*l*54.6%
*-commutative54.6%
*-commutative54.6%
associate-/r*63.5%
distribute-rgt-in63.5%
unpow263.5%
times-frac52.5%
sqr-neg52.5%
times-frac63.5%
unpow263.5%
distribute-rgt-in63.5%
+-commutative63.5%
Simplified63.5%
associate-*l/63.5%
Applied egg-rr63.5%
Taylor expanded in k around 0 63.5%
*-commutative63.5%
Simplified63.5%
Taylor expanded in k around 0 63.5%
associate-/l*63.5%
Simplified63.5%
add-cube-cbrt63.5%
pow363.5%
associate-/r/63.2%
cbrt-prod63.2%
unpow363.2%
add-cbrt-cube82.0%
Applied egg-rr82.0%
Final simplification36.1%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(*
t_s
(if (<= t_m 6.2e-88)
(/ 2.0 (/ t_m (/ (pow l_m 2.0) (pow k 4.0))))
(if (<= t_m 3.3e+96)
(/ 2.0 (/ (* (pow t_m 3.0) (/ k l_m)) (/ l_m (* 2.0 k))))
(/ 2.0 (* (* 2.0 k) (/ (/ k (pow (/ (cbrt l_m) t_m) 3.0)) l_m)))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 6.2e-88) {
tmp = 2.0 / (t_m / (pow(l_m, 2.0) / pow(k, 4.0)));
} else if (t_m <= 3.3e+96) {
tmp = 2.0 / ((pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
} else {
tmp = 2.0 / ((2.0 * k) * ((k / pow((cbrt(l_m) / t_m), 3.0)) / l_m));
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 6.2e-88) {
tmp = 2.0 / (t_m / (Math.pow(l_m, 2.0) / Math.pow(k, 4.0)));
} else if (t_m <= 3.3e+96) {
tmp = 2.0 / ((Math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
} else {
tmp = 2.0 / ((2.0 * k) * ((k / Math.pow((Math.cbrt(l_m) / t_m), 3.0)) / l_m));
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) tmp = 0.0 if (t_m <= 6.2e-88) tmp = Float64(2.0 / Float64(t_m / Float64((l_m ^ 2.0) / (k ^ 4.0)))); elseif (t_m <= 3.3e+96) tmp = Float64(2.0 / Float64(Float64((t_m ^ 3.0) * Float64(k / l_m)) / Float64(l_m / Float64(2.0 * k)))); else tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(Float64(k / (Float64(cbrt(l_m) / t_m) ^ 3.0)) / l_m))); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 6.2e-88], N[(2.0 / N[(t$95$m / N[(N[Power[l$95$m, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 3.3e+96], N[(2.0 / N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] * N[(k / l$95$m), $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[(k / N[Power[N[(N[Power[l$95$m, 1/3], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\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 6.2 \cdot 10^{-88}:\\
\;\;\;\;\frac{2}{\frac{t_m}{\frac{{l_m}^{2}}{{k}^{4}}}}\\
\mathbf{elif}\;t_m \leq 3.3 \cdot 10^{+96}:\\
\;\;\;\;\frac{2}{\frac{{t_m}^{3} \cdot \frac{k}{l_m}}{\frac{l_m}{2 \cdot k}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \frac{\frac{k}{{\left(\frac{\sqrt[3]{l_m}}{t_m}\right)}^{3}}}{l_m}}\\
\end{array}
\end{array}
if t < 6.1999999999999995e-88Initial program 48.4%
associate-*l*48.4%
*-commutative48.4%
*-commutative48.4%
associate-/r*54.0%
distribute-rgt-in54.0%
unpow254.0%
times-frac40.9%
sqr-neg40.9%
times-frac54.0%
unpow254.0%
distribute-rgt-in54.0%
+-commutative54.0%
Simplified54.0%
add-sqr-sqrt19.9%
pow219.9%
Applied egg-rr22.8%
associate-*r*22.8%
Simplified22.8%
Taylor expanded in k around inf 38.8%
associate-*l/38.5%
Simplified38.5%
Taylor expanded in k around 0 55.9%
*-commutative55.9%
associate-/l*56.5%
Simplified56.5%
if 6.1999999999999995e-88 < t < 3.29999999999999984e96Initial program 74.3%
associate-*l*74.4%
*-commutative74.4%
*-commutative74.4%
associate-/r*74.4%
distribute-rgt-in74.4%
unpow274.4%
times-frac74.3%
sqr-neg74.3%
times-frac74.4%
unpow274.4%
distribute-rgt-in74.4%
+-commutative74.4%
Simplified74.4%
associate-*l/76.9%
Applied egg-rr76.9%
Taylor expanded in k around 0 61.3%
*-commutative61.3%
Simplified61.3%
Taylor expanded in k around 0 63.9%
associate-/l*66.4%
Simplified66.4%
associate-*l/68.7%
associate-/r/76.1%
Applied egg-rr76.1%
associate-/l*78.6%
*-commutative78.6%
Simplified78.6%
if 3.29999999999999984e96 < t Initial program 54.6%
associate-*l*54.6%
*-commutative54.6%
*-commutative54.6%
associate-/r*63.5%
distribute-rgt-in63.5%
unpow263.5%
times-frac52.5%
sqr-neg52.5%
times-frac63.5%
unpow263.5%
distribute-rgt-in63.5%
+-commutative63.5%
Simplified63.5%
associate-*l/63.5%
Applied egg-rr63.5%
Taylor expanded in k around 0 63.5%
*-commutative63.5%
Simplified63.5%
Taylor expanded in k around 0 63.5%
associate-/l*63.5%
Simplified63.5%
add-cube-cbrt63.5%
pow263.5%
cbrt-div63.5%
unpow363.5%
add-cbrt-cube63.5%
cbrt-div63.5%
unpow363.5%
add-cbrt-cube71.5%
Applied egg-rr71.5%
pow-plus71.5%
metadata-eval71.5%
Simplified71.5%
Final simplification61.9%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(*
t_s
(if (<= t_m 5.6e-89)
(/ 2.0 (/ t_m (/ (pow l_m 2.0) (pow k 4.0))))
(if (<= t_m 3.3e+96)
(/ 2.0 (/ (* (pow t_m 3.0) (/ k l_m)) (/ l_m (* 2.0 k))))
(/ 2.0 (* (* 2.0 k) (/ (pow (* t_m (cbrt (/ k l_m))) 3.0) l_m)))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 5.6e-89) {
tmp = 2.0 / (t_m / (pow(l_m, 2.0) / pow(k, 4.0)));
} else if (t_m <= 3.3e+96) {
tmp = 2.0 / ((pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
} else {
tmp = 2.0 / ((2.0 * k) * (pow((t_m * cbrt((k / l_m))), 3.0) / l_m));
}
return t_s * tmp;
}
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 5.6e-89) {
tmp = 2.0 / (t_m / (Math.pow(l_m, 2.0) / Math.pow(k, 4.0)));
} else if (t_m <= 3.3e+96) {
tmp = 2.0 / ((Math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
} else {
tmp = 2.0 / ((2.0 * k) * (Math.pow((t_m * Math.cbrt((k / l_m))), 3.0) / l_m));
}
return t_s * tmp;
}
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) tmp = 0.0 if (t_m <= 5.6e-89) tmp = Float64(2.0 / Float64(t_m / Float64((l_m ^ 2.0) / (k ^ 4.0)))); elseif (t_m <= 3.3e+96) tmp = Float64(2.0 / Float64(Float64((t_m ^ 3.0) * Float64(k / l_m)) / Float64(l_m / Float64(2.0 * k)))); else tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64((Float64(t_m * cbrt(Float64(k / l_m))) ^ 3.0) / l_m))); end return Float64(t_s * tmp) end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 5.6e-89], N[(2.0 / N[(t$95$m / N[(N[Power[l$95$m, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 3.3e+96], N[(2.0 / N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] * N[(k / l$95$m), $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[Power[N[(t$95$m * N[Power[N[(k / l$95$m), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\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 5.6 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{\frac{t_m}{\frac{{l_m}^{2}}{{k}^{4}}}}\\
\mathbf{elif}\;t_m \leq 3.3 \cdot 10^{+96}:\\
\;\;\;\;\frac{2}{\frac{{t_m}^{3} \cdot \frac{k}{l_m}}{\frac{l_m}{2 \cdot k}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \frac{{\left(t_m \cdot \sqrt[3]{\frac{k}{l_m}}\right)}^{3}}{l_m}}\\
\end{array}
\end{array}
if t < 5.5999999999999998e-89Initial program 48.4%
associate-*l*48.4%
*-commutative48.4%
*-commutative48.4%
associate-/r*54.0%
distribute-rgt-in54.0%
unpow254.0%
times-frac40.9%
sqr-neg40.9%
times-frac54.0%
unpow254.0%
distribute-rgt-in54.0%
+-commutative54.0%
Simplified54.0%
add-sqr-sqrt19.9%
pow219.9%
Applied egg-rr22.8%
associate-*r*22.8%
Simplified22.8%
Taylor expanded in k around inf 38.8%
associate-*l/38.5%
Simplified38.5%
Taylor expanded in k around 0 55.9%
*-commutative55.9%
associate-/l*56.5%
Simplified56.5%
if 5.5999999999999998e-89 < t < 3.29999999999999984e96Initial program 74.3%
associate-*l*74.4%
*-commutative74.4%
*-commutative74.4%
associate-/r*74.4%
distribute-rgt-in74.4%
unpow274.4%
times-frac74.3%
sqr-neg74.3%
times-frac74.4%
unpow274.4%
distribute-rgt-in74.4%
+-commutative74.4%
Simplified74.4%
associate-*l/76.9%
Applied egg-rr76.9%
Taylor expanded in k around 0 61.3%
*-commutative61.3%
Simplified61.3%
Taylor expanded in k around 0 63.9%
associate-/l*66.4%
Simplified66.4%
associate-*l/68.7%
associate-/r/76.1%
Applied egg-rr76.1%
associate-/l*78.6%
*-commutative78.6%
Simplified78.6%
if 3.29999999999999984e96 < t Initial program 54.6%
associate-*l*54.6%
*-commutative54.6%
*-commutative54.6%
associate-/r*63.5%
distribute-rgt-in63.5%
unpow263.5%
times-frac52.5%
sqr-neg52.5%
times-frac63.5%
unpow263.5%
distribute-rgt-in63.5%
+-commutative63.5%
Simplified63.5%
associate-*l/63.5%
Applied egg-rr63.5%
Taylor expanded in k around 0 63.5%
*-commutative63.5%
Simplified63.5%
Taylor expanded in k around 0 63.5%
associate-/l*63.5%
Simplified63.5%
add-cube-cbrt63.5%
pow363.5%
associate-/r/63.2%
cbrt-prod63.2%
unpow363.2%
add-cbrt-cube82.0%
Applied egg-rr82.0%
Final simplification63.4%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(*
t_s
(if (<= t_m 8e-89)
(* 2.0 (/ (pow l_m 2.0) (* t_m (pow k 4.0))))
(/ 2.0 (/ (* (pow t_m 3.0) (/ k l_m)) (/ l_m (* 2.0 k)))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 8e-89) {
tmp = 2.0 * (pow(l_m, 2.0) / (t_m * pow(k, 4.0)));
} else {
tmp = 2.0 / ((pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
}
return t_s * tmp;
}
l_m = abs(l)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l_m, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l_m
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 8d-89) then
tmp = 2.0d0 * ((l_m ** 2.0d0) / (t_m * (k ** 4.0d0)))
else
tmp = 2.0d0 / (((t_m ** 3.0d0) * (k / l_m)) / (l_m / (2.0d0 * k)))
end if
code = t_s * tmp
end function
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 8e-89) {
tmp = 2.0 * (Math.pow(l_m, 2.0) / (t_m * Math.pow(k, 4.0)));
} else {
tmp = 2.0 / ((Math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
}
return t_s * tmp;
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): tmp = 0 if t_m <= 8e-89: tmp = 2.0 * (math.pow(l_m, 2.0) / (t_m * math.pow(k, 4.0))) else: tmp = 2.0 / ((math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k))) return t_s * tmp
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) tmp = 0.0 if (t_m <= 8e-89) tmp = Float64(2.0 * Float64((l_m ^ 2.0) / Float64(t_m * (k ^ 4.0)))); else tmp = Float64(2.0 / Float64(Float64((t_m ^ 3.0) * Float64(k / l_m)) / Float64(l_m / Float64(2.0 * k)))); end return Float64(t_s * tmp) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l_m, k) tmp = 0.0; if (t_m <= 8e-89) tmp = 2.0 * ((l_m ^ 2.0) / (t_m * (k ^ 4.0))); else tmp = 2.0 / (((t_m ^ 3.0) * (k / l_m)) / (l_m / (2.0 * k))); end tmp_2 = t_s * tmp; end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 8e-89], N[(2.0 * N[(N[Power[l$95$m, 2.0], $MachinePrecision] / N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] * N[(k / l$95$m), $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\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 8 \cdot 10^{-89}:\\
\;\;\;\;2 \cdot \frac{{l_m}^{2}}{t_m \cdot {k}^{4}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{t_m}^{3} \cdot \frac{k}{l_m}}{\frac{l_m}{2 \cdot k}}}\\
\end{array}
\end{array}
if t < 8.00000000000000031e-89Initial program 48.4%
Simplified48.8%
Taylor expanded in k around 0 42.4%
Taylor expanded in k around inf 55.9%
if 8.00000000000000031e-89 < t Initial program 64.4%
associate-*l*64.5%
*-commutative64.5%
*-commutative64.5%
associate-/r*68.9%
distribute-rgt-in68.9%
unpow268.9%
times-frac63.4%
sqr-neg63.4%
times-frac68.9%
unpow268.9%
distribute-rgt-in68.9%
+-commutative68.9%
Simplified68.9%
associate-*l/70.2%
Applied egg-rr70.2%
Taylor expanded in k around 0 62.4%
*-commutative62.4%
Simplified62.4%
Taylor expanded in k around 0 63.7%
associate-/l*65.0%
Simplified65.0%
associate-*l/66.1%
associate-/r/69.7%
Applied egg-rr69.7%
associate-/l*70.9%
*-commutative70.9%
Simplified70.9%
Final simplification60.3%
l_m = (fabs.f64 l)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l_m k)
:precision binary64
(*
t_s
(if (<= t_m 1.18e-88)
(/ 2.0 (/ t_m (/ (pow l_m 2.0) (pow k 4.0))))
(/ 2.0 (/ (* (pow t_m 3.0) (/ k l_m)) (/ l_m (* 2.0 k)))))))l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 1.18e-88) {
tmp = 2.0 / (t_m / (pow(l_m, 2.0) / pow(k, 4.0)));
} else {
tmp = 2.0 / ((pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
}
return t_s * tmp;
}
l_m = abs(l)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l_m, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l_m
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 1.18d-88) then
tmp = 2.0d0 / (t_m / ((l_m ** 2.0d0) / (k ** 4.0d0)))
else
tmp = 2.0d0 / (((t_m ** 3.0d0) * (k / l_m)) / (l_m / (2.0d0 * k)))
end if
code = t_s * tmp
end function
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
double tmp;
if (t_m <= 1.18e-88) {
tmp = 2.0 / (t_m / (Math.pow(l_m, 2.0) / Math.pow(k, 4.0)));
} else {
tmp = 2.0 / ((Math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k)));
}
return t_s * tmp;
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): tmp = 0 if t_m <= 1.18e-88: tmp = 2.0 / (t_m / (math.pow(l_m, 2.0) / math.pow(k, 4.0))) else: tmp = 2.0 / ((math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k))) return t_s * tmp
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) tmp = 0.0 if (t_m <= 1.18e-88) tmp = Float64(2.0 / Float64(t_m / Float64((l_m ^ 2.0) / (k ^ 4.0)))); else tmp = Float64(2.0 / Float64(Float64((t_m ^ 3.0) * Float64(k / l_m)) / Float64(l_m / Float64(2.0 * k)))); end return Float64(t_s * tmp) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l_m, k) tmp = 0.0; if (t_m <= 1.18e-88) tmp = 2.0 / (t_m / ((l_m ^ 2.0) / (k ^ 4.0))); else tmp = 2.0 / (((t_m ^ 3.0) * (k / l_m)) / (l_m / (2.0 * k))); end tmp_2 = t_s * tmp; end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.18e-88], N[(2.0 / N[(t$95$m / N[(N[Power[l$95$m, 2.0], $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] * N[(k / l$95$m), $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\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.18 \cdot 10^{-88}:\\
\;\;\;\;\frac{2}{\frac{t_m}{\frac{{l_m}^{2}}{{k}^{4}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{t_m}^{3} \cdot \frac{k}{l_m}}{\frac{l_m}{2 \cdot k}}}\\
\end{array}
\end{array}
if t < 1.18000000000000004e-88Initial program 48.4%
associate-*l*48.4%
*-commutative48.4%
*-commutative48.4%
associate-/r*54.0%
distribute-rgt-in54.0%
unpow254.0%
times-frac40.9%
sqr-neg40.9%
times-frac54.0%
unpow254.0%
distribute-rgt-in54.0%
+-commutative54.0%
Simplified54.0%
add-sqr-sqrt19.9%
pow219.9%
Applied egg-rr22.8%
associate-*r*22.8%
Simplified22.8%
Taylor expanded in k around inf 38.8%
associate-*l/38.5%
Simplified38.5%
Taylor expanded in k around 0 55.9%
*-commutative55.9%
associate-/l*56.5%
Simplified56.5%
if 1.18000000000000004e-88 < t Initial program 64.4%
associate-*l*64.5%
*-commutative64.5%
*-commutative64.5%
associate-/r*68.9%
distribute-rgt-in68.9%
unpow268.9%
times-frac63.4%
sqr-neg63.4%
times-frac68.9%
unpow268.9%
distribute-rgt-in68.9%
+-commutative68.9%
Simplified68.9%
associate-*l/70.2%
Applied egg-rr70.2%
Taylor expanded in k around 0 62.4%
*-commutative62.4%
Simplified62.4%
Taylor expanded in k around 0 63.7%
associate-/l*65.0%
Simplified65.0%
associate-*l/66.1%
associate-/r/69.7%
Applied egg-rr69.7%
associate-/l*70.9%
*-commutative70.9%
Simplified70.9%
Final simplification60.7%
l_m = (fabs.f64 l) t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l_m k) :precision binary64 (* t_s (/ 2.0 (* (* 2.0 k) (/ (/ k (* l_m (pow t_m -3.0))) l_m)))))
l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
return t_s * (2.0 / ((2.0 * k) * ((k / (l_m * pow(t_m, -3.0))) / l_m)));
}
l_m = abs(l)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l_m, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l_m
real(8), intent (in) :: k
code = t_s * (2.0d0 / ((2.0d0 * k) * ((k / (l_m * (t_m ** (-3.0d0)))) / l_m)))
end function
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
return t_s * (2.0 / ((2.0 * k) * ((k / (l_m * Math.pow(t_m, -3.0))) / l_m)));
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): return t_s * (2.0 / ((2.0 * k) * ((k / (l_m * math.pow(t_m, -3.0))) / l_m)))
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) return Float64(t_s * Float64(2.0 / Float64(Float64(2.0 * k) * Float64(Float64(k / Float64(l_m * (t_m ^ -3.0))) / l_m)))) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l_m, k) tmp = t_s * (2.0 / ((2.0 * k) * ((k / (l_m * (t_m ^ -3.0))) / l_m))); end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[(k / N[(l$95$m * N[Power[t$95$m, -3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \frac{2}{\left(2 \cdot k\right) \cdot \frac{\frac{k}{l_m \cdot {t_m}^{-3}}}{l_m}}
\end{array}
Initial program 53.0%
associate-*l*53.0%
*-commutative53.0%
*-commutative53.0%
associate-/r*58.3%
distribute-rgt-in58.3%
unpow258.3%
times-frac47.4%
sqr-neg47.4%
times-frac58.3%
unpow258.3%
distribute-rgt-in58.3%
+-commutative58.3%
Simplified58.3%
associate-*l/59.8%
Applied egg-rr59.8%
Taylor expanded in k around 0 55.7%
*-commutative55.7%
Simplified55.7%
Taylor expanded in k around 0 57.1%
associate-/l*58.7%
Simplified58.7%
expm1-log1p-u42.7%
expm1-udef37.7%
div-inv37.7%
pow-flip37.7%
metadata-eval37.7%
Applied egg-rr37.7%
expm1-def44.0%
expm1-log1p60.0%
Simplified60.0%
Final simplification60.0%
l_m = (fabs.f64 l) t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l_m k) :precision binary64 (* t_s (/ 2.0 (/ (* (pow t_m 3.0) (/ k l_m)) (/ l_m (* 2.0 k))))))
l_m = fabs(l);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l_m, double k) {
return t_s * (2.0 / ((pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k))));
}
l_m = abs(l)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l_m, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l_m
real(8), intent (in) :: k
code = t_s * (2.0d0 / (((t_m ** 3.0d0) * (k / l_m)) / (l_m / (2.0d0 * k))))
end function
l_m = Math.abs(l);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l_m, double k) {
return t_s * (2.0 / ((Math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k))));
}
l_m = math.fabs(l) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l_m, k): return t_s * (2.0 / ((math.pow(t_m, 3.0) * (k / l_m)) / (l_m / (2.0 * k))))
l_m = abs(l) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l_m, k) return Float64(t_s * Float64(2.0 / Float64(Float64((t_m ^ 3.0) * Float64(k / l_m)) / Float64(l_m / Float64(2.0 * k))))) end
l_m = abs(l); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l_m, k) tmp = t_s * (2.0 / (((t_m ^ 3.0) * (k / l_m)) / (l_m / (2.0 * k)))); end
l_m = N[Abs[l], $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$95$m_, k_] := N[(t$95$s * N[(2.0 / N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] * N[(k / l$95$m), $MachinePrecision]), $MachinePrecision] / N[(l$95$m / N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
l_m = \left|\ell\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \frac{2}{\frac{{t_m}^{3} \cdot \frac{k}{l_m}}{\frac{l_m}{2 \cdot k}}}
\end{array}
Initial program 53.0%
associate-*l*53.0%
*-commutative53.0%
*-commutative53.0%
associate-/r*58.3%
distribute-rgt-in58.3%
unpow258.3%
times-frac47.4%
sqr-neg47.4%
times-frac58.3%
unpow258.3%
distribute-rgt-in58.3%
+-commutative58.3%
Simplified58.3%
associate-*l/59.8%
Applied egg-rr59.8%
Taylor expanded in k around 0 55.7%
*-commutative55.7%
Simplified55.7%
Taylor expanded in k around 0 57.1%
associate-/l*58.7%
Simplified58.7%
associate-*l/57.5%
associate-/r/59.1%
Applied egg-rr59.1%
associate-/l*60.9%
*-commutative60.9%
Simplified60.9%
Final simplification60.9%
herbie shell --seed 2023333
(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))))