
(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 17 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 1.1e-71)
(/ 2.0 (/ (* (/ (pow k 2.0) l) (/ t_m (/ (cos k) (pow (sin k) 2.0)))) l))
(/
2.0
(*
(pow (* (cbrt (sin k)) (/ t_m (pow (cbrt l) 2.0))) 3.0)
(* (tan k) (+ 2.0 (pow (/ k t_m) 2.0))))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.1e-71) {
tmp = 2.0 / (((pow(k, 2.0) / l) * (t_m / (cos(k) / pow(sin(k), 2.0)))) / l);
} else {
tmp = 2.0 / (pow((cbrt(sin(k)) * (t_m / pow(cbrt(l), 2.0))), 3.0) * (tan(k) * (2.0 + pow((k / t_m), 2.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-71) {
tmp = 2.0 / (((Math.pow(k, 2.0) / l) * (t_m / (Math.cos(k) / Math.pow(Math.sin(k), 2.0)))) / l);
} else {
tmp = 2.0 / (Math.pow((Math.cbrt(Math.sin(k)) * (t_m / Math.pow(Math.cbrt(l), 2.0))), 3.0) * (Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0))));
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 1.1e-71) tmp = Float64(2.0 / Float64(Float64(Float64((k ^ 2.0) / l) * Float64(t_m / Float64(cos(k) / (sin(k) ^ 2.0)))) / l)); else tmp = Float64(2.0 / Float64((Float64(cbrt(sin(k)) * Float64(t_m / (cbrt(l) ^ 2.0))) ^ 3.0) * Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.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-71], N[(2.0 / N[(N[(N[(N[Power[k, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t$95$m / N[(N[Cos[k], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(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] * N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.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}\;t\_m \leq 1.1 \cdot 10^{-71}:\\
\;\;\;\;\frac{2}{\frac{\frac{{k}^{2}}{\ell} \cdot \frac{t\_m}{\frac{\cos k}{{\sin k}^{2}}}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{\left(\sqrt[3]{\sin k} \cdot \frac{t\_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3} \cdot \left(\tan k \cdot \left(2 + {\left(\frac{k}{t\_m}\right)}^{2}\right)\right)}\\
\end{array}
\end{array}
if t < 1.09999999999999999e-71Initial program 44.2%
associate-*l*44.2%
sqr-neg44.2%
sqr-neg44.2%
associate-/r*52.1%
distribute-rgt-in52.1%
unpow252.1%
times-frac33.9%
sqr-neg33.9%
times-frac52.1%
unpow252.1%
distribute-rgt-in52.1%
Simplified52.1%
associate-*l/53.2%
associate-*l/51.4%
Applied egg-rr51.4%
Taylor expanded in t around 0 72.2%
times-frac73.4%
associate-/l*73.4%
Simplified73.4%
if 1.09999999999999999e-71 < t Initial program 66.0%
associate-*l*66.0%
sqr-neg66.0%
sqr-neg66.0%
associate-/r*69.6%
distribute-rgt-in69.6%
unpow269.6%
times-frac59.7%
sqr-neg59.7%
times-frac69.6%
unpow269.6%
distribute-rgt-in69.6%
Simplified69.6%
associate-/r*66.0%
add-cube-cbrt65.9%
pow365.9%
associate-/r*69.5%
*-commutative69.5%
cbrt-prod69.5%
associate-/r*65.8%
cbrt-div66.9%
rem-cbrt-cube73.5%
cbrt-prod85.8%
pow285.8%
Applied egg-rr85.8%
Final simplification77.8%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(let* ((t_2 (* (tan k) (+ 2.0 (pow (/ k t_m) 2.0)))))
(*
t_s
(if (<= t_m 1.8e-71)
(/ 2.0 (/ (* (/ (pow k 2.0) l) (/ t_m (/ (cos k) (pow (sin k) 2.0)))) l))
(if (<= t_m 4e+59)
(/ 2.0 (* t_2 (/ (/ (pow t_m 3.0) l) (/ l (sin k)))))
(/ 2.0 (* t_2 (* (sin k) (pow (* t_m (pow (cbrt l) -2.0)) 3.0)))))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double t_2 = tan(k) * (2.0 + pow((k / t_m), 2.0));
double tmp;
if (t_m <= 1.8e-71) {
tmp = 2.0 / (((pow(k, 2.0) / l) * (t_m / (cos(k) / pow(sin(k), 2.0)))) / l);
} else if (t_m <= 4e+59) {
tmp = 2.0 / (t_2 * ((pow(t_m, 3.0) / l) / (l / sin(k))));
} else {
tmp = 2.0 / (t_2 * (sin(k) * pow((t_m * pow(cbrt(l), -2.0)), 3.0)));
}
return t_s * tmp;
}
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double t_2 = Math.tan(k) * (2.0 + Math.pow((k / t_m), 2.0));
double tmp;
if (t_m <= 1.8e-71) {
tmp = 2.0 / (((Math.pow(k, 2.0) / l) * (t_m / (Math.cos(k) / Math.pow(Math.sin(k), 2.0)))) / l);
} else if (t_m <= 4e+59) {
tmp = 2.0 / (t_2 * ((Math.pow(t_m, 3.0) / l) / (l / Math.sin(k))));
} else {
tmp = 2.0 / (t_2 * (Math.sin(k) * Math.pow((t_m * Math.pow(Math.cbrt(l), -2.0)), 3.0)));
}
return t_s * tmp;
}
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) t_2 = Float64(tan(k) * Float64(2.0 + (Float64(k / t_m) ^ 2.0))) tmp = 0.0 if (t_m <= 1.8e-71) tmp = Float64(2.0 / Float64(Float64(Float64((k ^ 2.0) / l) * Float64(t_m / Float64(cos(k) / (sin(k) ^ 2.0)))) / l)); elseif (t_m <= 4e+59) tmp = Float64(2.0 / Float64(t_2 * Float64(Float64((t_m ^ 3.0) / l) / Float64(l / sin(k))))); else tmp = Float64(2.0 / Float64(t_2 * Float64(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_] := Block[{t$95$2 = N[(N[Tan[k], $MachinePrecision] * N[(2.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, N[(t$95$s * If[LessEqual[t$95$m, 1.8e-71], N[(2.0 / N[(N[(N[(N[Power[k, 2.0], $MachinePrecision] / l), $MachinePrecision] * N[(t$95$m / N[(N[Cos[k], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$m, 4e+59], N[(2.0 / N[(t$95$2 * N[(N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision] / N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$2 * N[(N[Sin[k], $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)
\\
\begin{array}{l}
t_2 := \tan k \cdot \left(2 + {\left(\frac{k}{t\_m}\right)}^{2}\right)\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_m \leq 1.8 \cdot 10^{-71}:\\
\;\;\;\;\frac{2}{\frac{\frac{{k}^{2}}{\ell} \cdot \frac{t\_m}{\frac{\cos k}{{\sin k}^{2}}}}{\ell}}\\
\mathbf{elif}\;t\_m \leq 4 \cdot 10^{+59}:\\
\;\;\;\;\frac{2}{t\_2 \cdot \frac{\frac{{t\_m}^{3}}{\ell}}{\frac{\ell}{\sin k}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t\_2 \cdot \left(\sin k \cdot {\left(t\_m \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\right)}^{3}\right)}\\
\end{array}
\end{array}
\end{array}
if t < 1.8e-71Initial program 44.2%
associate-*l*44.2%
sqr-neg44.2%
sqr-neg44.2%
associate-/r*52.1%
distribute-rgt-in52.1%
unpow252.1%
times-frac33.9%
sqr-neg33.9%
times-frac52.1%
unpow252.1%
distribute-rgt-in52.1%
Simplified52.1%
associate-*l/53.2%
associate-*l/51.4%
Applied egg-rr51.4%
Taylor expanded in t around 0 72.2%
times-frac73.4%
associate-/l*73.4%
Simplified73.4%
if 1.8e-71 < t < 3.99999999999999989e59Initial program 68.1%
associate-*l*68.1%
sqr-neg68.1%
sqr-neg68.1%
associate-/r*68.1%
distribute-rgt-in68.1%
unpow268.1%
times-frac68.1%
sqr-neg68.1%
times-frac68.1%
unpow268.1%
distribute-rgt-in68.1%
Simplified68.1%
associate-*l/80.6%
associate-/l*80.5%
Applied egg-rr80.5%
if 3.99999999999999989e59 < t Initial program 64.9%
associate-*l*64.9%
sqr-neg64.9%
sqr-neg64.9%
associate-/r*70.4%
distribute-rgt-in70.4%
unpow270.4%
times-frac55.4%
sqr-neg55.4%
times-frac70.4%
unpow270.4%
distribute-rgt-in70.4%
Simplified70.4%
add-cube-cbrt70.4%
pow370.4%
associate-/r*64.9%
cbrt-div64.9%
rem-cbrt-cube71.7%
cbrt-prod86.0%
pow286.0%
Applied egg-rr86.0%
add-cube-cbrt86.0%
pow386.0%
cbrt-prod85.8%
unpow385.8%
add-cbrt-cube89.0%
div-inv89.1%
pow-flip89.1%
metadata-eval89.1%
Applied egg-rr89.1%
*-commutative89.1%
cube-prod86.0%
rem-cube-cbrt86.1%
Simplified86.1%
Final simplification77.2%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 5.1e-23)
(/
2.0
(* (pow (* (cbrt (sin k)) (* t_m (pow (cbrt l) -2.0))) 3.0) (* 2.0 k)))
(/
2.0
(/ (/ (* (pow (sin k) 2.0) (* t_m (pow k 2.0))) (* l (cos k))) 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 (k <= 5.1e-23) {
tmp = 2.0 / (pow((cbrt(sin(k)) * (t_m * pow(cbrt(l), -2.0))), 3.0) * (2.0 * k));
} else {
tmp = 2.0 / (((pow(sin(k), 2.0) * (t_m * pow(k, 2.0))) / (l * cos(k))) / l);
}
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 <= 5.1e-23) {
tmp = 2.0 / (Math.pow((Math.cbrt(Math.sin(k)) * (t_m * Math.pow(Math.cbrt(l), -2.0))), 3.0) * (2.0 * k));
} else {
tmp = 2.0 / (((Math.pow(Math.sin(k), 2.0) * (t_m * Math.pow(k, 2.0))) / (l * Math.cos(k))) / 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 (k <= 5.1e-23) tmp = Float64(2.0 / Float64((Float64(cbrt(sin(k)) * Float64(t_m * (cbrt(l) ^ -2.0))) ^ 3.0) * Float64(2.0 * k))); else tmp = Float64(2.0 / Float64(Float64(Float64((sin(k) ^ 2.0) * Float64(t_m * (k ^ 2.0))) / Float64(l * cos(k))) / l)); 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, 5.1e-23], N[(2.0 / N[(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] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] * N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 5.1 \cdot 10^{-23}:\\
\;\;\;\;\frac{2}{{\left(\sqrt[3]{\sin k} \cdot \left(t\_m \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\right)\right)}^{3} \cdot \left(2 \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{{\sin k}^{2} \cdot \left(t\_m \cdot {k}^{2}\right)}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if k < 5.10000000000000011e-23Initial program 57.3%
associate-*l*57.3%
sqr-neg57.3%
sqr-neg57.3%
associate-/r*65.3%
distribute-rgt-in65.3%
unpow265.3%
times-frac48.4%
sqr-neg48.4%
times-frac65.3%
unpow265.3%
distribute-rgt-in65.3%
Simplified65.3%
add-cube-cbrt65.2%
pow365.2%
associate-/r*57.2%
cbrt-div57.2%
rem-cbrt-cube65.3%
cbrt-prod76.5%
pow276.5%
Applied egg-rr76.5%
Taylor expanded in k around 0 71.0%
*-commutative71.0%
Simplified71.0%
add-cube-cbrt76.5%
pow376.4%
cbrt-prod76.4%
unpow376.4%
add-cbrt-cube81.7%
div-inv81.8%
pow-flip81.7%
metadata-eval81.7%
Applied egg-rr76.3%
if 5.10000000000000011e-23 < k Initial program 39.9%
associate-*l*39.9%
sqr-neg39.9%
sqr-neg39.9%
associate-/r*42.6%
distribute-rgt-in42.6%
unpow242.6%
times-frac31.2%
sqr-neg31.2%
times-frac42.6%
unpow242.6%
distribute-rgt-in42.6%
Simplified42.6%
associate-*l/42.6%
associate-*l/42.7%
Applied egg-rr42.7%
Taylor expanded in t around 0 74.5%
associate-*r*74.6%
*-commutative74.6%
Simplified74.6%
Final simplification75.7%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 7.2e-22)
(/ 2.0 (* (* 2.0 k) (pow (* (/ (pow t_m 1.5) l) (sqrt (sin k))) 2.0)))
(/
2.0
(/ (/ (* (pow (sin k) 2.0) (* t_m (pow k 2.0))) (* l (cos k))) 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 (k <= 7.2e-22) {
tmp = 2.0 / ((2.0 * k) * pow(((pow(t_m, 1.5) / l) * sqrt(sin(k))), 2.0));
} else {
tmp = 2.0 / (((pow(sin(k), 2.0) * (t_m * pow(k, 2.0))) / (l * cos(k))) / 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 (k <= 7.2d-22) then
tmp = 2.0d0 / ((2.0d0 * k) * ((((t_m ** 1.5d0) / l) * sqrt(sin(k))) ** 2.0d0))
else
tmp = 2.0d0 / ((((sin(k) ** 2.0d0) * (t_m * (k ** 2.0d0))) / (l * cos(k))) / 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 (k <= 7.2e-22) {
tmp = 2.0 / ((2.0 * k) * Math.pow(((Math.pow(t_m, 1.5) / l) * Math.sqrt(Math.sin(k))), 2.0));
} else {
tmp = 2.0 / (((Math.pow(Math.sin(k), 2.0) * (t_m * Math.pow(k, 2.0))) / (l * Math.cos(k))) / 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 k <= 7.2e-22: tmp = 2.0 / ((2.0 * k) * math.pow(((math.pow(t_m, 1.5) / l) * math.sqrt(math.sin(k))), 2.0)) else: tmp = 2.0 / (((math.pow(math.sin(k), 2.0) * (t_m * math.pow(k, 2.0))) / (l * math.cos(k))) / 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 (k <= 7.2e-22) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * (Float64(Float64((t_m ^ 1.5) / l) * sqrt(sin(k))) ^ 2.0))); else tmp = Float64(2.0 / Float64(Float64(Float64((sin(k) ^ 2.0) * Float64(t_m * (k ^ 2.0))) / Float64(l * cos(k))) / 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 (k <= 7.2e-22) tmp = 2.0 / ((2.0 * k) * ((((t_m ^ 1.5) / l) * sqrt(sin(k))) ^ 2.0)); else tmp = 2.0 / ((((sin(k) ^ 2.0) * (t_m * (k ^ 2.0))) / (l * cos(k))) / 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[k, 7.2e-22], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[Power[N[(N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision] * N[Sqrt[N[Sin[k], $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] * N[(t$95$m * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 7.2 \cdot 10^{-22}:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot {\left(\frac{{t\_m}^{1.5}}{\ell} \cdot \sqrt{\sin k}\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{{\sin k}^{2} \cdot \left(t\_m \cdot {k}^{2}\right)}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if k < 7.1999999999999996e-22Initial program 57.3%
*-commutative57.3%
sqr-neg57.3%
*-commutative57.3%
associate-*l*57.3%
*-commutative57.3%
sqr-neg57.3%
Simplified57.3%
Taylor expanded in k around 0 57.5%
*-commutative57.5%
Simplified57.5%
associate-/r*64.0%
add-cbrt-cube62.9%
add-cbrt-cube51.2%
cbrt-undiv51.2%
pow351.2%
pow351.2%
Applied egg-rr51.2%
*-rgt-identity51.2%
associate-*l/51.2%
associate-*r/51.2%
cube-div60.2%
associate-*l/60.2%
rem-cbrt-cube64.0%
associate-*r/64.0%
*-rgt-identity64.0%
Simplified64.0%
associate-/r*57.5%
add-sqr-sqrt32.9%
pow232.9%
associate-/r*37.0%
*-commutative37.0%
sqrt-prod21.0%
associate-/r*18.6%
sqrt-div17.5%
sqrt-pow119.2%
metadata-eval19.2%
sqrt-prod10.0%
add-sqr-sqrt21.5%
Applied egg-rr21.5%
*-commutative21.5%
Simplified21.5%
if 7.1999999999999996e-22 < k Initial program 39.9%
associate-*l*39.9%
sqr-neg39.9%
sqr-neg39.9%
associate-/r*42.6%
distribute-rgt-in42.6%
unpow242.6%
times-frac31.2%
sqr-neg31.2%
times-frac42.6%
unpow242.6%
distribute-rgt-in42.6%
Simplified42.6%
associate-*l/42.6%
associate-*l/42.7%
Applied egg-rr42.7%
Taylor expanded in t around 0 74.5%
associate-*r*74.6%
*-commutative74.6%
Simplified74.6%
Final simplification37.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 950.0)
(/ 2.0 (* (* (sin k) (pow (* t_m (pow (cbrt l) -2.0)) 3.0)) (* 2.0 k)))
(/ 2.0 (/ (/ (* t_m (pow (* k (sin k)) 2.0)) (* l (cos k))) 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 (k <= 950.0) {
tmp = 2.0 / ((sin(k) * pow((t_m * pow(cbrt(l), -2.0)), 3.0)) * (2.0 * k));
} else {
tmp = 2.0 / (((t_m * pow((k * sin(k)), 2.0)) / (l * cos(k))) / l);
}
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 <= 950.0) {
tmp = 2.0 / ((Math.sin(k) * Math.pow((t_m * Math.pow(Math.cbrt(l), -2.0)), 3.0)) * (2.0 * k));
} else {
tmp = 2.0 / (((t_m * Math.pow((k * Math.sin(k)), 2.0)) / (l * Math.cos(k))) / 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 (k <= 950.0) tmp = Float64(2.0 / Float64(Float64(sin(k) * (Float64(t_m * (cbrt(l) ^ -2.0)) ^ 3.0)) * Float64(2.0 * k))); else tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (Float64(k * sin(k)) ^ 2.0)) / Float64(l * cos(k))) / l)); 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, 950.0], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[Power[N[(t$95$m * N[Power[N[Power[l, 1/3], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t$95$m * N[Power[N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 950:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot {\left(t\_m \cdot {\left(\sqrt[3]{\ell}\right)}^{-2}\right)}^{3}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t\_m \cdot {\left(k \cdot \sin k\right)}^{2}}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if k < 950Initial program 57.8%
associate-*l*57.8%
sqr-neg57.8%
sqr-neg57.8%
associate-/r*65.7%
distribute-rgt-in65.7%
unpow265.7%
times-frac49.0%
sqr-neg49.0%
times-frac65.7%
unpow265.7%
distribute-rgt-in65.7%
Simplified65.7%
add-cube-cbrt65.6%
pow365.6%
associate-/r*57.7%
cbrt-div57.7%
rem-cbrt-cube65.7%
cbrt-prod76.7%
pow276.7%
Applied egg-rr76.7%
add-cube-cbrt76.7%
pow376.7%
cbrt-prod76.7%
unpow376.7%
add-cbrt-cube81.9%
div-inv82.0%
pow-flip81.9%
metadata-eval81.9%
Applied egg-rr81.9%
*-commutative81.9%
cube-prod76.7%
rem-cube-cbrt76.8%
Simplified76.8%
Taylor expanded in k around 0 71.3%
*-commutative71.3%
Simplified71.3%
if 950 < k Initial program 38.4%
associate-*l*38.4%
sqr-neg38.4%
sqr-neg38.4%
associate-/r*41.1%
distribute-rgt-in41.1%
unpow241.1%
times-frac29.4%
sqr-neg29.4%
times-frac41.1%
unpow241.1%
distribute-rgt-in41.1%
Simplified41.1%
associate-*l/41.1%
associate-*l/41.2%
Applied egg-rr41.2%
Taylor expanded in t around 0 73.9%
associate-*r*73.9%
*-commutative73.9%
Simplified73.9%
expm1-log1p-u45.9%
expm1-udef36.9%
associate-*r*36.9%
pow-prod-down36.9%
Applied egg-rr36.9%
expm1-def45.9%
expm1-log1p73.8%
*-commutative73.8%
*-commutative73.8%
Simplified73.8%
Final simplification72.1%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 950.0)
(/ 2.0 (* (* 2.0 k) (* (sin k) (pow (/ t_m (pow (cbrt l) 2.0)) 3.0))))
(/ 2.0 (/ (/ (* t_m (pow (* k (sin k)) 2.0)) (* l (cos k))) 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 (k <= 950.0) {
tmp = 2.0 / ((2.0 * k) * (sin(k) * pow((t_m / pow(cbrt(l), 2.0)), 3.0)));
} else {
tmp = 2.0 / (((t_m * pow((k * sin(k)), 2.0)) / (l * cos(k))) / l);
}
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 <= 950.0) {
tmp = 2.0 / ((2.0 * k) * (Math.sin(k) * Math.pow((t_m / Math.pow(Math.cbrt(l), 2.0)), 3.0)));
} else {
tmp = 2.0 / (((t_m * Math.pow((k * Math.sin(k)), 2.0)) / (l * Math.cos(k))) / 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 (k <= 950.0) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(sin(k) * (Float64(t_m / (cbrt(l) ^ 2.0)) ^ 3.0)))); else tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (Float64(k * sin(k)) ^ 2.0)) / Float64(l * cos(k))) / l)); 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, 950.0], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[Sin[k], $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], N[(2.0 / N[(N[(N[(t$95$m * N[Power[N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 950:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \left(\sin k \cdot {\left(\frac{t\_m}{{\left(\sqrt[3]{\ell}\right)}^{2}}\right)}^{3}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t\_m \cdot {\left(k \cdot \sin k\right)}^{2}}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if k < 950Initial program 57.8%
associate-*l*57.8%
sqr-neg57.8%
sqr-neg57.8%
associate-/r*65.7%
distribute-rgt-in65.7%
unpow265.7%
times-frac49.0%
sqr-neg49.0%
times-frac65.7%
unpow265.7%
distribute-rgt-in65.7%
Simplified65.7%
add-cube-cbrt65.6%
pow365.6%
associate-/r*57.7%
cbrt-div57.7%
rem-cbrt-cube65.7%
cbrt-prod76.7%
pow276.7%
Applied egg-rr76.7%
Taylor expanded in k around 0 71.3%
*-commutative71.3%
Simplified71.3%
if 950 < k Initial program 38.4%
associate-*l*38.4%
sqr-neg38.4%
sqr-neg38.4%
associate-/r*41.1%
distribute-rgt-in41.1%
unpow241.1%
times-frac29.4%
sqr-neg29.4%
times-frac41.1%
unpow241.1%
distribute-rgt-in41.1%
Simplified41.1%
associate-*l/41.1%
associate-*l/41.2%
Applied egg-rr41.2%
Taylor expanded in t around 0 73.9%
associate-*r*73.9%
*-commutative73.9%
Simplified73.9%
expm1-log1p-u45.9%
expm1-udef36.9%
associate-*r*36.9%
pow-prod-down36.9%
Applied egg-rr36.9%
expm1-def45.9%
expm1-log1p73.8%
*-commutative73.8%
*-commutative73.8%
Simplified73.8%
Final simplification72.1%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 8.2e-22)
(/ 2.0 (* (* 2.0 k) (pow (* (/ (pow t_m 1.5) l) (sqrt (sin k))) 2.0)))
(/ 2.0 (/ (/ (* t_m (pow (* k (sin k)) 2.0)) (* l (cos k))) 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 (k <= 8.2e-22) {
tmp = 2.0 / ((2.0 * k) * pow(((pow(t_m, 1.5) / l) * sqrt(sin(k))), 2.0));
} else {
tmp = 2.0 / (((t_m * pow((k * sin(k)), 2.0)) / (l * cos(k))) / 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 (k <= 8.2d-22) then
tmp = 2.0d0 / ((2.0d0 * k) * ((((t_m ** 1.5d0) / l) * sqrt(sin(k))) ** 2.0d0))
else
tmp = 2.0d0 / (((t_m * ((k * sin(k)) ** 2.0d0)) / (l * cos(k))) / 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 (k <= 8.2e-22) {
tmp = 2.0 / ((2.0 * k) * Math.pow(((Math.pow(t_m, 1.5) / l) * Math.sqrt(Math.sin(k))), 2.0));
} else {
tmp = 2.0 / (((t_m * Math.pow((k * Math.sin(k)), 2.0)) / (l * Math.cos(k))) / 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 k <= 8.2e-22: tmp = 2.0 / ((2.0 * k) * math.pow(((math.pow(t_m, 1.5) / l) * math.sqrt(math.sin(k))), 2.0)) else: tmp = 2.0 / (((t_m * math.pow((k * math.sin(k)), 2.0)) / (l * math.cos(k))) / 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 (k <= 8.2e-22) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * (Float64(Float64((t_m ^ 1.5) / l) * sqrt(sin(k))) ^ 2.0))); else tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (Float64(k * sin(k)) ^ 2.0)) / Float64(l * cos(k))) / 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 (k <= 8.2e-22) tmp = 2.0 / ((2.0 * k) * ((((t_m ^ 1.5) / l) * sqrt(sin(k))) ^ 2.0)); else tmp = 2.0 / (((t_m * ((k * sin(k)) ^ 2.0)) / (l * cos(k))) / 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[k, 8.2e-22], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[Power[N[(N[(N[Power[t$95$m, 1.5], $MachinePrecision] / l), $MachinePrecision] * N[Sqrt[N[Sin[k], $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t$95$m * N[Power[N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 8.2 \cdot 10^{-22}:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot {\left(\frac{{t\_m}^{1.5}}{\ell} \cdot \sqrt{\sin k}\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t\_m \cdot {\left(k \cdot \sin k\right)}^{2}}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if k < 8.1999999999999999e-22Initial program 57.3%
*-commutative57.3%
sqr-neg57.3%
*-commutative57.3%
associate-*l*57.3%
*-commutative57.3%
sqr-neg57.3%
Simplified57.3%
Taylor expanded in k around 0 57.5%
*-commutative57.5%
Simplified57.5%
associate-/r*64.0%
add-cbrt-cube62.9%
add-cbrt-cube51.2%
cbrt-undiv51.2%
pow351.2%
pow351.2%
Applied egg-rr51.2%
*-rgt-identity51.2%
associate-*l/51.2%
associate-*r/51.2%
cube-div60.2%
associate-*l/60.2%
rem-cbrt-cube64.0%
associate-*r/64.0%
*-rgt-identity64.0%
Simplified64.0%
associate-/r*57.5%
add-sqr-sqrt32.9%
pow232.9%
associate-/r*37.0%
*-commutative37.0%
sqrt-prod21.0%
associate-/r*18.6%
sqrt-div17.5%
sqrt-pow119.2%
metadata-eval19.2%
sqrt-prod10.0%
add-sqr-sqrt21.5%
Applied egg-rr21.5%
*-commutative21.5%
Simplified21.5%
if 8.1999999999999999e-22 < k Initial program 39.9%
associate-*l*39.9%
sqr-neg39.9%
sqr-neg39.9%
associate-/r*42.6%
distribute-rgt-in42.6%
unpow242.6%
times-frac31.2%
sqr-neg31.2%
times-frac42.6%
unpow242.6%
distribute-rgt-in42.6%
Simplified42.6%
associate-*l/42.6%
associate-*l/42.7%
Applied egg-rr42.7%
Taylor expanded in t around 0 74.5%
associate-*r*74.6%
*-commutative74.6%
Simplified74.6%
expm1-log1p-u47.3%
expm1-udef37.3%
associate-*r*37.3%
pow-prod-down37.3%
Applied egg-rr37.3%
expm1-def47.3%
expm1-log1p74.5%
*-commutative74.5%
*-commutative74.5%
Simplified74.5%
Final simplification37.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 950.0)
(/ 2.0 (* (* 2.0 k) (* (sin k) (pow (/ (pow t_m 1.5) l) 2.0))))
(/ 2.0 (/ (/ (* t_m (pow (* k (sin k)) 2.0)) (* l (cos k))) 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 (k <= 950.0) {
tmp = 2.0 / ((2.0 * k) * (sin(k) * pow((pow(t_m, 1.5) / l), 2.0)));
} else {
tmp = 2.0 / (((t_m * pow((k * sin(k)), 2.0)) / (l * cos(k))) / 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 (k <= 950.0d0) then
tmp = 2.0d0 / ((2.0d0 * k) * (sin(k) * (((t_m ** 1.5d0) / l) ** 2.0d0)))
else
tmp = 2.0d0 / (((t_m * ((k * sin(k)) ** 2.0d0)) / (l * cos(k))) / 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 (k <= 950.0) {
tmp = 2.0 / ((2.0 * k) * (Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0)));
} else {
tmp = 2.0 / (((t_m * Math.pow((k * Math.sin(k)), 2.0)) / (l * Math.cos(k))) / 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 k <= 950.0: tmp = 2.0 / ((2.0 * k) * (math.sin(k) * math.pow((math.pow(t_m, 1.5) / l), 2.0))) else: tmp = 2.0 / (((t_m * math.pow((k * math.sin(k)), 2.0)) / (l * math.cos(k))) / 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 (k <= 950.0) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0)))); else tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (Float64(k * sin(k)) ^ 2.0)) / Float64(l * cos(k))) / 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 (k <= 950.0) tmp = 2.0 / ((2.0 * k) * (sin(k) * (((t_m ^ 1.5) / l) ^ 2.0))); else tmp = 2.0 / (((t_m * ((k * sin(k)) ^ 2.0)) / (l * cos(k))) / 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[k, 950.0], N[(2.0 / N[(N[(2.0 * k), $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[(2.0 / N[(N[(N[(t$95$m * N[Power[N[(k * N[Sin[k], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 950:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \left(\sin k \cdot {\left(\frac{{t\_m}^{1.5}}{\ell}\right)}^{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t\_m \cdot {\left(k \cdot \sin k\right)}^{2}}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if k < 950Initial program 57.8%
*-commutative57.8%
sqr-neg57.8%
*-commutative57.8%
associate-*l*57.8%
*-commutative57.8%
sqr-neg57.8%
Simplified57.8%
Taylor expanded in k around 0 58.0%
*-commutative58.0%
Simplified58.0%
associate-/r*64.4%
add-cbrt-cube63.3%
add-cbrt-cube51.7%
cbrt-undiv51.7%
pow351.7%
pow351.7%
Applied egg-rr51.7%
*-rgt-identity51.7%
associate-*l/51.7%
associate-*r/51.7%
cube-div60.6%
associate-*l/60.6%
rem-cbrt-cube64.4%
associate-*r/64.4%
*-rgt-identity64.4%
Simplified64.4%
add-sqr-sqrt40.6%
pow240.6%
associate-/r*36.6%
sqrt-div35.4%
sqrt-pow138.1%
metadata-eval38.1%
sqrt-prod20.7%
add-sqr-sqrt41.1%
Applied egg-rr41.1%
if 950 < k Initial program 38.4%
associate-*l*38.4%
sqr-neg38.4%
sqr-neg38.4%
associate-/r*41.1%
distribute-rgt-in41.1%
unpow241.1%
times-frac29.4%
sqr-neg29.4%
times-frac41.1%
unpow241.1%
distribute-rgt-in41.1%
Simplified41.1%
associate-*l/41.1%
associate-*l/41.2%
Applied egg-rr41.2%
Taylor expanded in t around 0 73.9%
associate-*r*73.9%
*-commutative73.9%
Simplified73.9%
expm1-log1p-u45.9%
expm1-udef36.9%
associate-*r*36.9%
pow-prod-down36.9%
Applied egg-rr36.9%
expm1-def45.9%
expm1-log1p73.8%
*-commutative73.8%
*-commutative73.8%
Simplified73.8%
Final simplification51.0%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 185000.0)
(/ 2.0 (* (* 2.0 k) (* (sin k) (pow (/ (pow t_m 1.5) l) 2.0))))
(/ 2.0 (/ (* t_m (pow k 4.0)) (* (cos k) (pow l 2.0)))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 185000.0) {
tmp = 2.0 / ((2.0 * k) * (sin(k) * pow((pow(t_m, 1.5) / l), 2.0)));
} else {
tmp = 2.0 / ((t_m * pow(k, 4.0)) / (cos(k) * pow(l, 2.0)));
}
return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 185000.0d0) then
tmp = 2.0d0 / ((2.0d0 * k) * (sin(k) * (((t_m ** 1.5d0) / l) ** 2.0d0)))
else
tmp = 2.0d0 / ((t_m * (k ** 4.0d0)) / (cos(k) * (l ** 2.0d0)))
end if
code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 185000.0) {
tmp = 2.0 / ((2.0 * k) * (Math.sin(k) * Math.pow((Math.pow(t_m, 1.5) / l), 2.0)));
} else {
tmp = 2.0 / ((t_m * Math.pow(k, 4.0)) / (Math.cos(k) * Math.pow(l, 2.0)));
}
return t_s * tmp;
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 185000.0: tmp = 2.0 / ((2.0 * k) * (math.sin(k) * math.pow((math.pow(t_m, 1.5) / l), 2.0))) else: tmp = 2.0 / ((t_m * math.pow(k, 4.0)) / (math.cos(k) * math.pow(l, 2.0))) return t_s * tmp
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 185000.0) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(sin(k) * (Float64((t_m ^ 1.5) / l) ^ 2.0)))); else tmp = Float64(2.0 / Float64(Float64(t_m * (k ^ 4.0)) / Float64(cos(k) * (l ^ 2.0)))); end return Float64(t_s * tmp) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 185000.0) tmp = 2.0 / ((2.0 * k) * (sin(k) * (((t_m ^ 1.5) / l) ^ 2.0))); else tmp = 2.0 / ((t_m * (k ^ 4.0)) / (cos(k) * (l ^ 2.0))); end tmp_2 = t_s * tmp; end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 185000.0], N[(2.0 / N[(N[(2.0 * k), $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[(2.0 / N[(N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 185000:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \left(\sin k \cdot {\left(\frac{{t\_m}^{1.5}}{\ell}\right)}^{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t\_m \cdot {k}^{4}}{\cos k \cdot {\ell}^{2}}}\\
\end{array}
\end{array}
if k < 185000Initial program 57.8%
*-commutative57.8%
sqr-neg57.8%
*-commutative57.8%
associate-*l*57.8%
*-commutative57.8%
sqr-neg57.8%
Simplified57.8%
Taylor expanded in k around 0 58.0%
*-commutative58.0%
Simplified58.0%
associate-/r*64.4%
add-cbrt-cube63.3%
add-cbrt-cube51.7%
cbrt-undiv51.7%
pow351.7%
pow351.7%
Applied egg-rr51.7%
*-rgt-identity51.7%
associate-*l/51.7%
associate-*r/51.7%
cube-div60.6%
associate-*l/60.6%
rem-cbrt-cube64.4%
associate-*r/64.4%
*-rgt-identity64.4%
Simplified64.4%
add-sqr-sqrt40.6%
pow240.6%
associate-/r*36.6%
sqrt-div35.4%
sqrt-pow138.1%
metadata-eval38.1%
sqrt-prod20.7%
add-sqr-sqrt41.1%
Applied egg-rr41.1%
if 185000 < k Initial program 38.4%
associate-*l*38.4%
sqr-neg38.4%
sqr-neg38.4%
associate-/r*41.1%
distribute-rgt-in41.1%
unpow241.1%
times-frac29.4%
sqr-neg29.4%
times-frac41.1%
unpow241.1%
distribute-rgt-in41.1%
Simplified41.1%
Taylor expanded in t around 0 69.7%
Taylor expanded in k around 0 56.2%
Final simplification45.7%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 3450.0)
(/ 2.0 (* (* 2.0 k) (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
(/ 2.0 (/ (* t_m (pow k 4.0)) (* (cos k) (pow l 2.0)))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3450.0) {
tmp = 2.0 / ((2.0 * k) * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
} else {
tmp = 2.0 / ((t_m * pow(k, 4.0)) / (cos(k) * pow(l, 2.0)));
}
return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3450.0d0) then
tmp = 2.0d0 / ((2.0d0 * k) * ((sin(k) * ((t_m ** 3.0d0) / l)) / l))
else
tmp = 2.0d0 / ((t_m * (k ** 4.0d0)) / (cos(k) * (l ** 2.0d0)))
end if
code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3450.0) {
tmp = 2.0 / ((2.0 * k) * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
} else {
tmp = 2.0 / ((t_m * Math.pow(k, 4.0)) / (Math.cos(k) * Math.pow(l, 2.0)));
}
return t_s * tmp;
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 3450.0: tmp = 2.0 / ((2.0 * k) * ((math.sin(k) * (math.pow(t_m, 3.0) / l)) / l)) else: tmp = 2.0 / ((t_m * math.pow(k, 4.0)) / (math.cos(k) * math.pow(l, 2.0))) return t_s * tmp
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 3450.0) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l))); else tmp = Float64(2.0 / Float64(Float64(t_m * (k ^ 4.0)) / Float64(cos(k) * (l ^ 2.0)))); end return Float64(t_s * tmp) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 3450.0) tmp = 2.0 / ((2.0 * k) * ((sin(k) * ((t_m ^ 3.0) / l)) / l)); else tmp = 2.0 / ((t_m * (k ^ 4.0)) / (cos(k) * (l ^ 2.0))); end tmp_2 = t_s * tmp; end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 3450.0], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / N[(N[Cos[k], $MachinePrecision] * N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 3450:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \frac{\sin k \cdot \frac{{t\_m}^{3}}{\ell}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t\_m \cdot {k}^{4}}{\cos k \cdot {\ell}^{2}}}\\
\end{array}
\end{array}
if k < 3450Initial program 57.8%
*-commutative57.8%
sqr-neg57.8%
*-commutative57.8%
associate-*l*57.8%
*-commutative57.8%
sqr-neg57.8%
Simplified57.8%
Taylor expanded in k around 0 58.0%
*-commutative58.0%
Simplified58.0%
associate-/r*64.4%
add-cbrt-cube63.3%
add-cbrt-cube51.7%
cbrt-undiv51.7%
pow351.7%
pow351.7%
Applied egg-rr51.7%
*-rgt-identity51.7%
associate-*l/51.7%
associate-*r/51.7%
cube-div60.6%
associate-*l/60.6%
rem-cbrt-cube64.4%
associate-*r/64.4%
*-rgt-identity64.4%
Simplified64.4%
associate-*l/67.7%
Applied egg-rr67.7%
if 3450 < k Initial program 38.4%
associate-*l*38.4%
sqr-neg38.4%
sqr-neg38.4%
associate-/r*41.1%
distribute-rgt-in41.1%
unpow241.1%
times-frac29.4%
sqr-neg29.4%
times-frac41.1%
unpow241.1%
distribute-rgt-in41.1%
Simplified41.1%
Taylor expanded in t around 0 69.7%
Taylor expanded in k around 0 56.2%
Final simplification64.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 4.6e-30)
(/ 2.0 (/ (/ (pow k 4.0) (/ l t_m)) l))
(if (or (<= t_m 6.6e+102) (not (<= t_m 6.8e+168)))
(/ 2.0 (* (* 2.0 k) (/ k (/ (pow l 2.0) (pow t_m 3.0)))))
(/ 2.0 (/ (/ (* t_m (pow k 4.0)) l) 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 <= 4.6e-30) {
tmp = 2.0 / ((pow(k, 4.0) / (l / t_m)) / l);
} else if ((t_m <= 6.6e+102) || !(t_m <= 6.8e+168)) {
tmp = 2.0 / ((2.0 * k) * (k / (pow(l, 2.0) / pow(t_m, 3.0))));
} else {
tmp = 2.0 / (((t_m * pow(k, 4.0)) / l) / 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 <= 4.6d-30) then
tmp = 2.0d0 / (((k ** 4.0d0) / (l / t_m)) / l)
else if ((t_m <= 6.6d+102) .or. (.not. (t_m <= 6.8d+168))) then
tmp = 2.0d0 / ((2.0d0 * k) * (k / ((l ** 2.0d0) / (t_m ** 3.0d0))))
else
tmp = 2.0d0 / (((t_m * (k ** 4.0d0)) / l) / 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 <= 4.6e-30) {
tmp = 2.0 / ((Math.pow(k, 4.0) / (l / t_m)) / l);
} else if ((t_m <= 6.6e+102) || !(t_m <= 6.8e+168)) {
tmp = 2.0 / ((2.0 * k) * (k / (Math.pow(l, 2.0) / Math.pow(t_m, 3.0))));
} else {
tmp = 2.0 / (((t_m * Math.pow(k, 4.0)) / l) / 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 <= 4.6e-30: tmp = 2.0 / ((math.pow(k, 4.0) / (l / t_m)) / l) elif (t_m <= 6.6e+102) or not (t_m <= 6.8e+168): tmp = 2.0 / ((2.0 * k) * (k / (math.pow(l, 2.0) / math.pow(t_m, 3.0)))) else: tmp = 2.0 / (((t_m * math.pow(k, 4.0)) / l) / 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 <= 4.6e-30) tmp = Float64(2.0 / Float64(Float64((k ^ 4.0) / Float64(l / t_m)) / l)); elseif ((t_m <= 6.6e+102) || !(t_m <= 6.8e+168)) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(k / Float64((l ^ 2.0) / (t_m ^ 3.0))))); else tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 4.0)) / l) / 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 <= 4.6e-30) tmp = 2.0 / (((k ^ 4.0) / (l / t_m)) / l); elseif ((t_m <= 6.6e+102) || ~((t_m <= 6.8e+168))) tmp = 2.0 / ((2.0 * k) * (k / ((l ^ 2.0) / (t_m ^ 3.0)))); else tmp = 2.0 / (((t_m * (k ^ 4.0)) / l) / 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, 4.6e-30], N[(2.0 / N[(N[(N[Power[k, 4.0], $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t$95$m, 6.6e+102], N[Not[LessEqual[t$95$m, 6.8e+168]], $MachinePrecision]], 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], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_m \leq 4.6 \cdot 10^{-30}:\\
\;\;\;\;\frac{2}{\frac{\frac{{k}^{4}}{\frac{\ell}{t\_m}}}{\ell}}\\
\mathbf{elif}\;t\_m \leq 6.6 \cdot 10^{+102} \lor \neg \left(t\_m \leq 6.8 \cdot 10^{+168}\right):\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \frac{k}{\frac{{\ell}^{2}}{{t\_m}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t\_m \cdot {k}^{4}}{\ell}}{\ell}}\\
\end{array}
\end{array}
if t < 4.59999999999999968e-30Initial program 45.9%
associate-*l*45.9%
sqr-neg45.9%
sqr-neg45.9%
associate-/r*53.4%
distribute-rgt-in53.4%
unpow253.4%
times-frac36.0%
sqr-neg36.0%
times-frac53.4%
unpow253.4%
distribute-rgt-in53.4%
Simplified53.4%
associate-*l/55.1%
associate-*l/53.4%
Applied egg-rr53.4%
Taylor expanded in t around 0 72.8%
associate-*r*72.8%
*-commutative72.8%
Simplified72.8%
Taylor expanded in k around 0 58.8%
associate-/l*60.8%
Simplified60.8%
if 4.59999999999999968e-30 < t < 6.59999999999999997e102 or 6.80000000000000005e168 < t Initial program 70.4%
*-commutative70.4%
sqr-neg70.4%
*-commutative70.4%
associate-*l*70.4%
*-commutative70.4%
sqr-neg70.4%
Simplified70.4%
Taylor expanded in k around 0 70.5%
*-commutative70.5%
Simplified70.5%
Taylor expanded in k around 0 71.9%
associate-/l*71.6%
Simplified71.6%
if 6.59999999999999997e102 < t < 6.80000000000000005e168Initial program 38.6%
associate-*l*38.6%
sqr-neg38.6%
sqr-neg38.6%
associate-/r*39.9%
distribute-rgt-in39.9%
unpow239.9%
times-frac39.7%
sqr-neg39.7%
times-frac39.9%
unpow239.9%
distribute-rgt-in39.9%
Simplified39.9%
associate-*l/39.9%
associate-*l/39.9%
Applied egg-rr39.9%
Taylor expanded in t around 0 40.0%
associate-*r*40.0%
*-commutative40.0%
Simplified40.0%
Taylor expanded in k around 0 39.7%
Final simplification62.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 3.4e-21)
(/ 2.0 (* (* 2.0 k) (* (sin k) (/ (/ (pow t_m 3.0) l) l))))
(/ 2.0 (/ (/ (* t_m (pow k 4.0)) (* l (cos k))) 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 (k <= 3.4e-21) {
tmp = 2.0 / ((2.0 * k) * (sin(k) * ((pow(t_m, 3.0) / l) / l)));
} else {
tmp = 2.0 / (((t_m * pow(k, 4.0)) / (l * cos(k))) / 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 (k <= 3.4d-21) then
tmp = 2.0d0 / ((2.0d0 * k) * (sin(k) * (((t_m ** 3.0d0) / l) / l)))
else
tmp = 2.0d0 / (((t_m * (k ** 4.0d0)) / (l * cos(k))) / 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 (k <= 3.4e-21) {
tmp = 2.0 / ((2.0 * k) * (Math.sin(k) * ((Math.pow(t_m, 3.0) / l) / l)));
} else {
tmp = 2.0 / (((t_m * Math.pow(k, 4.0)) / (l * Math.cos(k))) / 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 k <= 3.4e-21: tmp = 2.0 / ((2.0 * k) * (math.sin(k) * ((math.pow(t_m, 3.0) / l) / l))) else: tmp = 2.0 / (((t_m * math.pow(k, 4.0)) / (l * math.cos(k))) / 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 (k <= 3.4e-21) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(sin(k) * Float64(Float64((t_m ^ 3.0) / l) / l)))); else tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 4.0)) / Float64(l * cos(k))) / 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 (k <= 3.4e-21) tmp = 2.0 / ((2.0 * k) * (sin(k) * (((t_m ^ 3.0) / l) / l))); else tmp = 2.0 / (((t_m * (k ^ 4.0)) / (l * cos(k))) / 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[k, 3.4e-21], N[(2.0 / N[(N[(2.0 * k), $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[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 3.4 \cdot 10^{-21}:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \left(\sin k \cdot \frac{\frac{{t\_m}^{3}}{\ell}}{\ell}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t\_m \cdot {k}^{4}}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if k < 3.4e-21Initial program 57.3%
*-commutative57.3%
sqr-neg57.3%
*-commutative57.3%
associate-*l*57.3%
*-commutative57.3%
sqr-neg57.3%
Simplified57.3%
Taylor expanded in k around 0 57.5%
*-commutative57.5%
Simplified57.5%
associate-/r*64.0%
add-cbrt-cube62.9%
add-cbrt-cube51.2%
cbrt-undiv51.2%
pow351.2%
pow351.2%
Applied egg-rr51.2%
*-rgt-identity51.2%
associate-*l/51.2%
associate-*r/51.2%
cube-div60.2%
associate-*l/60.2%
rem-cbrt-cube64.0%
associate-*r/64.0%
*-rgt-identity64.0%
Simplified64.0%
if 3.4e-21 < k Initial program 39.9%
associate-*l*39.9%
sqr-neg39.9%
sqr-neg39.9%
associate-/r*42.6%
distribute-rgt-in42.6%
unpow242.6%
times-frac31.2%
sqr-neg31.2%
times-frac42.6%
unpow242.6%
distribute-rgt-in42.6%
Simplified42.6%
associate-*l/42.6%
associate-*l/42.7%
Applied egg-rr42.7%
Taylor expanded in t around 0 74.5%
associate-*r*74.6%
*-commutative74.6%
Simplified74.6%
Taylor expanded in k around 0 58.0%
Final simplification62.2%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 5.7e-21)
(/ 2.0 (* (* 2.0 k) (/ (* (sin k) (/ (pow t_m 3.0) l)) l)))
(/ 2.0 (/ (/ (* t_m (pow k 4.0)) (* l (cos k))) 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 (k <= 5.7e-21) {
tmp = 2.0 / ((2.0 * k) * ((sin(k) * (pow(t_m, 3.0) / l)) / l));
} else {
tmp = 2.0 / (((t_m * pow(k, 4.0)) / (l * cos(k))) / 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 (k <= 5.7d-21) then
tmp = 2.0d0 / ((2.0d0 * k) * ((sin(k) * ((t_m ** 3.0d0) / l)) / l))
else
tmp = 2.0d0 / (((t_m * (k ** 4.0d0)) / (l * cos(k))) / 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 (k <= 5.7e-21) {
tmp = 2.0 / ((2.0 * k) * ((Math.sin(k) * (Math.pow(t_m, 3.0) / l)) / l));
} else {
tmp = 2.0 / (((t_m * Math.pow(k, 4.0)) / (l * Math.cos(k))) / 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 k <= 5.7e-21: tmp = 2.0 / ((2.0 * k) * ((math.sin(k) * (math.pow(t_m, 3.0) / l)) / l)) else: tmp = 2.0 / (((t_m * math.pow(k, 4.0)) / (l * math.cos(k))) / 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 (k <= 5.7e-21) tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(Float64(sin(k) * Float64((t_m ^ 3.0) / l)) / l))); else tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 4.0)) / Float64(l * cos(k))) / 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 (k <= 5.7e-21) tmp = 2.0 / ((2.0 * k) * ((sin(k) * ((t_m ^ 3.0) / l)) / l)); else tmp = 2.0 / (((t_m * (k ^ 4.0)) / (l * cos(k))) / 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[k, 5.7e-21], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t$95$m, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 5.7 \cdot 10^{-21}:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \frac{\sin k \cdot \frac{{t\_m}^{3}}{\ell}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t\_m \cdot {k}^{4}}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if k < 5.6999999999999996e-21Initial program 57.3%
*-commutative57.3%
sqr-neg57.3%
*-commutative57.3%
associate-*l*57.3%
*-commutative57.3%
sqr-neg57.3%
Simplified57.3%
Taylor expanded in k around 0 57.5%
*-commutative57.5%
Simplified57.5%
associate-/r*64.0%
add-cbrt-cube62.9%
add-cbrt-cube51.2%
cbrt-undiv51.2%
pow351.2%
pow351.2%
Applied egg-rr51.2%
*-rgt-identity51.2%
associate-*l/51.2%
associate-*r/51.2%
cube-div60.2%
associate-*l/60.2%
rem-cbrt-cube64.0%
associate-*r/64.0%
*-rgt-identity64.0%
Simplified64.0%
associate-*l/67.3%
Applied egg-rr67.3%
if 5.6999999999999996e-21 < k Initial program 39.9%
associate-*l*39.9%
sqr-neg39.9%
sqr-neg39.9%
associate-/r*42.6%
distribute-rgt-in42.6%
unpow242.6%
times-frac31.2%
sqr-neg31.2%
times-frac42.6%
unpow242.6%
distribute-rgt-in42.6%
Simplified42.6%
associate-*l/42.6%
associate-*l/42.7%
Applied egg-rr42.7%
Taylor expanded in t around 0 74.5%
associate-*r*74.6%
*-commutative74.6%
Simplified74.6%
Taylor expanded in k around 0 58.0%
Final simplification64.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 1.45e-28)
(/ 2.0 (/ (/ (pow k 4.0) (/ l t_m)) l))
(/ 2.0 (* (* 2.0 k) (/ (* k (pow t_m 3.0)) (pow l 2.0)))))))t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.45e-28) {
tmp = 2.0 / ((pow(k, 4.0) / (l / t_m)) / l);
} else {
tmp = 2.0 / ((2.0 * k) * ((k * pow(t_m, 3.0)) / pow(l, 2.0)));
}
return t_s * tmp;
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 1.45d-28) then
tmp = 2.0d0 / (((k ** 4.0d0) / (l / t_m)) / l)
else
tmp = 2.0d0 / ((2.0d0 * k) * ((k * (t_m ** 3.0d0)) / (l ** 2.0d0)))
end if
code = t_s * tmp
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 1.45e-28) {
tmp = 2.0 / ((Math.pow(k, 4.0) / (l / t_m)) / l);
} else {
tmp = 2.0 / ((2.0 * k) * ((k * Math.pow(t_m, 3.0)) / Math.pow(l, 2.0)));
}
return t_s * tmp;
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if t_m <= 1.45e-28: tmp = 2.0 / ((math.pow(k, 4.0) / (l / t_m)) / l) else: tmp = 2.0 / ((2.0 * k) * ((k * math.pow(t_m, 3.0)) / math.pow(l, 2.0))) return t_s * tmp
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 1.45e-28) tmp = Float64(2.0 / Float64(Float64((k ^ 4.0) / Float64(l / t_m)) / l)); else tmp = Float64(2.0 / Float64(Float64(2.0 * k) * Float64(Float64(k * (t_m ^ 3.0)) / (l ^ 2.0)))); end return Float64(t_s * tmp) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (t_m <= 1.45e-28) tmp = 2.0 / (((k ^ 4.0) / (l / t_m)) / l); else tmp = 2.0 / ((2.0 * k) * ((k * (t_m ^ 3.0)) / (l ^ 2.0))); end tmp_2 = t_s * tmp; end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 1.45e-28], N[(2.0 / N[(N[(N[Power[k, 4.0], $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(2.0 * k), $MachinePrecision] * N[(N[(k * N[Power[t$95$m, 3.0], $MachinePrecision]), $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_m \leq 1.45 \cdot 10^{-28}:\\
\;\;\;\;\frac{2}{\frac{\frac{{k}^{4}}{\frac{\ell}{t\_m}}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(2 \cdot k\right) \cdot \frac{k \cdot {t\_m}^{3}}{{\ell}^{2}}}\\
\end{array}
\end{array}
if t < 1.45000000000000006e-28Initial program 45.9%
associate-*l*45.9%
sqr-neg45.9%
sqr-neg45.9%
associate-/r*53.4%
distribute-rgt-in53.4%
unpow253.4%
times-frac36.0%
sqr-neg36.0%
times-frac53.4%
unpow253.4%
distribute-rgt-in53.4%
Simplified53.4%
associate-*l/55.1%
associate-*l/53.4%
Applied egg-rr53.4%
Taylor expanded in t around 0 72.8%
associate-*r*72.8%
*-commutative72.8%
Simplified72.8%
Taylor expanded in k around 0 58.8%
associate-/l*60.8%
Simplified60.8%
if 1.45000000000000006e-28 < t Initial program 64.3%
*-commutative64.3%
sqr-neg64.3%
*-commutative64.3%
associate-*l*64.3%
*-commutative64.3%
sqr-neg64.3%
Simplified64.3%
Taylor expanded in k around 0 64.5%
*-commutative64.5%
Simplified64.5%
Taylor expanded in k around 0 65.5%
Final simplification62.3%
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= l 3.7e+102)
(/ 2.0 (/ (/ (pow k 4.0) (/ l t_m)) l))
(/ 2.0 (/ (/ (* t_m (pow k 4.0)) (* l (cos k))) 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 (l <= 3.7e+102) {
tmp = 2.0 / ((pow(k, 4.0) / (l / t_m)) / l);
} else {
tmp = 2.0 / (((t_m * pow(k, 4.0)) / (l * cos(k))) / 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 (l <= 3.7d+102) then
tmp = 2.0d0 / (((k ** 4.0d0) / (l / t_m)) / l)
else
tmp = 2.0d0 / (((t_m * (k ** 4.0d0)) / (l * cos(k))) / 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 (l <= 3.7e+102) {
tmp = 2.0 / ((Math.pow(k, 4.0) / (l / t_m)) / l);
} else {
tmp = 2.0 / (((t_m * Math.pow(k, 4.0)) / (l * Math.cos(k))) / 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 l <= 3.7e+102: tmp = 2.0 / ((math.pow(k, 4.0) / (l / t_m)) / l) else: tmp = 2.0 / (((t_m * math.pow(k, 4.0)) / (l * math.cos(k))) / 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 (l <= 3.7e+102) tmp = Float64(2.0 / Float64(Float64((k ^ 4.0) / Float64(l / t_m)) / l)); else tmp = Float64(2.0 / Float64(Float64(Float64(t_m * (k ^ 4.0)) / Float64(l * cos(k))) / 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 (l <= 3.7e+102) tmp = 2.0 / (((k ^ 4.0) / (l / t_m)) / l); else tmp = 2.0 / (((t_m * (k ^ 4.0)) / (l * cos(k))) / 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[l, 3.7e+102], N[(2.0 / N[(N[(N[Power[k, 4.0], $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t$95$m * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $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 3.7 \cdot 10^{+102}:\\
\;\;\;\;\frac{2}{\frac{\frac{{k}^{4}}{\frac{\ell}{t\_m}}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t\_m \cdot {k}^{4}}{\ell \cdot \cos k}}{\ell}}\\
\end{array}
\end{array}
if l < 3.70000000000000023e102Initial program 53.5%
associate-*l*53.5%
sqr-neg53.5%
sqr-neg53.5%
associate-/r*59.6%
distribute-rgt-in59.6%
unpow259.6%
times-frac44.0%
sqr-neg44.0%
times-frac59.6%
unpow259.6%
distribute-rgt-in59.6%
Simplified59.6%
associate-*l/62.3%
associate-*l/60.0%
Applied egg-rr60.0%
Taylor expanded in t around 0 64.3%
associate-*r*64.8%
*-commutative64.8%
Simplified64.8%
Taylor expanded in k around 0 55.9%
associate-/l*57.1%
Simplified57.1%
if 3.70000000000000023e102 < l Initial program 42.8%
associate-*l*42.8%
sqr-neg42.8%
sqr-neg42.8%
associate-/r*50.9%
distribute-rgt-in50.9%
unpow250.9%
times-frac37.9%
sqr-neg37.9%
times-frac50.9%
unpow250.9%
distribute-rgt-in50.9%
Simplified50.9%
associate-*l/50.9%
associate-*l/51.1%
Applied egg-rr51.1%
Taylor expanded in t around 0 62.1%
associate-*r*62.1%
*-commutative62.1%
Simplified62.1%
Taylor expanded in k around 0 49.6%
Final simplification55.9%
t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l k) :precision binary64 (* t_s (* l (/ 2.0 (/ (pow k 4.0) (/ l t_m))))))
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
return t_s * (l * (2.0 / (pow(k, 4.0) / (l / t_m))));
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
code = t_s * (l * (2.0d0 / ((k ** 4.0d0) / (l / t_m))))
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
return t_s * (l * (2.0 / (Math.pow(k, 4.0) / (l / t_m))));
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): return t_s * (l * (2.0 / (math.pow(k, 4.0) / (l / t_m))))
t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k) return Float64(t_s * Float64(l * Float64(2.0 / Float64((k ^ 4.0) / Float64(l / t_m))))) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k) tmp = t_s * (l * (2.0 / ((k ^ 4.0) / (l / t_m)))); end
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(l * N[(2.0 / N[(N[Power[k, 4.0], $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \left(\ell \cdot \frac{2}{\frac{{k}^{4}}{\frac{\ell}{t\_m}}}\right)
\end{array}
Initial program 51.9%
associate-*l*51.9%
sqr-neg51.9%
sqr-neg51.9%
associate-/r*58.3%
distribute-rgt-in58.3%
unpow258.3%
times-frac43.1%
sqr-neg43.1%
times-frac58.3%
unpow258.3%
distribute-rgt-in58.3%
Simplified58.3%
associate-*l/60.6%
associate-*l/58.7%
Applied egg-rr58.7%
Taylor expanded in t around 0 64.0%
associate-*r*64.4%
*-commutative64.4%
Simplified64.4%
Taylor expanded in k around 0 54.6%
associate-/r/54.6%
associate-/l*55.4%
Applied egg-rr55.4%
Final simplification55.4%
t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l k) :precision binary64 (* t_s (/ 2.0 (/ (/ (pow k 4.0) (/ l 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) {
return t_s * (2.0 / ((pow(k, 4.0) / (l / t_m)) / l));
}
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
code = t_s * (2.0d0 / (((k ** 4.0d0) / (l / t_m)) / l))
end function
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((Math.pow(k, 4.0) / (l / t_m)) / l));
}
t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): return t_s * (2.0 / ((math.pow(k, 4.0) / (l / t_m)) / l))
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((k ^ 4.0) / Float64(l / t_m)) / l))) end
t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k) tmp = t_s * (2.0 / (((k ^ 4.0) / (l / t_m)) / l)); 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[(N[Power[k, 4.0], $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] / l), $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{\frac{{k}^{4}}{\frac{\ell}{t\_m}}}{\ell}}
\end{array}
Initial program 51.9%
associate-*l*51.9%
sqr-neg51.9%
sqr-neg51.9%
associate-/r*58.3%
distribute-rgt-in58.3%
unpow258.3%
times-frac43.1%
sqr-neg43.1%
times-frac58.3%
unpow258.3%
distribute-rgt-in58.3%
Simplified58.3%
associate-*l/60.6%
associate-*l/58.7%
Applied egg-rr58.7%
Taylor expanded in t around 0 64.0%
associate-*r*64.4%
*-commutative64.4%
Simplified64.4%
Taylor expanded in k around 0 54.6%
associate-/l*55.5%
Simplified55.5%
Final simplification55.5%
herbie shell --seed 2024027
(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))))