
(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 22 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}
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 9e-194)
(/
2.0
(* (/ (* t_m (pow k 2.0)) (pow l 2.0)) (/ (pow (sin k) 2.0) (cos k))))
(/
2.0
(pow
(*
(* (* t_m (pow (cbrt l) -2.0)) (cbrt (sin k)))
(cbrt (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))))
3.0)))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 9e-194) {
tmp = 2.0 / (((t_m * pow(k, 2.0)) / pow(l, 2.0)) * (pow(sin(k), 2.0) / cos(k)));
} else {
tmp = 2.0 / pow((((t_m * pow(cbrt(l), -2.0)) * cbrt(sin(k))) * cbrt((tan(k) * (2.0 + pow((k / t_m), 2.0))))), 3.0);
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 9e-194) {
tmp = 2.0 / (((t_m * Math.pow(k, 2.0)) / Math.pow(l, 2.0)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
} else {
tmp = 2.0 / Math.pow((((t_m * Math.pow(Math.cbrt(l), -2.0)) * Math.cbrt(Math.sin(k))) * Math.cbrt((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))))), 3.0);
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 9e-194) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 2.0)) / (l ^ 2.0)) * Float64((sin(k) ^ 2.0) / cos(k)))); else tmp = Float64(2.0 / (Float64(Float64(Float64(t_m * (cbrt(l) ^ -2.0)) * cbrt(sin(k))) * cbrt(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))))) ^ 3.0)); end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 9e-194], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[Power[N[(N[(N[(t$95$m * N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision] * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 9 \cdot 10^{-194}:\\
\;\;\;\;\frac{2}{\frac{t_m \cdot {k}^{2}}{{\ell}^{2}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\left(\left(t_m \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\right) \cdot \sqrt[3]{\sin k}\right) \cdot \sqrt[3]{\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)}\right)}^{3}}\\
\end{array}
\end{array}
if t < 8.9999999999999997e-194Initial program 50.1%
associate-*l*50.1%
sqr-neg50.1%
sqr-neg50.1%
associate-/r*58.4%
distribute-rgt-in58.4%
unpow258.4%
times-frac38.9%
sqr-neg38.9%
times-frac58.4%
unpow258.4%
distribute-rgt-in58.4%
Simplified58.4%
Taylor expanded in t around 0 61.2%
associate-*r*61.2%
times-frac63.8%
Simplified63.8%
if 8.9999999999999997e-194 < t Initial program 53.6%
associate-*l*53.6%
sqr-neg53.6%
sqr-neg53.6%
associate-/r*59.8%
distribute-rgt-in59.8%
unpow259.8%
times-frac51.0%
sqr-neg51.0%
times-frac59.8%
unpow259.8%
distribute-rgt-in59.8%
Simplified59.8%
add-cube-cbrt59.7%
pow359.7%
*-commutative59.7%
cbrt-prod59.6%
associate-/l/53.4%
cbrt-div53.4%
rem-cbrt-cube63.1%
cbrt-unprod82.3%
pow282.3%
Applied egg-rr82.3%
associate-*r/82.3%
Applied egg-rr82.3%
add-cube-cbrt82.1%
pow382.2%
div-inv82.2%
pow-flip82.2%
metadata-eval82.2%
Applied egg-rr82.2%
add-cube-cbrt82.1%
pow382.1%
Applied egg-rr87.7%
*-commutative87.7%
Simplified87.7%
Final simplification73.8%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(let* ((t_2 (pow (/ k t_m) 2.0)))
(*
t_s
(if (<=
(*
(* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))
(+ 1.0 (+ t_2 1.0)))
1e+298)
(/
2.0
(*
(* (tan k) (+ 2.0 t_2))
(* (sin k) (* (/ t_m l) (/ (pow t_m 2.0) l)))))
(pow (/ (/ (pow (cbrt l) 2.0) (pow (cbrt k) 2.0)) t_m) 3.0)))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double t_2 = pow((k / t_m), 2.0);
double tmp;
if (((tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0))) <= 1e+298) {
tmp = 2.0 / ((tan(k) * (2.0 + t_2)) * (sin(k) * ((t_m / l) * (pow(t_m, 2.0) / l))));
} else {
tmp = pow(((pow(cbrt(l), 2.0) / pow(cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double t_2 = Math.pow((k / t_m), 2.0);
double tmp;
if (((Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0))) <= 1e+298) {
tmp = 2.0 / ((Math.tan(k) * (2.0 + t_2)) * (Math.sin(k) * ((t_m / l) * (Math.pow(t_m, 2.0) / l))));
} else {
tmp = Math.pow(((Math.pow(Math.cbrt(l), 2.0) / Math.pow(Math.cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) t_2 = Float64(k / t_m) ^ 2.0 tmp = 0.0 if (Float64(Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l)))) * Float64(1.0 + Float64(t_2 + 1.0))) <= 1e+298) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + t_2)) * Float64(sin(k) * Float64(Float64(t_m / l) * Float64((t_m ^ 2.0) / l))))); else tmp = Float64(Float64((cbrt(l) ^ 2.0) / (cbrt(k) ^ 2.0)) / t_m) ^ 3.0; end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(t$95$2 + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1e+298], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + t$95$2), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[Power[t$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;\left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \cdot \left(1 + \left(t_2 + 1\right)\right) \leq 10^{+298}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + t_2\right)\right) \cdot \left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{{\left(\sqrt[3]{k}\right)}^{2}}}{t_m}\right)}^{3}\\
\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)) < 9.9999999999999996e297Initial program 85.2%
associate-*l*85.2%
sqr-neg85.2%
sqr-neg85.2%
associate-/r*88.5%
distribute-rgt-in88.5%
unpow288.5%
times-frac66.1%
sqr-neg66.1%
times-frac88.5%
unpow288.5%
distribute-rgt-in88.5%
Simplified88.5%
associate-/l/85.2%
unpow385.2%
times-frac92.6%
pow292.6%
Applied egg-rr92.6%
if 9.9999999999999996e297 < (*.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 23.6%
associate-/r*23.6%
sqr-neg23.6%
associate-*l*20.7%
sqr-neg20.7%
associate-/r*31.4%
associate-+l+31.4%
unpow231.4%
times-frac22.5%
sqr-neg22.5%
times-frac31.4%
unpow231.4%
Simplified31.4%
Taylor expanded in k around 0 28.2%
add-cube-cbrt28.2%
pow328.2%
associate-/r*26.6%
cbrt-div26.6%
rem-cbrt-cube37.6%
Applied egg-rr37.6%
pow237.6%
cbrt-div40.9%
unpow240.9%
cbrt-prod51.4%
unpow251.4%
cbrt-prod55.5%
pow255.5%
Applied egg-rr55.5%
Final simplification72.3%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(let* ((t_2 (pow (/ k t_m) 2.0)))
(*
t_s
(if (<=
(*
(* (tan k) (* (sin k) (/ (pow t_m 3.0) (* l l))))
(+ 1.0 (+ t_2 1.0)))
INFINITY)
(/
2.0
(*
(* (tan k) (+ 2.0 t_2))
(* (sin k) (* (/ t_m l) (/ (pow t_m 2.0) l)))))
(/ 2.0 (* (pow (/ (pow t_m 1.5) l) 2.0) (* 2.0 (* (sin k) (tan k)))))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double t_2 = pow((k / t_m), 2.0);
double tmp;
if (((tan(k) * (sin(k) * (pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0))) <= ((double) INFINITY)) {
tmp = 2.0 / ((tan(k) * (2.0 + t_2)) * (sin(k) * ((t_m / l) * (pow(t_m, 2.0) / l))));
} else {
tmp = 2.0 / (pow((pow(t_m, 1.5) / l), 2.0) * (2.0 * (sin(k) * tan(k))));
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double t_2 = Math.pow((k / t_m), 2.0);
double tmp;
if (((Math.tan(k) * (Math.sin(k) * (Math.pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0))) <= Double.POSITIVE_INFINITY) {
tmp = 2.0 / ((Math.tan(k) * (2.0 + t_2)) * (Math.sin(k) * ((t_m / l) * (Math.pow(t_m, 2.0) / l))));
} else {
tmp = 2.0 / (Math.pow((Math.pow(t_m, 1.5) / l), 2.0) * (2.0 * (Math.sin(k) * Math.tan(k))));
}
return t_s * tmp;
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): t_2 = math.pow((k / t_m), 2.0) tmp = 0 if ((math.tan(k) * (math.sin(k) * (math.pow(t_m, 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0))) <= math.inf: tmp = 2.0 / ((math.tan(k) * (2.0 + t_2)) * (math.sin(k) * ((t_m / l) * (math.pow(t_m, 2.0) / l)))) else: tmp = 2.0 / (math.pow((math.pow(t_m, 1.5) / l), 2.0) * (2.0 * (math.sin(k) * math.tan(k)))) return t_s * tmp
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) t_2 = Float64(k / t_m) ^ 2.0 tmp = 0.0 if (Float64(Float64(tan(k) * Float64(sin(k) * Float64((t_m ^ 3.0) / Float64(l * l)))) * Float64(1.0 + Float64(t_2 + 1.0))) <= Inf) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + t_2)) * Float64(sin(k) * Float64(Float64(t_m / l) * Float64((t_m ^ 2.0) / l))))); else tmp = Float64(2.0 / Float64((Float64((t_m ^ 1.5) / l) ^ 2.0) * Float64(2.0 * Float64(sin(k) * tan(k))))); end return Float64(t_s * tmp) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) t_2 = (k / t_m) ^ 2.0; tmp = 0.0; if (((tan(k) * (sin(k) * ((t_m ^ 3.0) / (l * l)))) * (1.0 + (t_2 + 1.0))) <= Inf) tmp = 2.0 / ((tan(k) * (2.0 + t_2)) * (sin(k) * ((t_m / l) * ((t_m ^ 2.0) / l)))); else tmp = 2.0 / ((((t_m ^ 1.5) / l) ^ 2.0) * (2.0 * (sin(k) * tan(k)))); end tmp_2 = t_s * tmp; end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]}, N[(t$95$s * If[LessEqual[N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(t$95$2 + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + t$95$2), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[Power[t$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\left(\frac{k}{t_m}\right)}^{2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;\left(\tan k \cdot \left(\sin k \cdot \frac{{t_m}^{3}}{\ell \cdot \ell}\right)\right) \cdot \left(1 + \left(t_2 + 1\right)\right) \leq \infty:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + t_2\right)\right) \cdot \left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot \left(\sin k \cdot \tan k\right)\right)}\\
\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)) < +inf.0Initial program 84.6%
associate-*l*84.6%
sqr-neg84.6%
sqr-neg84.6%
associate-/r*87.0%
distribute-rgt-in87.0%
unpow287.0%
times-frac65.9%
sqr-neg65.9%
times-frac87.0%
unpow287.0%
distribute-rgt-in87.0%
Simplified87.0%
associate-/l/84.6%
unpow384.6%
times-frac90.7%
pow290.7%
Applied egg-rr90.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%
sqr-neg0.0%
sqr-neg0.0%
associate-/r*15.2%
distribute-rgt-in15.2%
unpow215.2%
times-frac9.7%
sqr-neg9.7%
times-frac15.2%
unpow215.2%
distribute-rgt-in15.2%
Simplified15.2%
add-sqr-sqrt5.8%
pow25.8%
associate-/l/0.0%
sqrt-div0.0%
sqrt-pow16.5%
metadata-eval6.5%
sqrt-unprod10.1%
add-sqr-sqrt23.2%
Applied egg-rr23.2%
Taylor expanded in t around inf 21.5%
expm1-log1p-u20.0%
expm1-udef14.0%
associate-*l*14.0%
tan-quot14.0%
*-commutative14.0%
Applied egg-rr14.0%
expm1-def20.0%
expm1-log1p21.4%
associate-*r*21.4%
*-commutative21.4%
Simplified21.4%
Final simplification63.6%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 1.1e-142)
(/
2.0
(* (/ (* t_m (pow k 2.0)) (pow l 2.0)) (/ (pow (sin k) 2.0) (cos k))))
(/
2.0
(*
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
(pow (* (cbrt (sin k)) (/ t_m (pow (cbrt l) 2.0))) 3.0))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.1e-142) {
tmp = 2.0 / (((t_m * pow(k, 2.0)) / pow(l, 2.0)) * (pow(sin(k), 2.0) / cos(k)));
} else {
tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * pow((cbrt(sin(k)) * (t_m / pow(cbrt(l), 2.0))), 3.0));
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.1e-142) {
tmp = 2.0 / (((t_m * Math.pow(k, 2.0)) / Math.pow(l, 2.0)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
} else {
tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * Math.pow((Math.cbrt(Math.sin(k)) * (t_m / Math.pow(Math.cbrt(l), 2.0))), 3.0));
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 1.1e-142) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 2.0)) / (l ^ 2.0)) * Float64((sin(k) ^ 2.0) / cos(k)))); else tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * (Float64(cbrt(sin(k)) * Float64(t_m / (cbrt(l) ^ 2.0))) ^ 3.0))); end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.1e-142], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision] * N[(t$95$m / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.1 \cdot 10^{-142}:\\
\;\;\;\;\frac{2}{\frac{t_m \cdot {k}^{2}}{{\ell}^{2}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot {\left(\sqrt[3]{\sin k} \cdot \frac{t_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3}}\\
\end{array}
\end{array}
if t < 1.10000000000000008e-142Initial program 49.2%
associate-*l*49.2%
sqr-neg49.2%
sqr-neg49.2%
associate-/r*57.3%
distribute-rgt-in57.3%
unpow257.3%
times-frac37.4%
sqr-neg37.4%
times-frac57.3%
unpow257.3%
distribute-rgt-in57.3%
Simplified57.3%
Taylor expanded in t around 0 62.8%
associate-*r*62.8%
times-frac65.2%
Simplified65.2%
if 1.10000000000000008e-142 < t Initial program 55.9%
associate-*l*55.9%
sqr-neg55.9%
sqr-neg55.9%
associate-/r*62.1%
distribute-rgt-in62.1%
unpow262.1%
times-frac56.1%
sqr-neg56.1%
times-frac62.1%
unpow262.1%
distribute-rgt-in62.1%
Simplified62.1%
add-cube-cbrt62.0%
pow362.0%
*-commutative62.0%
cbrt-prod61.9%
associate-/l/55.7%
cbrt-div55.7%
rem-cbrt-cube61.6%
cbrt-unprod81.3%
pow281.3%
Applied egg-rr81.3%
Final simplification70.8%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 1.25e-142)
(/
2.0
(* (/ (* t_m (pow k 2.0)) (pow l 2.0)) (/ (pow (sin k) 2.0) (cos k))))
(/
2.0
(*
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
(pow (/ (* t_m (cbrt (sin k))) (pow (cbrt l) 2.0)) 3.0))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.25e-142) {
tmp = 2.0 / (((t_m * pow(k, 2.0)) / pow(l, 2.0)) * (pow(sin(k), 2.0) / cos(k)));
} else {
tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * pow(((t_m * cbrt(sin(k))) / pow(cbrt(l), 2.0)), 3.0));
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.25e-142) {
tmp = 2.0 / (((t_m * Math.pow(k, 2.0)) / Math.pow(l, 2.0)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
} else {
tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * Math.pow(((t_m * Math.cbrt(Math.sin(k))) / Math.pow(Math.cbrt(l), 2.0)), 3.0));
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 1.25e-142) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 2.0)) / (l ^ 2.0)) * Float64((sin(k) ^ 2.0) / cos(k)))); else tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * (Float64(Float64(t_m * cbrt(sin(k))) / (cbrt(l) ^ 2.0)) ^ 3.0))); end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.25e-142], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(t$95$m * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] / N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.25 \cdot 10^{-142}:\\
\;\;\;\;\frac{2}{\frac{t_m \cdot {k}^{2}}{{\ell}^{2}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot {\left(\frac{t_m \cdot \sqrt[3]{\sin k}}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3}}\\
\end{array}
\end{array}
if t < 1.2500000000000001e-142Initial program 49.2%
associate-*l*49.2%
sqr-neg49.2%
sqr-neg49.2%
associate-/r*57.3%
distribute-rgt-in57.3%
unpow257.3%
times-frac37.4%
sqr-neg37.4%
times-frac57.3%
unpow257.3%
distribute-rgt-in57.3%
Simplified57.3%
Taylor expanded in t around 0 62.8%
associate-*r*62.8%
times-frac65.2%
Simplified65.2%
if 1.2500000000000001e-142 < t Initial program 55.9%
associate-*l*55.9%
sqr-neg55.9%
sqr-neg55.9%
associate-/r*62.1%
distribute-rgt-in62.1%
unpow262.1%
times-frac56.1%
sqr-neg56.1%
times-frac62.1%
unpow262.1%
distribute-rgt-in62.1%
Simplified62.1%
add-cube-cbrt62.0%
pow362.0%
*-commutative62.0%
cbrt-prod61.9%
associate-/l/55.7%
cbrt-div55.7%
rem-cbrt-cube61.6%
cbrt-unprod81.3%
pow281.3%
Applied egg-rr81.3%
associate-*r/81.2%
Applied egg-rr81.2%
Final simplification70.8%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 2.15e-48)
(pow (/ (/ (pow (cbrt l) 2.0) (pow (cbrt k) 2.0)) t_m) 3.0)
(/
2.0
(pow
(*
(* t_m (pow (cbrt l) -2.0))
(cbrt (* (sin k) (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0))))))
3.0)))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 2.15e-48) {
tmp = pow(((pow(cbrt(l), 2.0) / pow(cbrt(k), 2.0)) / t_m), 3.0);
} else {
tmp = 2.0 / pow(((t_m * pow(cbrt(l), -2.0)) * cbrt((sin(k) * (tan(k) * (2.0 + pow((k / t_m), 2.0)))))), 3.0);
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 2.15e-48) {
tmp = Math.pow(((Math.pow(Math.cbrt(l), 2.0) / Math.pow(Math.cbrt(k), 2.0)) / t_m), 3.0);
} else {
tmp = 2.0 / Math.pow(((t_m * Math.pow(Math.cbrt(l), -2.0)) * Math.cbrt((Math.sin(k) * (Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0)))))), 3.0);
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 2.15e-48) tmp = Float64(Float64((cbrt(l) ^ 2.0) / (cbrt(k) ^ 2.0)) / t_m) ^ 3.0; else tmp = Float64(2.0 / (Float64(Float64(t_m * (cbrt(l) ^ -2.0)) * cbrt(Float64(sin(k) * Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0)))))) ^ 3.0)); end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 2.15e-48], N[Power[N[(N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision], N[(2.0 / N[Power[N[(N[(t$95$m * N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 2.15 \cdot 10^{-48}:\\
\;\;\;\;{\left(\frac{\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{{\left(\sqrt[3]{k}\right)}^{2}}}{t_m}\right)}^{3}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\left(t_m \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\right) \cdot \sqrt[3]{\sin k \cdot \left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right)}\right)}^{3}}\\
\end{array}
\end{array}
if k < 2.15e-48Initial program 54.7%
associate-/r*54.7%
sqr-neg54.7%
associate-*l*49.6%
sqr-neg49.6%
associate-/r*55.5%
associate-+l+55.5%
unpow255.5%
times-frac39.9%
sqr-neg39.9%
times-frac55.5%
unpow255.5%
Simplified55.5%
Taylor expanded in k around 0 53.1%
add-cube-cbrt53.1%
pow353.1%
associate-/r*50.9%
cbrt-div51.0%
rem-cbrt-cube57.5%
Applied egg-rr57.5%
pow257.5%
cbrt-div61.5%
unpow261.5%
cbrt-prod68.3%
unpow268.3%
cbrt-prod76.7%
pow276.7%
Applied egg-rr76.7%
if 2.15e-48 < k Initial program 43.8%
associate-*l*43.8%
sqr-neg43.8%
sqr-neg43.8%
associate-/r*54.8%
distribute-rgt-in54.8%
unpow254.8%
times-frac41.2%
sqr-neg41.2%
times-frac54.8%
unpow254.8%
distribute-rgt-in54.8%
Simplified54.8%
add-cube-cbrt54.7%
pow354.7%
*-commutative54.7%
cbrt-prod54.6%
associate-/l/43.7%
cbrt-div43.6%
rem-cbrt-cube48.1%
cbrt-unprod67.2%
pow267.2%
Applied egg-rr67.2%
Applied egg-rr75.5%
Final simplification76.4%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 7.2e-143)
(/
2.0
(* (/ (* t_m (pow k 2.0)) (pow l 2.0)) (/ (pow (sin k) 2.0) (cos k))))
(/
2.0
(*
(sin k)
(*
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
(pow (* t_m (pow (cbrt l) -2.0)) 3.0)))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 7.2e-143) {
tmp = 2.0 / (((t_m * pow(k, 2.0)) / pow(l, 2.0)) * (pow(sin(k), 2.0) / cos(k)));
} else {
tmp = 2.0 / (sin(k) * ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * pow((t_m * pow(cbrt(l), -2.0)), 3.0)));
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 7.2e-143) {
tmp = 2.0 / (((t_m * Math.pow(k, 2.0)) / Math.pow(l, 2.0)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
} else {
tmp = 2.0 / (Math.sin(k) * ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * Math.pow((t_m * Math.pow(Math.cbrt(l), -2.0)), 3.0)));
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 7.2e-143) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 2.0)) / (l ^ 2.0)) * Float64((sin(k) ^ 2.0) / cos(k)))); else tmp = Float64(2.0 / Float64(sin(k) * Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * (Float64(t_m * (cbrt(l) ^ -2.0)) ^ 3.0)))); end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 7.2e-143], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Sin[k], $MachinePrecision] * N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[N[(t$95$m * N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 7.2 \cdot 10^{-143}:\\
\;\;\;\;\frac{2}{\frac{t_m \cdot {k}^{2}}{{\ell}^{2}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\sin k \cdot \left(\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot {\left(t_m \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\right)}^{3}\right)}\\
\end{array}
\end{array}
if t < 7.1999999999999996e-143Initial program 49.2%
associate-*l*49.2%
sqr-neg49.2%
sqr-neg49.2%
associate-/r*57.3%
distribute-rgt-in57.3%
unpow257.3%
times-frac37.4%
sqr-neg37.4%
times-frac57.3%
unpow257.3%
distribute-rgt-in57.3%
Simplified57.3%
Taylor expanded in t around 0 62.8%
associate-*r*62.8%
times-frac65.2%
Simplified65.2%
if 7.1999999999999996e-143 < t Initial program 55.9%
associate-*l*55.9%
sqr-neg55.9%
sqr-neg55.9%
associate-/r*62.1%
distribute-rgt-in62.1%
unpow262.1%
times-frac56.1%
sqr-neg56.1%
times-frac62.1%
unpow262.1%
distribute-rgt-in62.1%
Simplified62.1%
add-cube-cbrt62.0%
pow362.0%
*-commutative62.0%
cbrt-prod61.9%
associate-/l/55.7%
cbrt-div55.7%
rem-cbrt-cube61.6%
cbrt-unprod81.3%
pow281.3%
Applied egg-rr81.3%
associate-*r/81.2%
Applied egg-rr81.2%
add-cube-cbrt81.1%
pow381.1%
div-inv81.2%
pow-flip81.1%
metadata-eval81.1%
Applied egg-rr81.1%
expm1-log1p-u62.3%
expm1-udef46.9%
Applied egg-rr46.0%
expm1-def61.4%
expm1-log1p80.3%
associate-*l*80.4%
Simplified80.4%
Final simplification70.5%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 9e-143)
(/
2.0
(* (/ (* t_m (pow k 2.0)) (pow l 2.0)) (/ (pow (sin k) 2.0) (cos k))))
(if (<= t_m 1.5e+186)
(/
2.0
(*
(tan k)
(*
(+ 2.0 (pow (/ k t_m) 2.0))
(* (sin k) (pow (* l (pow t_m -1.5)) -2.0)))))
(pow (/ (/ (pow (cbrt l) 2.0) (pow (cbrt k) 2.0)) t_m) 3.0)))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 9e-143) {
tmp = 2.0 / (((t_m * pow(k, 2.0)) / pow(l, 2.0)) * (pow(sin(k), 2.0) / cos(k)));
} else if (t_m <= 1.5e+186) {
tmp = 2.0 / (tan(k) * ((2.0 + pow((k / t_m), 2.0)) * (sin(k) * pow((l * pow(t_m, -1.5)), -2.0))));
} else {
tmp = pow(((pow(cbrt(l), 2.0) / pow(cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 9e-143) {
tmp = 2.0 / (((t_m * Math.pow(k, 2.0)) / Math.pow(l, 2.0)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
} else if (t_m <= 1.5e+186) {
tmp = 2.0 / (Math.tan(k) * ((2.0 + Math.pow((k / t_m), 2.0)) * (Math.sin(k) * Math.pow((l * Math.pow(t_m, -1.5)), -2.0))));
} else {
tmp = Math.pow(((Math.pow(Math.cbrt(l), 2.0) / Math.pow(Math.cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 9e-143) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 2.0)) / (l ^ 2.0)) * Float64((sin(k) ^ 2.0) / cos(k)))); elseif (t_m <= 1.5e+186) tmp = Float64(2.0 / Float64(tan(k) * Float64(Float64(2.0 + (Float64(k / t_m) ^ 2.0)) * Float64(sin(k) * (Float64(l * (t_m ^ -1.5)) ^ -2.0))))); else tmp = Float64(Float64((cbrt(l) ^ 2.0) / (cbrt(k) ^ 2.0)) / t_m) ^ 3.0; end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 9e-143], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 1.5e+186], N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[Power[N[(l * N[Power[t$95$m, -1.5], $MachinePrecision]), $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 9 \cdot 10^{-143}:\\
\;\;\;\;\frac{2}{\frac{t_m \cdot {k}^{2}}{{\ell}^{2}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\mathbf{elif}\;t_m \leq 1.5 \cdot 10^{+186}:\\
\;\;\;\;\frac{2}{\tan k \cdot \left(\left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right) \cdot \left(\sin k \cdot {\left(\ell \cdot {t_m}^{-1.5}\right)}^{-2}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{{\left(\sqrt[3]{k}\right)}^{2}}}{t_m}\right)}^{3}\\
\end{array}
\end{array}
if t < 9.00000000000000001e-143Initial program 49.2%
associate-*l*49.2%
sqr-neg49.2%
sqr-neg49.2%
associate-/r*57.3%
distribute-rgt-in57.3%
unpow257.3%
times-frac37.4%
sqr-neg37.4%
times-frac57.3%
unpow257.3%
distribute-rgt-in57.3%
Simplified57.3%
Taylor expanded in t around 0 62.8%
associate-*r*62.8%
times-frac65.2%
Simplified65.2%
if 9.00000000000000001e-143 < t < 1.49999999999999991e186Initial program 54.1%
associate-*l*54.2%
sqr-neg54.2%
sqr-neg54.2%
associate-/r*59.2%
distribute-rgt-in59.2%
unpow259.2%
times-frac58.9%
sqr-neg58.9%
times-frac59.2%
unpow259.2%
distribute-rgt-in59.2%
Simplified59.2%
add-sqr-sqrt59.1%
pow259.1%
associate-/l/54.1%
sqrt-div54.1%
sqrt-pow160.5%
metadata-eval60.5%
sqrt-unprod30.8%
add-sqr-sqrt76.7%
Applied egg-rr76.7%
clear-num76.7%
inv-pow76.7%
Applied egg-rr76.7%
expm1-log1p-u68.4%
expm1-udef48.0%
Applied egg-rr48.0%
expm1-def68.4%
expm1-log1p76.7%
associate-*l*76.7%
Simplified76.7%
if 1.49999999999999991e186 < t Initial program 60.5%
associate-/r*60.5%
sqr-neg60.5%
associate-*l*52.5%
sqr-neg52.5%
associate-/r*61.7%
associate-+l+61.7%
unpow261.7%
times-frac40.7%
sqr-neg40.7%
times-frac61.7%
unpow261.7%
Simplified61.7%
Taylor expanded in k around 0 52.5%
add-cube-cbrt52.5%
pow352.5%
associate-/r*44.0%
cbrt-div44.0%
rem-cbrt-cube44.8%
Applied egg-rr44.8%
pow244.8%
cbrt-div60.2%
unpow260.2%
cbrt-prod73.0%
unpow273.0%
cbrt-prod80.8%
pow280.8%
Applied egg-rr80.8%
Final simplification69.6%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 1e-142)
(/
2.0
(* (/ (* t_m (pow k 2.0)) (pow l 2.0)) (/ (pow (sin k) 2.0) (cos k))))
(if (<= t_m 2.7e+186)
(/
2.0
(*
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
(* (sin k) (pow (/ (pow t_m 1.5) l) 2.0))))
(pow (/ (/ (pow (cbrt l) 2.0) (pow (cbrt k) 2.0)) t_m) 3.0)))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1e-142) {
tmp = 2.0 / (((t_m * pow(k, 2.0)) / pow(l, 2.0)) * (pow(sin(k), 2.0) / cos(k)));
} else if (t_m <= 2.7e+186) {
tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * (sin(k) * pow((pow(t_m, 1.5) / l), 2.0)));
} else {
tmp = pow(((pow(cbrt(l), 2.0) / pow(cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1e-142) {
tmp = 2.0 / (((t_m * Math.pow(k, 2.0)) / Math.pow(l, 2.0)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
} else if (t_m <= 2.7e+186) {
tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * (Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0)));
} else {
tmp = Math.pow(((Math.pow(Math.cbrt(l), 2.0) / Math.pow(Math.cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 1e-142) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 2.0)) / (l ^ 2.0)) * Float64((sin(k) ^ 2.0) / cos(k)))); elseif (t_m <= 2.7e+186) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0)))); else tmp = Float64(Float64((cbrt(l) ^ 2.0) / (cbrt(k) ^ 2.0)) / t_m) ^ 3.0; end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1e-142], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 2.7e+186], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 10^{-142}:\\
\;\;\;\;\frac{2}{\frac{t_m \cdot {k}^{2}}{{\ell}^{2}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\mathbf{elif}\;t_m \leq 2.7 \cdot 10^{+186}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{{\left(\sqrt[3]{k}\right)}^{2}}}{t_m}\right)}^{3}\\
\end{array}
\end{array}
if t < 1e-142Initial program 49.2%
associate-*l*49.2%
sqr-neg49.2%
sqr-neg49.2%
associate-/r*57.3%
distribute-rgt-in57.3%
unpow257.3%
times-frac37.4%
sqr-neg37.4%
times-frac57.3%
unpow257.3%
distribute-rgt-in57.3%
Simplified57.3%
Taylor expanded in t around 0 62.8%
associate-*r*62.8%
times-frac65.2%
Simplified65.2%
if 1e-142 < t < 2.6999999999999999e186Initial program 54.1%
associate-*l*54.2%
sqr-neg54.2%
sqr-neg54.2%
associate-/r*59.2%
distribute-rgt-in59.2%
unpow259.2%
times-frac58.9%
sqr-neg58.9%
times-frac59.2%
unpow259.2%
distribute-rgt-in59.2%
Simplified59.2%
add-sqr-sqrt59.1%
pow259.1%
associate-/l/54.1%
sqrt-div54.1%
sqrt-pow160.5%
metadata-eval60.5%
sqrt-unprod30.8%
add-sqr-sqrt76.7%
Applied egg-rr76.7%
if 2.6999999999999999e186 < t Initial program 60.5%
associate-/r*60.5%
sqr-neg60.5%
associate-*l*52.5%
sqr-neg52.5%
associate-/r*61.7%
associate-+l+61.7%
unpow261.7%
times-frac40.7%
sqr-neg40.7%
times-frac61.7%
unpow261.7%
Simplified61.7%
Taylor expanded in k around 0 52.5%
add-cube-cbrt52.5%
pow352.5%
associate-/r*44.0%
cbrt-div44.0%
rem-cbrt-cube44.8%
Applied egg-rr44.8%
pow244.8%
cbrt-div60.2%
unpow260.2%
cbrt-prod73.0%
unpow273.0%
cbrt-prod80.8%
pow280.8%
Applied egg-rr80.8%
Final simplification69.6%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 2.3e-143)
(/
2.0
(* (/ (* t_m (pow k 2.0)) (pow l 2.0)) (/ (pow (sin k) 2.0) (cos k))))
(/
2.0
(*
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
(* (sin k) (* (pow (* t_m (sqrt (/ 1.0 l))) 2.0) (/ t_m l))))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 2.3e-143) {
tmp = 2.0 / (((t_m * pow(k, 2.0)) / pow(l, 2.0)) * (pow(sin(k), 2.0) / cos(k)));
} else {
tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * (sin(k) * (pow((t_m * sqrt((1.0 / l))), 2.0) * (t_m / l))));
}
return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 2.3d-143) then
tmp = 2.0d0 / (((t_m * (k ** 2.0d0)) / (l ** 2.0d0)) * ((sin(k) ** 2.0d0) / cos(k)))
else
tmp = 2.0d0 / ((tan(k) * (2.0d0 + ((k / t_m) ** 2.0d0))) * (sin(k) * (((t_m * sqrt((1.0d0 / l))) ** 2.0d0) * (t_m / l))))
end if
code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 2.3e-143) {
tmp = 2.0 / (((t_m * Math.pow(k, 2.0)) / Math.pow(l, 2.0)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
} else {
tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * (Math.sin(k) * (Math.pow((t_m * Math.sqrt((1.0 / l))), 2.0) * (t_m / l))));
}
return t_s * tmp;
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if t_m <= 2.3e-143: tmp = 2.0 / (((t_m * math.pow(k, 2.0)) / math.pow(l, 2.0)) * (math.pow(math.sin(k), 2.0) / math.cos(k))) else: tmp = 2.0 / ((math.tan(k) * (2.0 + math.pow((k / t_m), 2.0))) * (math.sin(k) * (math.pow((t_m * math.sqrt((1.0 / l))), 2.0) * (t_m / l)))) return t_s * tmp
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 2.3e-143) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 2.0)) / (l ^ 2.0)) * Float64((sin(k) ^ 2.0) / cos(k)))); else tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * Float64(sin(k) * Float64((Float64(t_m * sqrt(Float64(1.0 / l))) ^ 2.0) * Float64(t_m / l))))); end return Float64(t_s * tmp) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (t_m <= 2.3e-143) tmp = 2.0 / (((t_m * (k ^ 2.0)) / (l ^ 2.0)) * ((sin(k) ^ 2.0) / cos(k))); else tmp = 2.0 / ((tan(k) * (2.0 + ((k / t_m) ^ 2.0))) * (sin(k) * (((t_m * sqrt((1.0 / l))) ^ 2.0) * (t_m / l)))); end tmp_2 = t_s * tmp; end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 2.3e-143], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[N[(t$95$m * N[Sqrt[N[(1.0 / l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 2.3 \cdot 10^{-143}:\\
\;\;\;\;\frac{2}{\frac{t_m \cdot {k}^{2}}{{\ell}^{2}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\sin k \cdot \left({\left(t_m \cdot \sqrt{\frac{1}{\ell}}\right)}^{2} \cdot \frac{t_m}{\ell}\right)\right)}\\
\end{array}
\end{array}
if t < 2.30000000000000011e-143Initial program 49.2%
associate-*l*49.2%
sqr-neg49.2%
sqr-neg49.2%
associate-/r*57.3%
distribute-rgt-in57.3%
unpow257.3%
times-frac37.4%
sqr-neg37.4%
times-frac57.3%
unpow257.3%
distribute-rgt-in57.3%
Simplified57.3%
Taylor expanded in t around 0 62.8%
associate-*r*62.8%
times-frac65.2%
Simplified65.2%
if 2.30000000000000011e-143 < t Initial program 55.9%
associate-*l*55.9%
sqr-neg55.9%
sqr-neg55.9%
associate-/r*62.1%
distribute-rgt-in62.1%
unpow262.1%
times-frac56.1%
sqr-neg56.1%
times-frac62.1%
unpow262.1%
distribute-rgt-in62.1%
Simplified62.1%
associate-/l/55.9%
unpow355.9%
times-frac68.5%
pow268.5%
Applied egg-rr68.5%
add-sqr-sqrt24.3%
pow224.3%
div-inv24.2%
sqrt-prod24.2%
unpow224.2%
sqrt-prod25.3%
add-sqr-sqrt25.3%
Applied egg-rr35.8%
Final simplification54.8%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 5.5e-143)
(*
2.0
(* (/ (pow l 2.0) (pow k 2.0)) (/ (cos k) (* t_m (pow (sin k) 2.0)))))
(if (<= t_m 4.5e+152)
(/
2.0
(*
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
(* (sin k) (* (/ t_m l) (/ (pow t_m 2.0) l)))))
(pow (/ (/ (pow (cbrt l) 2.0) (pow (cbrt k) 2.0)) t_m) 3.0)))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 5.5e-143) {
tmp = 2.0 * ((pow(l, 2.0) / pow(k, 2.0)) * (cos(k) / (t_m * pow(sin(k), 2.0))));
} else if (t_m <= 4.5e+152) {
tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * (sin(k) * ((t_m / l) * (pow(t_m, 2.0) / l))));
} else {
tmp = pow(((pow(cbrt(l), 2.0) / pow(cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 5.5e-143) {
tmp = 2.0 * ((Math.pow(l, 2.0) / Math.pow(k, 2.0)) * (Math.cos(k) / (t_m * Math.pow(Math.sin(k), 2.0))));
} else if (t_m <= 4.5e+152) {
tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * (Math.sin(k) * ((t_m / l) * (Math.pow(t_m, 2.0) / l))));
} else {
tmp = Math.pow(((Math.pow(Math.cbrt(l), 2.0) / Math.pow(Math.cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 5.5e-143) tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) / (k ^ 2.0)) * Float64(cos(k) / Float64(t_m * (sin(k) ^ 2.0))))); elseif (t_m <= 4.5e+152) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * Float64(sin(k) * Float64(Float64(t_m / l) * Float64((t_m ^ 2.0) / l))))); else tmp = Float64(Float64((cbrt(l) ^ 2.0) / (cbrt(k) ^ 2.0)) / t_m) ^ 3.0; end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 5.5e-143], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Cos[k], $MachinePrecision] / N[(t$95$m * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 4.5e+152], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[Power[t$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 5.5 \cdot 10^{-143}:\\
\;\;\;\;2 \cdot \left(\frac{{\ell}^{2}}{{k}^{2}} \cdot \frac{\cos k}{t_m \cdot {\sin k}^{2}}\right)\\
\mathbf{elif}\;t_m \leq 4.5 \cdot 10^{+152}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{{\left(\sqrt[3]{k}\right)}^{2}}}{t_m}\right)}^{3}\\
\end{array}
\end{array}
if t < 5.50000000000000041e-143Initial program 49.2%
associate-/r*49.2%
sqr-neg49.2%
associate-*l*46.6%
sqr-neg46.6%
associate-/r*54.6%
associate-+l+54.6%
unpow254.6%
times-frac34.7%
sqr-neg34.7%
times-frac54.6%
unpow254.6%
Simplified54.6%
Taylor expanded in t around 0 62.8%
times-frac62.7%
Simplified62.7%
if 5.50000000000000041e-143 < t < 4.5000000000000001e152Initial program 58.2%
associate-*l*58.2%
sqr-neg58.2%
sqr-neg58.2%
associate-/r*63.6%
distribute-rgt-in63.6%
unpow263.6%
times-frac63.5%
sqr-neg63.5%
times-frac63.6%
unpow263.6%
distribute-rgt-in63.6%
Simplified63.6%
associate-/l/58.2%
unpow358.1%
times-frac73.7%
pow273.7%
Applied egg-rr73.7%
if 4.5000000000000001e152 < t Initial program 52.0%
associate-/r*52.0%
sqr-neg52.0%
associate-*l*42.9%
sqr-neg42.9%
associate-/r*50.6%
associate-+l+50.6%
unpow250.6%
times-frac34.1%
sqr-neg34.1%
times-frac50.6%
unpow250.6%
Simplified50.6%
Taylor expanded in k around 0 42.9%
add-cube-cbrt42.9%
pow342.9%
associate-/r*36.4%
cbrt-div36.4%
rem-cbrt-cube37.2%
Applied egg-rr37.2%
pow237.2%
cbrt-div51.7%
unpow251.7%
cbrt-prod64.8%
unpow264.8%
cbrt-prod73.8%
pow273.8%
Applied egg-rr73.8%
Final simplification66.6%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 1.1e-142)
(/
2.0
(* (/ (* t_m (pow k 2.0)) (pow l 2.0)) (/ (pow (sin k) 2.0) (cos k))))
(if (<= t_m 8.5e+151)
(/
2.0
(*
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
(* (sin k) (* (/ t_m l) (/ (pow t_m 2.0) l)))))
(pow (/ (/ (pow (cbrt l) 2.0) (pow (cbrt k) 2.0)) t_m) 3.0)))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.1e-142) {
tmp = 2.0 / (((t_m * pow(k, 2.0)) / pow(l, 2.0)) * (pow(sin(k), 2.0) / cos(k)));
} else if (t_m <= 8.5e+151) {
tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * (sin(k) * ((t_m / l) * (pow(t_m, 2.0) / l))));
} else {
tmp = pow(((pow(cbrt(l), 2.0) / pow(cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.1e-142) {
tmp = 2.0 / (((t_m * Math.pow(k, 2.0)) / Math.pow(l, 2.0)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
} else if (t_m <= 8.5e+151) {
tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * (Math.sin(k) * ((t_m / l) * (Math.pow(t_m, 2.0) / l))));
} else {
tmp = Math.pow(((Math.pow(Math.cbrt(l), 2.0) / Math.pow(Math.cbrt(k), 2.0)) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 1.1e-142) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 2.0)) / (l ^ 2.0)) * Float64((sin(k) ^ 2.0) / cos(k)))); elseif (t_m <= 8.5e+151) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * Float64(sin(k) * Float64(Float64(t_m / l) * Float64((t_m ^ 2.0) / l))))); else tmp = Float64(Float64((cbrt(l) ^ 2.0) / (cbrt(k) ^ 2.0)) / t_m) ^ 3.0; end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.1e-142], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 8.5e+151], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[Power[t$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(N[Power[N[Power[l, 1/3], $MachinePrecision], 2.0], $MachinePrecision] / N[Power[N[Power[k, 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.1 \cdot 10^{-142}:\\
\;\;\;\;\frac{2}{\frac{t_m \cdot {k}^{2}}{{\ell}^{2}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\mathbf{elif}\;t_m \leq 8.5 \cdot 10^{+151}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\frac{{\left(\sqrt[3]{\ell}\right)}^{2}}{{\left(\sqrt[3]{k}\right)}^{2}}}{t_m}\right)}^{3}\\
\end{array}
\end{array}
if t < 1.10000000000000008e-142Initial program 49.2%
associate-*l*49.2%
sqr-neg49.2%
sqr-neg49.2%
associate-/r*57.3%
distribute-rgt-in57.3%
unpow257.3%
times-frac37.4%
sqr-neg37.4%
times-frac57.3%
unpow257.3%
distribute-rgt-in57.3%
Simplified57.3%
Taylor expanded in t around 0 62.8%
associate-*r*62.8%
times-frac65.2%
Simplified65.2%
if 1.10000000000000008e-142 < t < 8.50000000000000051e151Initial program 58.2%
associate-*l*58.2%
sqr-neg58.2%
sqr-neg58.2%
associate-/r*63.6%
distribute-rgt-in63.6%
unpow263.6%
times-frac63.5%
sqr-neg63.5%
times-frac63.6%
unpow263.6%
distribute-rgt-in63.6%
Simplified63.6%
associate-/l/58.2%
unpow358.1%
times-frac73.7%
pow273.7%
Applied egg-rr73.7%
if 8.50000000000000051e151 < t Initial program 52.0%
associate-/r*52.0%
sqr-neg52.0%
associate-*l*42.9%
sqr-neg42.9%
associate-/r*50.6%
associate-+l+50.6%
unpow250.6%
times-frac34.1%
sqr-neg34.1%
times-frac50.6%
unpow250.6%
Simplified50.6%
Taylor expanded in k around 0 42.9%
add-cube-cbrt42.9%
pow342.9%
associate-/r*36.4%
cbrt-div36.4%
rem-cbrt-cube37.2%
Applied egg-rr37.2%
pow237.2%
cbrt-div51.7%
unpow251.7%
cbrt-prod64.8%
unpow264.8%
cbrt-prod73.8%
pow273.8%
Applied egg-rr73.8%
Final simplification68.2%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 1.25e-142)
(pow (/ (/ 1.0 (cbrt (/ (pow k 2.0) (pow l 2.0)))) t_m) 3.0)
(if (<= t_m 1.55e+113)
(/
2.0
(*
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))
(* (sin k) (/ (/ (pow t_m 3.0) l) l))))
(/
2.0
(*
(* (sin k) (* (pow (* t_m (sqrt (/ 1.0 l))) 2.0) (/ t_m l)))
(* 2.0 k)))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.25e-142) {
tmp = pow(((1.0 / cbrt((pow(k, 2.0) / pow(l, 2.0)))) / t_m), 3.0);
} else if (t_m <= 1.55e+113) {
tmp = 2.0 / ((tan(k) * (2.0 + pow((k / t_m), 2.0))) * (sin(k) * ((pow(t_m, 3.0) / l) / l)));
} else {
tmp = 2.0 / ((sin(k) * (pow((t_m * sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.25e-142) {
tmp = Math.pow(((1.0 / Math.cbrt((Math.pow(k, 2.0) / Math.pow(l, 2.0)))) / t_m), 3.0);
} else if (t_m <= 1.55e+113) {
tmp = 2.0 / ((Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))) * (Math.sin(k) * ((Math.pow(t_m, 3.0) / l) / l)));
} else {
tmp = 2.0 / ((Math.sin(k) * (Math.pow((t_m * Math.sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 1.25e-142) tmp = Float64(Float64(1.0 / cbrt(Float64((k ^ 2.0) / (l ^ 2.0)))) / t_m) ^ 3.0; elseif (t_m <= 1.55e+113) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) * Float64(sin(k) * Float64(Float64((t_m ^ 3.0) / l) / l)))); else tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64((Float64(t_m * sqrt(Float64(1.0 / l))) ^ 2.0) * Float64(t_m / l))) * Float64(2.0 * k))); end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.25e-142], N[Power[N[(N[(1.0 / N[Power[N[(N[Power[k, 2.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision], If[LessEqual[t$95$m, 1.55e+113], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[N[(t$95$m * N[Sqrt[N[(1.0 / l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;t_m \leq 1.25 \cdot 10^{-142}:\\
\;\;\;\;{\left(\frac{\frac{1}{\sqrt[3]{\frac{{k}^{2}}{{\ell}^{2}}}}}{t_m}\right)}^{3}\\
\mathbf{elif}\;t_m \leq 1.55 \cdot 10^{+113}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(2 + {\left(\frac{k}{t_m}\right)}^{2}\right)\right) \cdot \left(\sin k \cdot \frac{\frac{{t_m}^{3}}{\ell}}{\ell}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \left({\left(t_m \cdot \sqrt{\frac{1}{\ell}}\right)}^{2} \cdot \frac{t_m}{\ell}\right)\right) \cdot \left(2 \cdot k\right)}\\
\end{array}
\end{array}
if t < 1.2500000000000001e-142Initial program 49.2%
associate-/r*49.2%
sqr-neg49.2%
associate-*l*46.6%
sqr-neg46.6%
associate-/r*54.6%
associate-+l+54.6%
unpow254.6%
times-frac34.7%
sqr-neg34.7%
times-frac54.6%
unpow254.6%
Simplified54.6%
Taylor expanded in k around 0 51.7%
add-cube-cbrt51.6%
pow351.6%
associate-/r*50.6%
cbrt-div50.6%
rem-cbrt-cube59.6%
Applied egg-rr59.6%
pow259.6%
clear-num59.5%
cbrt-div59.6%
metadata-eval59.6%
pow259.6%
Applied egg-rr59.6%
if 1.2500000000000001e-142 < t < 1.54999999999999996e113Initial program 61.0%
associate-*l*61.0%
sqr-neg61.0%
sqr-neg61.0%
associate-/r*67.3%
distribute-rgt-in67.3%
unpow267.3%
times-frac67.3%
sqr-neg67.3%
times-frac67.3%
unpow267.3%
distribute-rgt-in67.3%
Simplified67.3%
if 1.54999999999999996e113 < t Initial program 50.0%
associate-*l*50.0%
sqr-neg50.0%
sqr-neg50.0%
associate-/r*56.2%
distribute-rgt-in56.2%
unpow256.2%
times-frac43.3%
sqr-neg43.3%
times-frac56.2%
unpow256.2%
distribute-rgt-in56.2%
Simplified56.2%
associate-/l/50.0%
unpow350.0%
times-frac67.7%
pow267.7%
Applied egg-rr67.7%
Taylor expanded in k around 0 60.9%
add-sqr-sqrt29.9%
pow229.9%
div-inv29.9%
sqrt-prod29.9%
unpow229.9%
sqrt-prod32.1%
add-sqr-sqrt32.2%
Applied egg-rr32.2%
Final simplification56.5%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= l 2.8e-139)
(/
2.0
(*
(* (sin k) (* (pow (* t_m (sqrt (/ 1.0 l))) 2.0) (/ t_m l)))
(* 2.0 k)))
(if (<= l 4.8e+48)
(pow (/ (cbrt (/ (pow l 2.0) (pow k 2.0))) t_m) 3.0)
(if (<= l 6.6e+136)
(/ (pow l 2.0) (pow (* k (pow t_m 1.5)) 2.0))
(/
2.0
(* (pow (/ (pow t_m 1.5) l) 2.0) (* 2.0 (* (sin k) (tan k))))))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (l <= 2.8e-139) {
tmp = 2.0 / ((sin(k) * (pow((t_m * sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
} else if (l <= 4.8e+48) {
tmp = pow((cbrt((pow(l, 2.0) / pow(k, 2.0))) / t_m), 3.0);
} else if (l <= 6.6e+136) {
tmp = pow(l, 2.0) / pow((k * pow(t_m, 1.5)), 2.0);
} else {
tmp = 2.0 / (pow((pow(t_m, 1.5) / l), 2.0) * (2.0 * (sin(k) * tan(k))));
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (l <= 2.8e-139) {
tmp = 2.0 / ((Math.sin(k) * (Math.pow((t_m * Math.sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
} else if (l <= 4.8e+48) {
tmp = Math.pow((Math.cbrt((Math.pow(l, 2.0) / Math.pow(k, 2.0))) / t_m), 3.0);
} else if (l <= 6.6e+136) {
tmp = Math.pow(l, 2.0) / Math.pow((k * Math.pow(t_m, 1.5)), 2.0);
} else {
tmp = 2.0 / (Math.pow((Math.pow(t_m, 1.5) / l), 2.0) * (2.0 * (Math.sin(k) * Math.tan(k))));
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (l <= 2.8e-139) tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64((Float64(t_m * sqrt(Float64(1.0 / l))) ^ 2.0) * Float64(t_m / l))) * Float64(2.0 * k))); elseif (l <= 4.8e+48) tmp = Float64(cbrt(Float64((l ^ 2.0) / (k ^ 2.0))) / t_m) ^ 3.0; elseif (l <= 6.6e+136) tmp = Float64((l ^ 2.0) / (Float64(k * (t_m ^ 1.5)) ^ 2.0)); else tmp = Float64(2.0 / Float64((Float64((t_m ^ 1.5) / l) ^ 2.0) * Float64(2.0 * Float64(sin(k) * tan(k))))); end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[l, 2.8e-139], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[N[(t$95$m * N[Sqrt[N[(1.0 / l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[l, 4.8e+48], N[Power[N[(N[Power[N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision], If[LessEqual[l, 6.6e+136], N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[N[(k * N[Power[t$95$m, 1.5], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;\ell \leq 2.8 \cdot 10^{-139}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \left({\left(t_m \cdot \sqrt{\frac{1}{\ell}}\right)}^{2} \cdot \frac{t_m}{\ell}\right)\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{elif}\;\ell \leq 4.8 \cdot 10^{+48}:\\
\;\;\;\;{\left(\frac{\sqrt[3]{\frac{{\ell}^{2}}{{k}^{2}}}}{t_m}\right)}^{3}\\
\mathbf{elif}\;\ell \leq 6.6 \cdot 10^{+136}:\\
\;\;\;\;\frac{{\ell}^{2}}{{\left(k \cdot {t_m}^{1.5}\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2} \cdot \left(2 \cdot \left(\sin k \cdot \tan k\right)\right)}\\
\end{array}
\end{array}
if l < 2.7999999999999999e-139Initial program 53.0%
associate-*l*53.0%
sqr-neg53.0%
sqr-neg53.0%
associate-/r*61.6%
distribute-rgt-in61.6%
unpow261.6%
times-frac46.2%
sqr-neg46.2%
times-frac61.6%
unpow261.6%
distribute-rgt-in61.6%
Simplified61.6%
associate-/l/53.0%
unpow353.0%
times-frac68.4%
pow268.4%
Applied egg-rr68.4%
Taylor expanded in k around 0 65.3%
add-sqr-sqrt17.5%
pow217.5%
div-inv17.5%
sqrt-prod16.0%
unpow216.0%
sqrt-prod7.7%
add-sqr-sqrt16.1%
Applied egg-rr16.1%
if 2.7999999999999999e-139 < l < 4.8000000000000002e48Initial program 64.7%
associate-/r*64.7%
sqr-neg64.7%
associate-*l*59.0%
sqr-neg59.0%
associate-/r*59.0%
associate-+l+59.0%
unpow259.0%
times-frac49.9%
sqr-neg49.9%
times-frac59.0%
unpow259.0%
Simplified59.0%
Taylor expanded in k around 0 59.5%
add-cube-cbrt59.4%
pow359.4%
associate-/r*59.4%
cbrt-div59.4%
rem-cbrt-cube65.7%
Applied egg-rr65.7%
if 4.8000000000000002e48 < l < 6.59999999999999984e136Initial program 62.6%
associate-/r*62.6%
sqr-neg62.6%
associate-*l*62.5%
sqr-neg62.5%
associate-/r*62.4%
associate-+l+62.4%
unpow262.4%
times-frac51.3%
sqr-neg51.3%
times-frac62.4%
unpow262.4%
Simplified62.4%
Taylor expanded in k around 0 57.1%
add-sqr-sqrt18.0%
pow218.0%
sqrt-prod18.0%
unpow218.0%
sqrt-prod0.7%
add-sqr-sqrt18.1%
metadata-eval18.1%
pow-prod-up18.1%
sqrt-prod23.5%
add-sqr-sqrt23.5%
Applied egg-rr23.5%
if 6.59999999999999984e136 < l Initial program 33.7%
associate-*l*33.7%
sqr-neg33.7%
sqr-neg33.7%
associate-/r*45.2%
distribute-rgt-in45.2%
unpow245.2%
times-frac25.7%
sqr-neg25.7%
times-frac45.2%
unpow245.2%
distribute-rgt-in45.2%
Simplified45.2%
add-sqr-sqrt17.6%
pow217.6%
associate-/l/14.8%
sqrt-div14.8%
sqrt-pow115.1%
metadata-eval15.1%
sqrt-unprod25.4%
add-sqr-sqrt25.5%
Applied egg-rr25.5%
Taylor expanded in t around inf 28.3%
expm1-log1p-u25.6%
expm1-udef21.3%
associate-*l*21.3%
tan-quot21.3%
*-commutative21.3%
Applied egg-rr21.3%
expm1-def25.7%
expm1-log1p28.4%
associate-*r*28.4%
*-commutative28.4%
Simplified28.4%
Final simplification25.3%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 2.2e-7)
(/
2.0
(*
(* (sin k) (* (pow (* t_m (sqrt (/ 1.0 l))) 2.0) (/ t_m l)))
(* 2.0 k)))
(if (or (<= k 1.95e+177) (not (<= k 6.5e+236)))
(pow (/ (cbrt (* (pow l 2.0) (pow k -2.0))) t_m) 3.0)
(/ 2.0 (* (* (sin k) (pow (/ (pow t_m 1.5) l) 2.0)) (* 2.0 k)))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 2.2e-7) {
tmp = 2.0 / ((sin(k) * (pow((t_m * sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
} else if ((k <= 1.95e+177) || !(k <= 6.5e+236)) {
tmp = pow((cbrt((pow(l, 2.0) * pow(k, -2.0))) / t_m), 3.0);
} else {
tmp = 2.0 / ((sin(k) * pow((pow(t_m, 1.5) / l), 2.0)) * (2.0 * k));
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 2.2e-7) {
tmp = 2.0 / ((Math.sin(k) * (Math.pow((t_m * Math.sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
} else if ((k <= 1.95e+177) || !(k <= 6.5e+236)) {
tmp = Math.pow((Math.cbrt((Math.pow(l, 2.0) * Math.pow(k, -2.0))) / t_m), 3.0);
} else {
tmp = 2.0 / ((Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0)) * (2.0 * k));
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 2.2e-7) tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64((Float64(t_m * sqrt(Float64(1.0 / l))) ^ 2.0) * Float64(t_m / l))) * Float64(2.0 * k))); elseif ((k <= 1.95e+177) || !(k <= 6.5e+236)) tmp = Float64(cbrt(Float64((l ^ 2.0) * (k ^ -2.0))) / t_m) ^ 3.0; else tmp = Float64(2.0 / Float64(Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0)) * Float64(2.0 * k))); end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 2.2e-7], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[N[(t$95$m * N[Sqrt[N[(1.0 / l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[k, 1.95e+177], N[Not[LessEqual[k, 6.5e+236]], $MachinePrecision]], N[Power[N[(N[Power[N[(N[Power[l, 2.0], $MachinePrecision] * N[Power[k, -2.0], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 2.2 \cdot 10^{-7}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \left({\left(t_m \cdot \sqrt{\frac{1}{\ell}}\right)}^{2} \cdot \frac{t_m}{\ell}\right)\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{elif}\;k \leq 1.95 \cdot 10^{+177} \lor \neg \left(k \leq 6.5 \cdot 10^{+236}\right):\\
\;\;\;\;{\left(\frac{\sqrt[3]{{\ell}^{2} \cdot {k}^{-2}}}{t_m}\right)}^{3}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right) \cdot \left(2 \cdot k\right)}\\
\end{array}
\end{array}
if k < 2.2000000000000001e-7Initial program 54.8%
associate-*l*54.8%
sqr-neg54.8%
sqr-neg54.8%
associate-/r*60.3%
distribute-rgt-in60.3%
unpow260.3%
times-frac45.8%
sqr-neg45.8%
times-frac60.3%
unpow260.3%
distribute-rgt-in60.3%
Simplified60.3%
associate-/l/54.8%
unpow354.7%
times-frac67.2%
pow267.2%
Applied egg-rr67.2%
Taylor expanded in k around 0 65.8%
add-sqr-sqrt32.2%
pow232.2%
div-inv32.2%
sqrt-prod31.5%
unpow231.5%
sqrt-prod15.3%
add-sqr-sqrt33.0%
Applied egg-rr33.0%
if 2.2000000000000001e-7 < k < 1.95e177 or 6.50000000000000006e236 < k Initial program 44.4%
associate-/r*42.5%
sqr-neg42.5%
associate-*l*42.5%
sqr-neg42.5%
associate-/r*54.5%
associate-+l+54.5%
unpow254.5%
times-frac42.6%
sqr-neg42.6%
times-frac54.5%
unpow254.5%
Simplified54.5%
Taylor expanded in k around 0 42.5%
unpow242.5%
Applied egg-rr42.5%
add-cube-cbrt42.5%
pow342.5%
associate-/r*42.6%
cbrt-div42.6%
pow242.6%
unpow342.6%
add-cbrt-cube51.2%
pow251.2%
div-inv51.2%
pow251.2%
pow-flip51.2%
metadata-eval51.2%
Applied egg-rr51.2%
if 1.95e177 < k < 6.50000000000000006e236Initial program 27.3%
associate-*l*27.3%
sqr-neg27.3%
sqr-neg27.3%
associate-/r*46.4%
distribute-rgt-in46.4%
unpow246.4%
times-frac9.1%
sqr-neg9.1%
times-frac46.4%
unpow246.4%
distribute-rgt-in46.4%
Simplified46.4%
add-sqr-sqrt10.0%
pow210.0%
associate-/l/9.1%
sqrt-div9.1%
sqrt-pow19.3%
metadata-eval9.3%
sqrt-unprod9.4%
add-sqr-sqrt18.6%
Applied egg-rr18.6%
Taylor expanded in k around 0 19.5%
Final simplification36.0%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(let* ((t_2 (* (pow l 2.0) (pow k -2.0))))
(*
t_s
(if (<= k 2.25e-7)
(/
2.0
(*
(* (sin k) (* (pow (* t_m (sqrt (/ 1.0 l))) 2.0) (/ t_m l)))
(* 2.0 k)))
(if (<= k 1.5e+177)
(pow (/ (pow t_2 0.3333333333333333) t_m) 3.0)
(if (<= k 4.6e+236)
(/ 2.0 (* (* (sin k) (pow (/ (pow t_m 1.5) l) 2.0)) (* 2.0 k)))
(pow (/ (cbrt t_2) t_m) 3.0)))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double t_2 = pow(l, 2.0) * pow(k, -2.0);
double tmp;
if (k <= 2.25e-7) {
tmp = 2.0 / ((sin(k) * (pow((t_m * sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
} else if (k <= 1.5e+177) {
tmp = pow((pow(t_2, 0.3333333333333333) / t_m), 3.0);
} else if (k <= 4.6e+236) {
tmp = 2.0 / ((sin(k) * pow((pow(t_m, 1.5) / l), 2.0)) * (2.0 * k));
} else {
tmp = pow((cbrt(t_2) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double t_2 = Math.pow(l, 2.0) * Math.pow(k, -2.0);
double tmp;
if (k <= 2.25e-7) {
tmp = 2.0 / ((Math.sin(k) * (Math.pow((t_m * Math.sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
} else if (k <= 1.5e+177) {
tmp = Math.pow((Math.pow(t_2, 0.3333333333333333) / t_m), 3.0);
} else if (k <= 4.6e+236) {
tmp = 2.0 / ((Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0)) * (2.0 * k));
} else {
tmp = Math.pow((Math.cbrt(t_2) / t_m), 3.0);
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) t_2 = Float64((l ^ 2.0) * (k ^ -2.0)) tmp = 0.0 if (k <= 2.25e-7) tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64((Float64(t_m * sqrt(Float64(1.0 / l))) ^ 2.0) * Float64(t_m / l))) * Float64(2.0 * k))); elseif (k <= 1.5e+177) tmp = Float64((t_2 ^ 0.3333333333333333) / t_m) ^ 3.0; elseif (k <= 4.6e+236) tmp = Float64(2.0 / Float64(Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0)) * Float64(2.0 * k))); else tmp = Float64(cbrt(t_2) / t_m) ^ 3.0; end return Float64(t_s * tmp) end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := Block[{t$95$2 = N[(N[Power[l, 2.0], $MachinePrecision] * N[Power[k, -2.0], $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[k, 2.25e-7], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[N[(t$95$m * N[Sqrt[N[(1.0 / l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.5e+177], N[Power[N[(N[Power[t$95$2, 0.3333333333333333], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision], If[LessEqual[k, 4.6e+236], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[Power[t$95$2, 1/3], $MachinePrecision] / t$95$m), $MachinePrecision], 3.0], $MachinePrecision]]]]), $MachinePrecision]]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
\begin{array}{l}
t_2 := {\ell}^{2} \cdot {k}^{-2}\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 2.25 \cdot 10^{-7}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \left({\left(t_m \cdot \sqrt{\frac{1}{\ell}}\right)}^{2} \cdot \frac{t_m}{\ell}\right)\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{elif}\;k \leq 1.5 \cdot 10^{+177}:\\
\;\;\;\;{\left(\frac{{t_2}^{0.3333333333333333}}{t_m}\right)}^{3}\\
\mathbf{elif}\;k \leq 4.6 \cdot 10^{+236}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\sqrt[3]{t_2}}{t_m}\right)}^{3}\\
\end{array}
\end{array}
\end{array}
if k < 2.2499999999999999e-7Initial program 54.8%
associate-*l*54.8%
sqr-neg54.8%
sqr-neg54.8%
associate-/r*60.3%
distribute-rgt-in60.3%
unpow260.3%
times-frac45.8%
sqr-neg45.8%
times-frac60.3%
unpow260.3%
distribute-rgt-in60.3%
Simplified60.3%
associate-/l/54.8%
unpow354.7%
times-frac67.2%
pow267.2%
Applied egg-rr67.2%
Taylor expanded in k around 0 65.8%
add-sqr-sqrt32.2%
pow232.2%
div-inv32.2%
sqrt-prod31.5%
unpow231.5%
sqrt-prod15.3%
add-sqr-sqrt33.0%
Applied egg-rr33.0%
if 2.2499999999999999e-7 < k < 1.5e177Initial program 43.3%
associate-/r*40.6%
sqr-neg40.6%
associate-*l*40.6%
sqr-neg40.6%
associate-/r*54.7%
associate-+l+54.7%
unpow254.7%
times-frac51.9%
sqr-neg51.9%
times-frac54.7%
unpow254.7%
Simplified54.7%
Taylor expanded in k around 0 40.7%
add-cube-cbrt40.7%
pow340.7%
associate-/r*40.8%
cbrt-div40.8%
rem-cbrt-cube47.3%
Applied egg-rr47.3%
pow1/347.3%
pow247.3%
div-inv47.3%
pow247.3%
pow-flip47.3%
metadata-eval47.3%
Applied egg-rr47.3%
if 1.5e177 < k < 4.5999999999999999e236Initial program 27.3%
associate-*l*27.3%
sqr-neg27.3%
sqr-neg27.3%
associate-/r*46.4%
distribute-rgt-in46.4%
unpow246.4%
times-frac9.1%
sqr-neg9.1%
times-frac46.4%
unpow246.4%
distribute-rgt-in46.4%
Simplified46.4%
add-sqr-sqrt10.0%
pow210.0%
associate-/l/9.1%
sqrt-div9.1%
sqrt-pow19.3%
metadata-eval9.3%
sqrt-unprod9.4%
add-sqr-sqrt18.6%
Applied egg-rr18.6%
Taylor expanded in k around 0 19.5%
if 4.5999999999999999e236 < k Initial program 46.9%
associate-/r*46.9%
sqr-neg46.9%
associate-*l*46.9%
sqr-neg46.9%
associate-/r*53.9%
associate-+l+53.9%
unpow253.9%
times-frac21.0%
sqr-neg21.0%
times-frac53.9%
unpow253.9%
Simplified53.9%
Taylor expanded in k around 0 46.7%
unpow246.7%
Applied egg-rr46.7%
add-cube-cbrt46.7%
pow346.7%
associate-/r*46.7%
cbrt-div46.7%
pow246.7%
unpow346.7%
add-cbrt-cube60.2%
pow260.2%
div-inv60.2%
pow260.2%
pow-flip60.2%
metadata-eval60.2%
Applied egg-rr60.2%
Final simplification36.0%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (or (<= k 55000.0) (not (<= k 3.6e+173)))
(/ 2.0 (* (* (sin k) (pow (/ (pow t_m 1.5) l) 2.0)) (* 2.0 k)))
(/ 2.0 (/ (* 2.0 (pow k 2.0)) (* l (/ l (pow t_m 3.0))))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if ((k <= 55000.0) || !(k <= 3.6e+173)) {
tmp = 2.0 / ((sin(k) * pow((pow(t_m, 1.5) / l), 2.0)) * (2.0 * k));
} else {
tmp = 2.0 / ((2.0 * pow(k, 2.0)) / (l * (l / pow(t_m, 3.0))));
}
return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if ((k <= 55000.0d0) .or. (.not. (k <= 3.6d+173))) then
tmp = 2.0d0 / ((sin(k) * (((t_m ** 1.5d0) / l) ** 2.0d0)) * (2.0d0 * k))
else
tmp = 2.0d0 / ((2.0d0 * (k ** 2.0d0)) / (l * (l / (t_m ** 3.0d0))))
end if
code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if ((k <= 55000.0) || !(k <= 3.6e+173)) {
tmp = 2.0 / ((Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0)) * (2.0 * k));
} else {
tmp = 2.0 / ((2.0 * Math.pow(k, 2.0)) / (l * (l / Math.pow(t_m, 3.0))));
}
return t_s * tmp;
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if (k <= 55000.0) or not (k <= 3.6e+173): tmp = 2.0 / ((math.sin(k) * math.pow((math.pow(t_m, 1.5) / l), 2.0)) * (2.0 * k)) else: tmp = 2.0 / ((2.0 * math.pow(k, 2.0)) / (l * (l / math.pow(t_m, 3.0)))) return t_s * tmp
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if ((k <= 55000.0) || !(k <= 3.6e+173)) tmp = Float64(2.0 / Float64(Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0)) * Float64(2.0 * k))); else tmp = Float64(2.0 / Float64(Float64(2.0 * (k ^ 2.0)) / Float64(l * Float64(l / (t_m ^ 3.0))))); end return Float64(t_s * tmp) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if ((k <= 55000.0) || ~((k <= 3.6e+173))) tmp = 2.0 / ((sin(k) * (((t_m ^ 1.5) / l) ^ 2.0)) * (2.0 * k)); else tmp = 2.0 / ((2.0 * (k ^ 2.0)) / (l * (l / (t_m ^ 3.0)))); end tmp_2 = t_s * tmp; end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[Or[LessEqual[k, 55000.0], N[Not[LessEqual[k, 3.6e+173]], $MachinePrecision]], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[(l / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 55000 \lor \neg \left(k \leq 3.6 \cdot 10^{+173}\right):\\
\;\;\;\;\frac{2}{\left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{2 \cdot {k}^{2}}{\ell \cdot \frac{\ell}{{t_m}^{3}}}}\\
\end{array}
\end{array}
if k < 55000 or 3.6000000000000002e173 < k Initial program 53.1%
associate-*l*53.0%
sqr-neg53.0%
sqr-neg53.0%
associate-/r*59.3%
distribute-rgt-in59.3%
unpow259.3%
times-frac42.6%
sqr-neg42.6%
times-frac59.3%
unpow259.3%
distribute-rgt-in59.3%
Simplified59.3%
add-sqr-sqrt27.6%
pow227.6%
associate-/l/25.1%
sqrt-div25.1%
sqrt-pow128.8%
metadata-eval28.8%
sqrt-unprod16.6%
add-sqr-sqrt35.4%
Applied egg-rr35.4%
Taylor expanded in k around 0 32.8%
if 55000 < k < 3.6000000000000002e173Initial program 41.1%
associate-*l*41.1%
sqr-neg41.1%
sqr-neg41.1%
associate-/r*56.7%
distribute-rgt-in56.7%
unpow256.7%
times-frac53.5%
sqr-neg53.5%
times-frac56.7%
unpow256.7%
distribute-rgt-in56.7%
Simplified56.7%
associate-*l*56.6%
clear-num56.6%
associate-*l/56.6%
*-un-lft-identity56.6%
associate-*r*56.5%
div-inv56.6%
clear-num56.7%
Applied egg-rr56.7%
Taylor expanded in k around 0 44.9%
Final simplification34.3%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 54000.0)
(/
2.0
(*
(* (sin k) (* (pow (* t_m (sqrt (/ 1.0 l))) 2.0) (/ t_m l)))
(* 2.0 k)))
(if (<= k 4.4e+173)
(/ 2.0 (/ (* 2.0 (pow k 2.0)) (* l (/ l (pow t_m 3.0)))))
(/ 2.0 (* (* (sin k) (pow (/ (pow t_m 1.5) l) 2.0)) (* 2.0 k)))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 54000.0) {
tmp = 2.0 / ((sin(k) * (pow((t_m * sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
} else if (k <= 4.4e+173) {
tmp = 2.0 / ((2.0 * pow(k, 2.0)) / (l * (l / pow(t_m, 3.0))));
} else {
tmp = 2.0 / ((sin(k) * pow((pow(t_m, 1.5) / l), 2.0)) * (2.0 * k));
}
return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 54000.0d0) then
tmp = 2.0d0 / ((sin(k) * (((t_m * sqrt((1.0d0 / l))) ** 2.0d0) * (t_m / l))) * (2.0d0 * k))
else if (k <= 4.4d+173) then
tmp = 2.0d0 / ((2.0d0 * (k ** 2.0d0)) / (l * (l / (t_m ** 3.0d0))))
else
tmp = 2.0d0 / ((sin(k) * (((t_m ** 1.5d0) / l) ** 2.0d0)) * (2.0d0 * k))
end if
code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 54000.0) {
tmp = 2.0 / ((Math.sin(k) * (Math.pow((t_m * Math.sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k));
} else if (k <= 4.4e+173) {
tmp = 2.0 / ((2.0 * Math.pow(k, 2.0)) / (l * (l / Math.pow(t_m, 3.0))));
} else {
tmp = 2.0 / ((Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0)) * (2.0 * k));
}
return t_s * tmp;
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 54000.0: tmp = 2.0 / ((math.sin(k) * (math.pow((t_m * math.sqrt((1.0 / l))), 2.0) * (t_m / l))) * (2.0 * k)) elif k <= 4.4e+173: tmp = 2.0 / ((2.0 * math.pow(k, 2.0)) / (l * (l / math.pow(t_m, 3.0)))) else: tmp = 2.0 / ((math.sin(k) * math.pow((math.pow(t_m, 1.5) / l), 2.0)) * (2.0 * k)) return t_s * tmp
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 54000.0) tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64((Float64(t_m * sqrt(Float64(1.0 / l))) ^ 2.0) * Float64(t_m / l))) * Float64(2.0 * k))); elseif (k <= 4.4e+173) tmp = Float64(2.0 / Float64(Float64(2.0 * (k ^ 2.0)) / Float64(l * Float64(l / (t_m ^ 3.0))))); else tmp = Float64(2.0 / Float64(Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0)) * Float64(2.0 * k))); end return Float64(t_s * tmp) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 54000.0) tmp = 2.0 / ((sin(k) * (((t_m * sqrt((1.0 / l))) ^ 2.0) * (t_m / l))) * (2.0 * k)); elseif (k <= 4.4e+173) tmp = 2.0 / ((2.0 * (k ^ 2.0)) / (l * (l / (t_m ^ 3.0)))); else tmp = 2.0 / ((sin(k) * (((t_m ^ 1.5) / l) ^ 2.0)) * (2.0 * k)); end tmp_2 = t_s * tmp; end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 54000.0], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[N[(t$95$m * N[Sqrt[N[(1.0 / l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 4.4e+173], N[(2.0 / N[(N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[(l / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 54000:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \left({\left(t_m \cdot \sqrt{\frac{1}{\ell}}\right)}^{2} \cdot \frac{t_m}{\ell}\right)\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{elif}\;k \leq 4.4 \cdot 10^{+173}:\\
\;\;\;\;\frac{2}{\frac{2 \cdot {k}^{2}}{\ell \cdot \frac{\ell}{{t_m}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot {\left(\frac{{t_m}^{1.5}}{\ell}\right)}^{2}\right) \cdot \left(2 \cdot k\right)}\\
\end{array}
\end{array}
if k < 54000Initial program 55.0%
associate-*l*54.9%
sqr-neg54.9%
sqr-neg54.9%
associate-/r*60.4%
distribute-rgt-in60.4%
unpow260.4%
times-frac46.1%
sqr-neg46.1%
times-frac60.4%
unpow260.4%
distribute-rgt-in60.4%
Simplified60.4%
associate-/l/54.9%
unpow354.9%
times-frac67.2%
pow267.2%
Applied egg-rr67.2%
Taylor expanded in k around 0 65.8%
add-sqr-sqrt31.7%
pow231.7%
div-inv31.7%
sqrt-prod31.1%
unpow231.1%
sqrt-prod15.0%
add-sqr-sqrt32.5%
Applied egg-rr32.5%
if 54000 < k < 4.4e173Initial program 41.1%
associate-*l*41.1%
sqr-neg41.1%
sqr-neg41.1%
associate-/r*56.7%
distribute-rgt-in56.7%
unpow256.7%
times-frac53.5%
sqr-neg53.5%
times-frac56.7%
unpow256.7%
distribute-rgt-in56.7%
Simplified56.7%
associate-*l*56.6%
clear-num56.6%
associate-*l/56.6%
*-un-lft-identity56.6%
associate-*r*56.5%
div-inv56.6%
clear-num56.7%
Applied egg-rr56.7%
Taylor expanded in k around 0 44.9%
if 4.4e173 < k Initial program 38.6%
associate-*l*38.6%
sqr-neg38.6%
sqr-neg38.6%
associate-/r*50.8%
distribute-rgt-in50.8%
unpow250.8%
times-frac15.9%
sqr-neg15.9%
times-frac50.8%
unpow250.8%
distribute-rgt-in50.8%
Simplified50.8%
add-sqr-sqrt12.2%
pow212.2%
associate-/l/11.6%
sqrt-div11.5%
sqrt-pow111.6%
metadata-eval11.6%
sqrt-unprod11.7%
add-sqr-sqrt15.9%
Applied egg-rr15.9%
Taylor expanded in k around 0 16.2%
Final simplification32.4%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (or (<= k 54000.0) (not (<= k 1.55e+174)))
(/ 2.0 (* (* (sin k) (* (/ t_m l) (/ (pow t_m 2.0) l))) (* 2.0 k)))
(/ 2.0 (/ (* 2.0 (pow k 2.0)) (* l (/ l (pow t_m 3.0))))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if ((k <= 54000.0) || !(k <= 1.55e+174)) {
tmp = 2.0 / ((sin(k) * ((t_m / l) * (pow(t_m, 2.0) / l))) * (2.0 * k));
} else {
tmp = 2.0 / ((2.0 * pow(k, 2.0)) / (l * (l / pow(t_m, 3.0))));
}
return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if ((k <= 54000.0d0) .or. (.not. (k <= 1.55d+174))) then
tmp = 2.0d0 / ((sin(k) * ((t_m / l) * ((t_m ** 2.0d0) / l))) * (2.0d0 * k))
else
tmp = 2.0d0 / ((2.0d0 * (k ** 2.0d0)) / (l * (l / (t_m ** 3.0d0))))
end if
code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if ((k <= 54000.0) || !(k <= 1.55e+174)) {
tmp = 2.0 / ((Math.sin(k) * ((t_m / l) * (Math.pow(t_m, 2.0) / l))) * (2.0 * k));
} else {
tmp = 2.0 / ((2.0 * Math.pow(k, 2.0)) / (l * (l / Math.pow(t_m, 3.0))));
}
return t_s * tmp;
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if (k <= 54000.0) or not (k <= 1.55e+174): tmp = 2.0 / ((math.sin(k) * ((t_m / l) * (math.pow(t_m, 2.0) / l))) * (2.0 * k)) else: tmp = 2.0 / ((2.0 * math.pow(k, 2.0)) / (l * (l / math.pow(t_m, 3.0)))) return t_s * tmp
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if ((k <= 54000.0) || !(k <= 1.55e+174)) tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64(Float64(t_m / l) * Float64((t_m ^ 2.0) / l))) * Float64(2.0 * k))); else tmp = Float64(2.0 / Float64(Float64(2.0 * (k ^ 2.0)) / Float64(l * Float64(l / (t_m ^ 3.0))))); end return Float64(t_s * tmp) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if ((k <= 54000.0) || ~((k <= 1.55e+174))) tmp = 2.0 / ((sin(k) * ((t_m / l) * ((t_m ^ 2.0) / l))) * (2.0 * k)); else tmp = 2.0 / ((2.0 * (k ^ 2.0)) / (l * (l / (t_m ^ 3.0)))); end tmp_2 = t_s * tmp; end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[Or[LessEqual[k, 54000.0], N[Not[LessEqual[k, 1.55e+174]], $MachinePrecision]], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[Power[t$95$m, 2.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[(l / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 54000 \lor \neg \left(k \leq 1.55 \cdot 10^{+174}\right):\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \left(\frac{t_m}{\ell} \cdot \frac{{t_m}^{2}}{\ell}\right)\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{2 \cdot {k}^{2}}{\ell \cdot \frac{\ell}{{t_m}^{3}}}}\\
\end{array}
\end{array}
if k < 54000 or 1.55e174 < k Initial program 53.1%
associate-*l*53.0%
sqr-neg53.0%
sqr-neg53.0%
associate-/r*59.3%
distribute-rgt-in59.3%
unpow259.3%
times-frac42.6%
sqr-neg42.6%
times-frac59.3%
unpow259.3%
distribute-rgt-in59.3%
Simplified59.3%
associate-/l/53.0%
unpow353.0%
times-frac65.3%
pow265.3%
Applied egg-rr65.3%
Taylor expanded in k around 0 64.6%
if 54000 < k < 1.55e174Initial program 41.1%
associate-*l*41.1%
sqr-neg41.1%
sqr-neg41.1%
associate-/r*56.7%
distribute-rgt-in56.7%
unpow256.7%
times-frac53.5%
sqr-neg53.5%
times-frac56.7%
unpow256.7%
distribute-rgt-in56.7%
Simplified56.7%
associate-*l*56.6%
clear-num56.6%
associate-*l/56.6%
*-un-lft-identity56.6%
associate-*r*56.5%
div-inv56.6%
clear-num56.7%
Applied egg-rr56.7%
Taylor expanded in k around 0 44.9%
Final simplification62.1%
t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l k) :precision binary64 (* t_s (/ 2.0 (* (* 2.0 k) (/ k (/ (pow l 2.0) (pow t_m 3.0)))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((2.0 * k) * (k / (pow(l, 2.0) / pow(t_m, 3.0)))));
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
code = t_s * (2.0d0 / ((2.0d0 * k) * (k / ((l ** 2.0d0) / (t_m ** 3.0d0)))))
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((2.0 * k) * (k / (Math.pow(l, 2.0) / Math.pow(t_m, 3.0)))));
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): return t_s * (2.0 / ((2.0 * k) * (k / (math.pow(l, 2.0) / math.pow(t_m, 3.0)))))
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) return Float64(t_s * Float64(2.0 / Float64(Float64(2.0 * k) * Float64(k / Float64((l ^ 2.0) / (t_m ^ 3.0)))))) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k) tmp = t_s * (2.0 / ((2.0 * k) * (k / ((l ^ 2.0) / (t_m ^ 3.0))))); end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(k / N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \frac{2}{\left(2 \cdot k\right) \cdot \frac{k}{\frac{{\ell}^{2}}{{t_m}^{3}}}}
\end{array}
Initial program 51.6%
associate-*l*51.6%
sqr-neg51.6%
sqr-neg51.6%
associate-/r*59.0%
distribute-rgt-in59.0%
unpow259.0%
times-frac43.9%
sqr-neg43.9%
times-frac59.0%
unpow259.0%
distribute-rgt-in59.0%
Simplified59.0%
associate-/l/51.6%
unpow351.5%
times-frac65.4%
pow265.4%
Applied egg-rr65.4%
Taylor expanded in k around 0 61.0%
Taylor expanded in k around 0 54.3%
associate-/l*54.3%
Simplified54.3%
Final simplification54.3%
t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l k) :precision binary64 (* t_s (/ 2.0 (/ (* 2.0 (pow k 2.0)) (* l (/ l (pow t_m 3.0)))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((2.0 * pow(k, 2.0)) / (l * (l / pow(t_m, 3.0)))));
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
code = t_s * (2.0d0 / ((2.0d0 * (k ** 2.0d0)) / (l * (l / (t_m ** 3.0d0)))))
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((2.0 * Math.pow(k, 2.0)) / (l * (l / Math.pow(t_m, 3.0)))));
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): return t_s * (2.0 / ((2.0 * math.pow(k, 2.0)) / (l * (l / math.pow(t_m, 3.0)))))
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) return Float64(t_s * Float64(2.0 / Float64(Float64(2.0 * (k ^ 2.0)) / Float64(l * Float64(l / (t_m ^ 3.0)))))) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k) tmp = t_s * (2.0 / ((2.0 * (k ^ 2.0)) / (l * (l / (t_m ^ 3.0))))); end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(2.0 / N[(N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[(l / N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \frac{2}{\frac{2 \cdot {k}^{2}}{\ell \cdot \frac{\ell}{{t_m}^{3}}}}
\end{array}
Initial program 51.6%
associate-*l*51.6%
sqr-neg51.6%
sqr-neg51.6%
associate-/r*59.0%
distribute-rgt-in59.0%
unpow259.0%
times-frac43.9%
sqr-neg43.9%
times-frac59.0%
unpow259.0%
distribute-rgt-in59.0%
Simplified59.0%
associate-*l*55.6%
clear-num55.6%
associate-*l/55.6%
*-un-lft-identity55.6%
associate-*r*55.6%
div-inv55.6%
clear-num55.6%
Applied egg-rr55.6%
Taylor expanded in k around 0 56.4%
Final simplification56.4%
t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l k) :precision binary64 (* t_s (/ (pow l 2.0) (* (pow t_m 3.0) (* k k)))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
return t_s * (pow(l, 2.0) / (pow(t_m, 3.0) * (k * k)));
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
code = t_s * ((l ** 2.0d0) / ((t_m ** 3.0d0) * (k * k)))
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
return t_s * (Math.pow(l, 2.0) / (Math.pow(t_m, 3.0) * (k * k)));
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): return t_s * (math.pow(l, 2.0) / (math.pow(t_m, 3.0) * (k * k)))
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) return Float64(t_s * Float64((l ^ 2.0) / Float64((t_m ^ 3.0) * Float64(k * k)))) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k) tmp = t_s * ((l ^ 2.0) / ((t_m ^ 3.0) * (k * k))); end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(N[Power[l, 2.0], $MachinePrecision] / N[(N[Power[t$95$m, 3.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t_s \cdot \frac{{\ell}^{2}}{{t_m}^{3} \cdot \left(k \cdot k\right)}
\end{array}
Initial program 51.6%
associate-/r*51.2%
sqr-neg51.2%
associate-*l*47.6%
sqr-neg47.6%
associate-/r*54.9%
associate-+l+54.9%
unpow254.9%
times-frac39.9%
sqr-neg39.9%
times-frac54.9%
unpow254.9%
Simplified54.9%
Taylor expanded in k around 0 50.5%
unpow250.5%
Applied egg-rr50.5%
Final simplification50.5%
herbie shell --seed 2024020
(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))))