
(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 15 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) - 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) - 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) - 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) - 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) - 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) - 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] - 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}
\end{array}
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 1.85e-24)
(*
2.0
(pow (* (/ l k_m) (/ (/ (sqrt (cos k_m)) (sin k_m)) (sqrt t_m))) 2.0))
(*
2.0
(*
(pow (/ (/ l (sqrt t_m)) k_m) 2.0)
(/ (cos k_m) (pow (sin k_m) 2.0)))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 1.85e-24) {
tmp = 2.0 * pow(((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))), 2.0);
} else {
tmp = 2.0 * (pow(((l / sqrt(t_m)) / k_m), 2.0) * (cos(k_m) / pow(sin(k_m), 2.0)));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 1.85d-24) then
tmp = 2.0d0 * (((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ** 2.0d0)
else
tmp = 2.0d0 * ((((l / sqrt(t_m)) / k_m) ** 2.0d0) * (cos(k_m) / (sin(k_m) ** 2.0d0)))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 1.85e-24) {
tmp = 2.0 * Math.pow(((l / k_m) * ((Math.sqrt(Math.cos(k_m)) / Math.sin(k_m)) / Math.sqrt(t_m))), 2.0);
} else {
tmp = 2.0 * (Math.pow(((l / Math.sqrt(t_m)) / k_m), 2.0) * (Math.cos(k_m) / Math.pow(Math.sin(k_m), 2.0)));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 1.85e-24: tmp = 2.0 * math.pow(((l / k_m) * ((math.sqrt(math.cos(k_m)) / math.sin(k_m)) / math.sqrt(t_m))), 2.0) else: tmp = 2.0 * (math.pow(((l / math.sqrt(t_m)) / k_m), 2.0) * (math.cos(k_m) / math.pow(math.sin(k_m), 2.0))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 1.85e-24) tmp = Float64(2.0 * (Float64(Float64(l / k_m) * Float64(Float64(sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ^ 2.0)); else tmp = Float64(2.0 * Float64((Float64(Float64(l / sqrt(t_m)) / k_m) ^ 2.0) * Float64(cos(k_m) / (sin(k_m) ^ 2.0)))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 1.85e-24) tmp = 2.0 * (((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ^ 2.0); else tmp = 2.0 * ((((l / sqrt(t_m)) / k_m) ^ 2.0) * (cos(k_m) / (sin(k_m) ^ 2.0))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 1.85e-24], N[(2.0 * N[Power[N[(N[(l / k$95$m), $MachinePrecision] * N[(N[(N[Sqrt[N[Cos[k$95$m], $MachinePrecision]], $MachinePrecision] / N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] / N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[N[(N[(l / N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision], 2.0], $MachinePrecision] * N[(N[Cos[k$95$m], $MachinePrecision] / N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 1.85 \cdot 10^{-24}:\\
\;\;\;\;2 \cdot {\left(\frac{\ell}{k\_m} \cdot \frac{\frac{\sqrt{\cos k\_m}}{\sin k\_m}}{\sqrt{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\frac{\ell}{\sqrt{t\_m}}}{k\_m}\right)}^{2} \cdot \frac{\cos k\_m}{{\sin k\_m}^{2}}\right)\\
\end{array}
\end{array}
if k < 1.8499999999999999e-24Initial program 30.7%
associate-*l*31.1%
associate-/r*30.7%
sub-neg30.7%
distribute-rgt-in23.4%
unpow223.4%
times-frac17.7%
sqr-neg17.7%
times-frac23.4%
unpow223.4%
distribute-rgt-in30.7%
+-commutative30.7%
associate-+l+36.9%
Simplified36.9%
Taylor expanded in t around 0 72.5%
associate-*r*72.5%
times-frac72.6%
*-commutative72.6%
associate-/r*68.7%
Simplified68.7%
add-sqr-sqrt40.8%
pow240.8%
sqrt-div37.6%
sqrt-div33.6%
pow233.6%
sqrt-prod22.4%
add-sqr-sqrt39.4%
unpow239.4%
sqrt-prod13.9%
add-sqr-sqrt41.7%
Applied egg-rr41.7%
expm1-log1p-u39.8%
expm1-udef37.1%
Applied egg-rr35.2%
expm1-def36.2%
expm1-log1p36.6%
associate-*l/36.7%
times-frac37.0%
Simplified37.0%
if 1.8499999999999999e-24 < k Initial program 33.2%
associate-*l*33.2%
associate-/r*33.2%
sub-neg33.2%
distribute-rgt-in33.2%
unpow233.2%
times-frac31.6%
sqr-neg31.6%
times-frac33.2%
unpow233.2%
distribute-rgt-in33.2%
+-commutative33.2%
associate-+l+44.7%
Simplified44.7%
Taylor expanded in t around 0 80.6%
associate-*r*80.5%
times-frac80.5%
*-commutative80.5%
associate-/r*83.7%
Simplified83.7%
add-sqr-sqrt63.9%
pow263.9%
sqrt-div55.8%
sqrt-div41.4%
pow241.4%
sqrt-prod21.0%
add-sqr-sqrt43.1%
unpow243.1%
sqrt-prod45.0%
add-sqr-sqrt45.0%
Applied egg-rr45.0%
Final simplification38.9%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 2.4e-29)
(*
2.0
(pow (* (/ l k_m) (/ (/ (sqrt (cos k_m)) (sin k_m)) (sqrt t_m))) 2.0))
(*
2.0
(*
(pow (/ (/ l (sqrt t_m)) k_m) 2.0)
(* (cos k_m) (pow (sin k_m) -2.0)))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.4e-29) {
tmp = 2.0 * pow(((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))), 2.0);
} else {
tmp = 2.0 * (pow(((l / sqrt(t_m)) / k_m), 2.0) * (cos(k_m) * pow(sin(k_m), -2.0)));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.4d-29) then
tmp = 2.0d0 * (((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ** 2.0d0)
else
tmp = 2.0d0 * ((((l / sqrt(t_m)) / k_m) ** 2.0d0) * (cos(k_m) * (sin(k_m) ** (-2.0d0))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.4e-29) {
tmp = 2.0 * Math.pow(((l / k_m) * ((Math.sqrt(Math.cos(k_m)) / Math.sin(k_m)) / Math.sqrt(t_m))), 2.0);
} else {
tmp = 2.0 * (Math.pow(((l / Math.sqrt(t_m)) / k_m), 2.0) * (Math.cos(k_m) * Math.pow(Math.sin(k_m), -2.0)));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 2.4e-29: tmp = 2.0 * math.pow(((l / k_m) * ((math.sqrt(math.cos(k_m)) / math.sin(k_m)) / math.sqrt(t_m))), 2.0) else: tmp = 2.0 * (math.pow(((l / math.sqrt(t_m)) / k_m), 2.0) * (math.cos(k_m) * math.pow(math.sin(k_m), -2.0))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 2.4e-29) tmp = Float64(2.0 * (Float64(Float64(l / k_m) * Float64(Float64(sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ^ 2.0)); else tmp = Float64(2.0 * Float64((Float64(Float64(l / sqrt(t_m)) / k_m) ^ 2.0) * Float64(cos(k_m) * (sin(k_m) ^ -2.0)))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 2.4e-29) tmp = 2.0 * (((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ^ 2.0); else tmp = 2.0 * ((((l / sqrt(t_m)) / k_m) ^ 2.0) * (cos(k_m) * (sin(k_m) ^ -2.0))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 2.4e-29], N[(2.0 * N[Power[N[(N[(l / k$95$m), $MachinePrecision] * N[(N[(N[Sqrt[N[Cos[k$95$m], $MachinePrecision]], $MachinePrecision] / N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] / N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[N[(N[(l / N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision], 2.0], $MachinePrecision] * N[(N[Cos[k$95$m], $MachinePrecision] * N[Power[N[Sin[k$95$m], $MachinePrecision], -2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2.4 \cdot 10^{-29}:\\
\;\;\;\;2 \cdot {\left(\frac{\ell}{k\_m} \cdot \frac{\frac{\sqrt{\cos k\_m}}{\sin k\_m}}{\sqrt{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\frac{\ell}{\sqrt{t\_m}}}{k\_m}\right)}^{2} \cdot \left(\cos k\_m \cdot {\sin k\_m}^{-2}\right)\right)\\
\end{array}
\end{array}
if k < 2.39999999999999992e-29Initial program 30.3%
associate-*l*30.8%
associate-/r*30.3%
sub-neg30.3%
distribute-rgt-in23.0%
unpow223.0%
times-frac17.2%
sqr-neg17.2%
times-frac23.0%
unpow223.0%
distribute-rgt-in30.3%
+-commutative30.3%
associate-+l+36.6%
Simplified36.6%
Taylor expanded in t around 0 72.4%
associate-*r*72.4%
times-frac72.5%
*-commutative72.5%
associate-/r*68.5%
Simplified68.5%
add-sqr-sqrt40.4%
pow240.4%
sqrt-div37.3%
sqrt-div33.3%
pow233.3%
sqrt-prod22.5%
add-sqr-sqrt39.1%
unpow239.1%
sqrt-prod13.5%
add-sqr-sqrt41.4%
Applied egg-rr41.4%
expm1-log1p-u39.4%
expm1-udef36.8%
Applied egg-rr34.9%
expm1-def35.8%
expm1-log1p36.3%
associate-*l/36.4%
times-frac36.7%
Simplified36.7%
if 2.39999999999999992e-29 < k Initial program 34.3%
associate-*l*34.3%
associate-/r*34.3%
sub-neg34.3%
distribute-rgt-in34.3%
unpow234.3%
times-frac32.7%
sqr-neg32.7%
times-frac34.3%
unpow234.3%
distribute-rgt-in34.3%
+-commutative34.3%
associate-+l+45.6%
Simplified45.6%
Taylor expanded in t around 0 80.9%
associate-*r*80.8%
times-frac80.8%
*-commutative80.8%
associate-/r*84.0%
Simplified84.0%
add-sqr-sqrt64.5%
pow264.5%
sqrt-div56.5%
sqrt-div42.3%
pow242.3%
sqrt-prod20.7%
add-sqr-sqrt44.0%
unpow244.0%
sqrt-prod45.8%
add-sqr-sqrt45.9%
Applied egg-rr45.9%
expm1-log1p-u30.1%
expm1-udef30.1%
div-inv30.1%
pow-flip30.1%
metadata-eval30.1%
Applied egg-rr30.1%
expm1-def30.1%
expm1-log1p45.9%
Simplified45.9%
Final simplification38.9%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 6.4e-47)
(*
2.0
(pow (* (/ l k_m) (/ (/ (sqrt (cos k_m)) (sin k_m)) (sqrt t_m))) 2.0))
(*
2.0
(*
(pow (/ l k_m) 2.0)
(/ (- (cos k_m)) (* (pow (sin k_m) 2.0) (- t_m))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 6.4e-47) {
tmp = 2.0 * pow(((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))), 2.0);
} else {
tmp = 2.0 * (pow((l / k_m), 2.0) * (-cos(k_m) / (pow(sin(k_m), 2.0) * -t_m)));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 6.4d-47) then
tmp = 2.0d0 * (((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ** 2.0d0)
else
tmp = 2.0d0 * (((l / k_m) ** 2.0d0) * (-cos(k_m) / ((sin(k_m) ** 2.0d0) * -t_m)))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 6.4e-47) {
tmp = 2.0 * Math.pow(((l / k_m) * ((Math.sqrt(Math.cos(k_m)) / Math.sin(k_m)) / Math.sqrt(t_m))), 2.0);
} else {
tmp = 2.0 * (Math.pow((l / k_m), 2.0) * (-Math.cos(k_m) / (Math.pow(Math.sin(k_m), 2.0) * -t_m)));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 6.4e-47: tmp = 2.0 * math.pow(((l / k_m) * ((math.sqrt(math.cos(k_m)) / math.sin(k_m)) / math.sqrt(t_m))), 2.0) else: tmp = 2.0 * (math.pow((l / k_m), 2.0) * (-math.cos(k_m) / (math.pow(math.sin(k_m), 2.0) * -t_m))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 6.4e-47) tmp = Float64(2.0 * (Float64(Float64(l / k_m) * Float64(Float64(sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ^ 2.0)); else tmp = Float64(2.0 * Float64((Float64(l / k_m) ^ 2.0) * Float64(Float64(-cos(k_m)) / Float64((sin(k_m) ^ 2.0) * Float64(-t_m))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 6.4e-47) tmp = 2.0 * (((l / k_m) * ((sqrt(cos(k_m)) / sin(k_m)) / sqrt(t_m))) ^ 2.0); else tmp = 2.0 * (((l / k_m) ^ 2.0) * (-cos(k_m) / ((sin(k_m) ^ 2.0) * -t_m))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 6.4e-47], N[(2.0 * N[Power[N[(N[(l / k$95$m), $MachinePrecision] * N[(N[(N[Sqrt[N[Cos[k$95$m], $MachinePrecision]], $MachinePrecision] / N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision] / N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[N[(l / k$95$m), $MachinePrecision], 2.0], $MachinePrecision] * N[((-N[Cos[k$95$m], $MachinePrecision]) / N[(N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision] * (-t$95$m)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 6.4 \cdot 10^{-47}:\\
\;\;\;\;2 \cdot {\left(\frac{\ell}{k\_m} \cdot \frac{\frac{\sqrt{\cos k\_m}}{\sin k\_m}}{\sqrt{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\ell}{k\_m}\right)}^{2} \cdot \frac{-\cos k\_m}{{\sin k\_m}^{2} \cdot \left(-t\_m\right)}\right)\\
\end{array}
\end{array}
if k < 6.3999999999999998e-47Initial program 30.7%
associate-*l*31.1%
associate-/r*30.7%
sub-neg30.7%
distribute-rgt-in23.3%
unpow223.3%
times-frac17.4%
sqr-neg17.4%
times-frac23.3%
unpow223.3%
distribute-rgt-in30.7%
+-commutative30.7%
associate-+l+36.9%
Simplified36.9%
Taylor expanded in t around 0 72.6%
associate-*r*72.6%
times-frac73.2%
*-commutative73.2%
associate-/r*69.1%
Simplified69.1%
add-sqr-sqrt40.8%
pow240.8%
sqrt-div37.6%
sqrt-div33.6%
pow233.6%
sqrt-prod22.7%
add-sqr-sqrt39.0%
unpow239.0%
sqrt-prod13.1%
add-sqr-sqrt41.3%
Applied egg-rr41.3%
expm1-log1p-u39.3%
expm1-udef37.1%
Applied egg-rr35.2%
expm1-def35.2%
expm1-log1p35.7%
associate-*l/35.7%
times-frac36.0%
Simplified36.0%
if 6.3999999999999998e-47 < k Initial program 33.2%
associate-*l*33.2%
associate-/r*33.2%
sub-neg33.2%
distribute-rgt-in33.2%
unpow233.2%
times-frac31.7%
sqr-neg31.7%
times-frac33.2%
unpow233.2%
distribute-rgt-in33.2%
+-commutative33.2%
associate-+l+44.3%
Simplified44.3%
Taylor expanded in t around 0 80.0%
associate-*r*79.9%
times-frac78.5%
*-commutative78.5%
associate-/r*81.6%
Simplified81.6%
add-sqr-sqrt62.7%
pow262.7%
sqrt-div55.0%
sqrt-div41.2%
pow241.2%
sqrt-prod20.2%
add-sqr-sqrt44.3%
unpow244.3%
sqrt-prod46.1%
add-sqr-sqrt46.1%
Applied egg-rr46.1%
Taylor expanded in t around -inf 0.0%
mul-1-neg0.0%
times-frac0.0%
unpow20.0%
unpow20.0%
times-frac0.0%
unpow20.0%
distribute-lft-neg-in0.0%
associate-*r*0.0%
unpow20.0%
rem-square-sqrt93.3%
*-commutative93.3%
associate-*l*93.3%
Simplified93.3%
Final simplification50.5%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 4.2e-31)
(pow (* (/ (/ (* l (sqrt 2.0)) k_m) k_m) (sqrt (/ 1.0 t_m))) 2.0)
(*
2.0
(*
(pow (/ l k_m) 2.0)
(/ (- (cos k_m)) (* (pow (sin k_m) 2.0) (- t_m))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 4.2e-31) {
tmp = pow(((((l * sqrt(2.0)) / k_m) / k_m) * sqrt((1.0 / t_m))), 2.0);
} else {
tmp = 2.0 * (pow((l / k_m), 2.0) * (-cos(k_m) / (pow(sin(k_m), 2.0) * -t_m)));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 4.2d-31) then
tmp = ((((l * sqrt(2.0d0)) / k_m) / k_m) * sqrt((1.0d0 / t_m))) ** 2.0d0
else
tmp = 2.0d0 * (((l / k_m) ** 2.0d0) * (-cos(k_m) / ((sin(k_m) ** 2.0d0) * -t_m)))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 4.2e-31) {
tmp = Math.pow(((((l * Math.sqrt(2.0)) / k_m) / k_m) * Math.sqrt((1.0 / t_m))), 2.0);
} else {
tmp = 2.0 * (Math.pow((l / k_m), 2.0) * (-Math.cos(k_m) / (Math.pow(Math.sin(k_m), 2.0) * -t_m)));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 4.2e-31: tmp = math.pow(((((l * math.sqrt(2.0)) / k_m) / k_m) * math.sqrt((1.0 / t_m))), 2.0) else: tmp = 2.0 * (math.pow((l / k_m), 2.0) * (-math.cos(k_m) / (math.pow(math.sin(k_m), 2.0) * -t_m))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 4.2e-31) tmp = Float64(Float64(Float64(Float64(l * sqrt(2.0)) / k_m) / k_m) * sqrt(Float64(1.0 / t_m))) ^ 2.0; else tmp = Float64(2.0 * Float64((Float64(l / k_m) ^ 2.0) * Float64(Float64(-cos(k_m)) / Float64((sin(k_m) ^ 2.0) * Float64(-t_m))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 4.2e-31) tmp = ((((l * sqrt(2.0)) / k_m) / k_m) * sqrt((1.0 / t_m))) ^ 2.0; else tmp = 2.0 * (((l / k_m) ^ 2.0) * (-cos(k_m) / ((sin(k_m) ^ 2.0) * -t_m))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 4.2e-31], N[Power[N[(N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision] * N[Sqrt[N[(1.0 / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(2.0 * N[(N[Power[N[(l / k$95$m), $MachinePrecision], 2.0], $MachinePrecision] * N[((-N[Cos[k$95$m], $MachinePrecision]) / N[(N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision] * (-t$95$m)), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 4.2 \cdot 10^{-31}:\\
\;\;\;\;{\left(\frac{\frac{\ell \cdot \sqrt{2}}{k\_m}}{k\_m} \cdot \sqrt{\frac{1}{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\ell}{k\_m}\right)}^{2} \cdot \frac{-\cos k\_m}{{\sin k\_m}^{2} \cdot \left(-t\_m\right)}\right)\\
\end{array}
\end{array}
if k < 4.19999999999999982e-31Initial program 30.5%
associate-*l*30.9%
associate-/r*30.5%
sub-neg30.5%
distribute-rgt-in23.2%
unpow223.2%
times-frac17.3%
sqr-neg17.3%
times-frac23.2%
unpow223.2%
distribute-rgt-in30.5%
+-commutative30.5%
associate-+l+36.7%
Simplified36.7%
+-rgt-identity36.7%
associate-/r*37.2%
associate-/r*37.2%
associate-/l/37.2%
*-commutative37.2%
associate-/r*37.2%
associate-/r/37.8%
add-sqr-sqrt22.1%
Applied egg-rr26.7%
unpow226.7%
associate-/r/26.9%
*-commutative26.9%
associate-/l*26.9%
Simplified26.9%
Taylor expanded in k around 0 37.3%
add-sqr-sqrt25.8%
sqrt-div21.6%
unpow221.6%
sqrt-prod7.8%
add-sqr-sqrt21.6%
sqrt-div21.6%
unpow221.6%
sqrt-prod7.8%
add-sqr-sqrt22.1%
Applied egg-rr22.1%
associate-*l/22.1%
associate-*r/22.1%
rem-square-sqrt38.2%
Simplified38.2%
if 4.19999999999999982e-31 < k Initial program 33.7%
associate-*l*33.7%
associate-/r*33.7%
sub-neg33.7%
distribute-rgt-in33.7%
unpow233.7%
times-frac32.2%
sqr-neg32.2%
times-frac33.7%
unpow233.7%
distribute-rgt-in33.7%
+-commutative33.7%
associate-+l+45.0%
Simplified45.0%
Taylor expanded in t around 0 79.7%
associate-*r*79.7%
times-frac79.6%
*-commutative79.6%
associate-/r*82.8%
Simplified82.8%
add-sqr-sqrt63.6%
pow263.6%
sqrt-div55.7%
sqrt-div41.7%
pow241.7%
sqrt-prod20.4%
add-sqr-sqrt44.8%
unpow244.8%
sqrt-prod46.7%
add-sqr-sqrt46.7%
Applied egg-rr46.7%
Taylor expanded in t around -inf 0.0%
mul-1-neg0.0%
times-frac0.0%
unpow20.0%
unpow20.0%
times-frac0.0%
unpow20.0%
distribute-lft-neg-in0.0%
associate-*r*0.0%
unpow20.0%
rem-square-sqrt93.2%
*-commutative93.2%
associate-*l*93.2%
Simplified93.2%
Final simplification52.0%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 4.2e-31)
(pow (* (/ (/ (* l (sqrt 2.0)) k_m) k_m) (sqrt (/ 1.0 t_m))) 2.0)
(*
2.0
(* (/ (cos k_m) (pow (sin k_m) 2.0)) (/ (pow (/ l k_m) 2.0) t_m))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 4.2e-31) {
tmp = pow(((((l * sqrt(2.0)) / k_m) / k_m) * sqrt((1.0 / t_m))), 2.0);
} else {
tmp = 2.0 * ((cos(k_m) / pow(sin(k_m), 2.0)) * (pow((l / k_m), 2.0) / t_m));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 4.2d-31) then
tmp = ((((l * sqrt(2.0d0)) / k_m) / k_m) * sqrt((1.0d0 / t_m))) ** 2.0d0
else
tmp = 2.0d0 * ((cos(k_m) / (sin(k_m) ** 2.0d0)) * (((l / k_m) ** 2.0d0) / t_m))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 4.2e-31) {
tmp = Math.pow(((((l * Math.sqrt(2.0)) / k_m) / k_m) * Math.sqrt((1.0 / t_m))), 2.0);
} else {
tmp = 2.0 * ((Math.cos(k_m) / Math.pow(Math.sin(k_m), 2.0)) * (Math.pow((l / k_m), 2.0) / t_m));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 4.2e-31: tmp = math.pow(((((l * math.sqrt(2.0)) / k_m) / k_m) * math.sqrt((1.0 / t_m))), 2.0) else: tmp = 2.0 * ((math.cos(k_m) / math.pow(math.sin(k_m), 2.0)) * (math.pow((l / k_m), 2.0) / t_m)) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 4.2e-31) tmp = Float64(Float64(Float64(Float64(l * sqrt(2.0)) / k_m) / k_m) * sqrt(Float64(1.0 / t_m))) ^ 2.0; else tmp = Float64(2.0 * Float64(Float64(cos(k_m) / (sin(k_m) ^ 2.0)) * Float64((Float64(l / k_m) ^ 2.0) / t_m))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 4.2e-31) tmp = ((((l * sqrt(2.0)) / k_m) / k_m) * sqrt((1.0 / t_m))) ^ 2.0; else tmp = 2.0 * ((cos(k_m) / (sin(k_m) ^ 2.0)) * (((l / k_m) ^ 2.0) / t_m)); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 4.2e-31], N[Power[N[(N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision] * N[Sqrt[N[(1.0 / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(2.0 * N[(N[(N[Cos[k$95$m], $MachinePrecision] / N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[(l / k$95$m), $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 4.2 \cdot 10^{-31}:\\
\;\;\;\;{\left(\frac{\frac{\ell \cdot \sqrt{2}}{k\_m}}{k\_m} \cdot \sqrt{\frac{1}{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k\_m}{{\sin k\_m}^{2}} \cdot \frac{{\left(\frac{\ell}{k\_m}\right)}^{2}}{t\_m}\right)\\
\end{array}
\end{array}
if k < 4.19999999999999982e-31Initial program 30.5%
associate-*l*30.9%
associate-/r*30.5%
sub-neg30.5%
distribute-rgt-in23.2%
unpow223.2%
times-frac17.3%
sqr-neg17.3%
times-frac23.2%
unpow223.2%
distribute-rgt-in30.5%
+-commutative30.5%
associate-+l+36.7%
Simplified36.7%
+-rgt-identity36.7%
associate-/r*37.2%
associate-/r*37.2%
associate-/l/37.2%
*-commutative37.2%
associate-/r*37.2%
associate-/r/37.8%
add-sqr-sqrt22.1%
Applied egg-rr26.7%
unpow226.7%
associate-/r/26.9%
*-commutative26.9%
associate-/l*26.9%
Simplified26.9%
Taylor expanded in k around 0 37.3%
add-sqr-sqrt25.8%
sqrt-div21.6%
unpow221.6%
sqrt-prod7.8%
add-sqr-sqrt21.6%
sqrt-div21.6%
unpow221.6%
sqrt-prod7.8%
add-sqr-sqrt22.1%
Applied egg-rr22.1%
associate-*l/22.1%
associate-*r/22.1%
rem-square-sqrt38.2%
Simplified38.2%
if 4.19999999999999982e-31 < k Initial program 33.7%
associate-*l*33.7%
associate-/r*33.7%
sub-neg33.7%
distribute-rgt-in33.7%
unpow233.7%
times-frac32.2%
sqr-neg32.2%
times-frac33.7%
unpow233.7%
distribute-rgt-in33.7%
+-commutative33.7%
associate-+l+45.0%
Simplified45.0%
+-commutative45.0%
distribute-lft-in45.0%
mul0-rgt45.0%
Applied egg-rr45.0%
+-lft-identity45.0%
Simplified45.0%
Taylor expanded in t around 0 79.7%
associate-*r*79.7%
times-frac79.6%
associate-/r*82.8%
unpow282.8%
unpow282.8%
times-frac93.1%
unpow293.1%
Simplified93.1%
Final simplification52.0%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 2.1e+27)
(pow (* (/ (/ (* l (sqrt 2.0)) k_m) k_m) (sqrt (/ 1.0 t_m))) 2.0)
(* 2.0 (* (/ -0.16666666666666666 t_m) (/ 1.0 (* (/ k_m l) (/ k_m l))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = pow(((((l * sqrt(2.0)) / k_m) / k_m) * sqrt((1.0 / t_m))), 2.0);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.1d+27) then
tmp = ((((l * sqrt(2.0d0)) / k_m) / k_m) * sqrt((1.0d0 / t_m))) ** 2.0d0
else
tmp = 2.0d0 * (((-0.16666666666666666d0) / t_m) * (1.0d0 / ((k_m / l) * (k_m / l))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = Math.pow(((((l * Math.sqrt(2.0)) / k_m) / k_m) * Math.sqrt((1.0 / t_m))), 2.0);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 2.1e+27: tmp = math.pow(((((l * math.sqrt(2.0)) / k_m) / k_m) * math.sqrt((1.0 / t_m))), 2.0) else: tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 2.1e+27) tmp = Float64(Float64(Float64(Float64(l * sqrt(2.0)) / k_m) / k_m) * sqrt(Float64(1.0 / t_m))) ^ 2.0; else tmp = Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(1.0 / Float64(Float64(k_m / l) * Float64(k_m / l))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 2.1e+27) tmp = ((((l * sqrt(2.0)) / k_m) / k_m) * sqrt((1.0 / t_m))) ^ 2.0; else tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 2.1e+27], N[Power[N[(N[(N[(N[(l * N[Sqrt[2.0], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] / k$95$m), $MachinePrecision] * N[Sqrt[N[(1.0 / t$95$m), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(1.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2.1 \cdot 10^{+27}:\\
\;\;\;\;{\left(\frac{\frac{\ell \cdot \sqrt{2}}{k\_m}}{k\_m} \cdot \sqrt{\frac{1}{t\_m}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \frac{1}{\frac{k\_m}{\ell} \cdot \frac{k\_m}{\ell}}\right)\\
\end{array}
\end{array}
if k < 2.09999999999999995e27Initial program 30.6%
associate-*l*31.0%
associate-/r*30.6%
sub-neg30.6%
distribute-rgt-in23.8%
unpow223.8%
times-frac18.3%
sqr-neg18.3%
times-frac23.8%
unpow223.8%
distribute-rgt-in30.6%
+-commutative30.6%
associate-+l+36.4%
Simplified36.4%
+-rgt-identity36.4%
associate-/r*36.9%
associate-/r*36.9%
associate-/l/36.9%
*-commutative36.9%
associate-/r*36.9%
associate-/r/37.4%
add-sqr-sqrt22.3%
Applied egg-rr26.8%
unpow226.8%
associate-/r/27.0%
*-commutative27.0%
associate-/l*27.0%
Simplified27.0%
Taylor expanded in k around 0 36.3%
add-sqr-sqrt24.1%
sqrt-div20.2%
unpow220.2%
sqrt-prod7.3%
add-sqr-sqrt20.2%
sqrt-div20.1%
unpow220.1%
sqrt-prod7.3%
add-sqr-sqrt20.6%
Applied egg-rr20.6%
associate-*l/20.6%
associate-*r/20.6%
rem-square-sqrt37.2%
Simplified37.2%
if 2.09999999999999995e27 < k Initial program 34.3%
associate-*l*34.3%
associate-/r*34.3%
sub-neg34.3%
distribute-rgt-in34.3%
unpow234.3%
times-frac32.3%
sqr-neg32.3%
times-frac34.3%
unpow234.3%
distribute-rgt-in34.3%
+-commutative34.3%
associate-+l+48.5%
Simplified48.5%
Taylor expanded in t around 0 79.8%
times-frac81.9%
Simplified81.9%
Taylor expanded in k around 0 68.8%
Taylor expanded in k around inf 68.9%
associate-*r/68.9%
*-commutative68.9%
times-frac68.8%
unpow268.8%
unpow268.8%
times-frac70.3%
unpow270.3%
Simplified70.3%
unpow270.3%
clear-num70.3%
clear-num70.3%
frac-times70.3%
metadata-eval70.3%
Applied egg-rr70.3%
Final simplification43.7%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 2.1e+27)
(* 2.0 (pow (/ (/ l (sqrt t_m)) (pow k_m 2.0)) 2.0))
(* 2.0 (* (/ -0.16666666666666666 t_m) (/ 1.0 (* (/ k_m l) (/ k_m l))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = 2.0 * pow(((l / sqrt(t_m)) / pow(k_m, 2.0)), 2.0);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.1d+27) then
tmp = 2.0d0 * (((l / sqrt(t_m)) / (k_m ** 2.0d0)) ** 2.0d0)
else
tmp = 2.0d0 * (((-0.16666666666666666d0) / t_m) * (1.0d0 / ((k_m / l) * (k_m / l))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = 2.0 * Math.pow(((l / Math.sqrt(t_m)) / Math.pow(k_m, 2.0)), 2.0);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 2.1e+27: tmp = 2.0 * math.pow(((l / math.sqrt(t_m)) / math.pow(k_m, 2.0)), 2.0) else: tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 2.1e+27) tmp = Float64(2.0 * (Float64(Float64(l / sqrt(t_m)) / (k_m ^ 2.0)) ^ 2.0)); else tmp = Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(1.0 / Float64(Float64(k_m / l) * Float64(k_m / l))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 2.1e+27) tmp = 2.0 * (((l / sqrt(t_m)) / (k_m ^ 2.0)) ^ 2.0); else tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 2.1e+27], N[(2.0 * N[Power[N[(N[(l / N[Sqrt[t$95$m], $MachinePrecision]), $MachinePrecision] / N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(1.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2.1 \cdot 10^{+27}:\\
\;\;\;\;2 \cdot {\left(\frac{\frac{\ell}{\sqrt{t\_m}}}{{k\_m}^{2}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \frac{1}{\frac{k\_m}{\ell} \cdot \frac{k\_m}{\ell}}\right)\\
\end{array}
\end{array}
if k < 2.09999999999999995e27Initial program 30.6%
associate-*l*31.0%
associate-/r*30.6%
sub-neg30.6%
distribute-rgt-in23.8%
unpow223.8%
times-frac18.3%
sqr-neg18.3%
times-frac23.8%
unpow223.8%
distribute-rgt-in30.6%
+-commutative30.6%
associate-+l+36.4%
Simplified36.4%
Taylor expanded in k around 0 62.5%
*-un-lft-identity62.5%
associate-/r*63.1%
Applied egg-rr63.1%
add-sqr-sqrt39.4%
sqrt-div29.9%
sqrt-div29.9%
pow229.9%
sqrt-prod15.2%
add-sqr-sqrt21.6%
metadata-eval21.6%
pow-prod-up21.6%
sqrt-prod21.6%
add-sqr-sqrt21.6%
sqrt-div21.6%
sqrt-div21.6%
pow221.6%
sqrt-prod17.9%
add-sqr-sqrt33.1%
metadata-eval33.1%
pow-prod-up33.1%
sqrt-prod36.3%
add-sqr-sqrt36.3%
Applied egg-rr36.3%
unpow236.3%
associate-/l/35.0%
associate-/r*36.3%
Simplified36.3%
if 2.09999999999999995e27 < k Initial program 34.3%
associate-*l*34.3%
associate-/r*34.3%
sub-neg34.3%
distribute-rgt-in34.3%
unpow234.3%
times-frac32.3%
sqr-neg32.3%
times-frac34.3%
unpow234.3%
distribute-rgt-in34.3%
+-commutative34.3%
associate-+l+48.5%
Simplified48.5%
Taylor expanded in t around 0 79.8%
times-frac81.9%
Simplified81.9%
Taylor expanded in k around 0 68.8%
Taylor expanded in k around inf 68.9%
associate-*r/68.9%
*-commutative68.9%
times-frac68.8%
unpow268.8%
unpow268.8%
times-frac70.3%
unpow270.3%
Simplified70.3%
unpow270.3%
clear-num70.3%
clear-num70.3%
frac-times70.3%
metadata-eval70.3%
Applied egg-rr70.3%
Final simplification42.9%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= l 5e-93)
(* 2.0 (/ (pow (/ l (pow k_m 2.0)) 2.0) t_m))
(*
2.0
(*
(pow (/ l k_m) 2.0)
(* (/ 1.0 t_m) (- (pow k_m -2.0) 0.16666666666666666)))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (l <= 5e-93) {
tmp = 2.0 * (pow((l / pow(k_m, 2.0)), 2.0) / t_m);
} else {
tmp = 2.0 * (pow((l / k_m), 2.0) * ((1.0 / t_m) * (pow(k_m, -2.0) - 0.16666666666666666)));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (l <= 5d-93) then
tmp = 2.0d0 * (((l / (k_m ** 2.0d0)) ** 2.0d0) / t_m)
else
tmp = 2.0d0 * (((l / k_m) ** 2.0d0) * ((1.0d0 / t_m) * ((k_m ** (-2.0d0)) - 0.16666666666666666d0)))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (l <= 5e-93) {
tmp = 2.0 * (Math.pow((l / Math.pow(k_m, 2.0)), 2.0) / t_m);
} else {
tmp = 2.0 * (Math.pow((l / k_m), 2.0) * ((1.0 / t_m) * (Math.pow(k_m, -2.0) - 0.16666666666666666)));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if l <= 5e-93: tmp = 2.0 * (math.pow((l / math.pow(k_m, 2.0)), 2.0) / t_m) else: tmp = 2.0 * (math.pow((l / k_m), 2.0) * ((1.0 / t_m) * (math.pow(k_m, -2.0) - 0.16666666666666666))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (l <= 5e-93) tmp = Float64(2.0 * Float64((Float64(l / (k_m ^ 2.0)) ^ 2.0) / t_m)); else tmp = Float64(2.0 * Float64((Float64(l / k_m) ^ 2.0) * Float64(Float64(1.0 / t_m) * Float64((k_m ^ -2.0) - 0.16666666666666666)))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (l <= 5e-93) tmp = 2.0 * (((l / (k_m ^ 2.0)) ^ 2.0) / t_m); else tmp = 2.0 * (((l / k_m) ^ 2.0) * ((1.0 / t_m) * ((k_m ^ -2.0) - 0.16666666666666666))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[l, 5e-93], N[(2.0 * N[(N[Power[N[(l / N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[Power[N[(l / k$95$m), $MachinePrecision], 2.0], $MachinePrecision] * N[(N[(1.0 / t$95$m), $MachinePrecision] * N[(N[Power[k$95$m, -2.0], $MachinePrecision] - 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;\ell \leq 5 \cdot 10^{-93}:\\
\;\;\;\;2 \cdot \frac{{\left(\frac{\ell}{{k\_m}^{2}}\right)}^{2}}{t\_m}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\ell}{k\_m}\right)}^{2} \cdot \left(\frac{1}{t\_m} \cdot \left({k\_m}^{-2} - 0.16666666666666666\right)\right)\right)\\
\end{array}
\end{array}
if l < 4.99999999999999994e-93Initial program 31.3%
associate-*l*31.3%
associate-/r*31.3%
sub-neg31.3%
distribute-rgt-in28.0%
unpow228.0%
times-frac23.5%
sqr-neg23.5%
times-frac28.0%
unpow228.0%
distribute-rgt-in31.3%
+-commutative31.3%
associate-+l+39.6%
Simplified39.6%
Taylor expanded in k around 0 63.3%
*-un-lft-identity63.3%
associate-/r*63.9%
Applied egg-rr63.9%
add-sqr-sqrt63.9%
sqrt-div63.9%
pow263.9%
sqrt-prod18.3%
add-sqr-sqrt41.4%
metadata-eval41.4%
pow-prod-up41.4%
sqrt-prod41.4%
add-sqr-sqrt41.4%
sqrt-div41.4%
pow241.4%
sqrt-prod23.9%
add-sqr-sqrt76.2%
metadata-eval76.2%
pow-prod-up76.1%
sqrt-prod79.9%
add-sqr-sqrt79.9%
Applied egg-rr79.9%
unpow279.9%
Simplified79.9%
if 4.99999999999999994e-93 < l Initial program 31.3%
associate-*l*32.5%
associate-/r*31.3%
sub-neg31.3%
distribute-rgt-in20.5%
unpow220.5%
times-frac15.0%
sqr-neg15.0%
times-frac20.5%
unpow220.5%
distribute-rgt-in31.3%
+-commutative31.3%
associate-+l+36.7%
Simplified36.7%
Taylor expanded in t around 0 73.5%
times-frac74.9%
Simplified74.9%
Taylor expanded in k around 0 64.9%
expm1-log1p-u37.8%
expm1-udef36.4%
Applied egg-rr39.0%
expm1-def41.6%
expm1-log1p69.1%
*-lft-identity69.1%
associate-*l/69.1%
metadata-eval69.1%
associate-*l/69.1%
distribute-lft-out--69.1%
Simplified69.1%
Final simplification76.7%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 1.1e+27)
(* 2.0 (/ (pow l 2.0) (* t_m (pow k_m 4.0))))
(* 2.0 (* (/ -0.16666666666666666 t_m) (/ 1.0 (* (/ k_m l) (/ k_m l))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 1.1e+27) {
tmp = 2.0 * (pow(l, 2.0) / (t_m * pow(k_m, 4.0)));
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 1.1d+27) then
tmp = 2.0d0 * ((l ** 2.0d0) / (t_m * (k_m ** 4.0d0)))
else
tmp = 2.0d0 * (((-0.16666666666666666d0) / t_m) * (1.0d0 / ((k_m / l) * (k_m / l))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 1.1e+27) {
tmp = 2.0 * (Math.pow(l, 2.0) / (t_m * Math.pow(k_m, 4.0)));
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 1.1e+27: tmp = 2.0 * (math.pow(l, 2.0) / (t_m * math.pow(k_m, 4.0))) else: tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 1.1e+27) tmp = Float64(2.0 * Float64((l ^ 2.0) / Float64(t_m * (k_m ^ 4.0)))); else tmp = Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(1.0 / Float64(Float64(k_m / l) * Float64(k_m / l))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 1.1e+27) tmp = 2.0 * ((l ^ 2.0) / (t_m * (k_m ^ 4.0))); else tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 1.1e+27], N[(2.0 * N[(N[Power[l, 2.0], $MachinePrecision] / N[(t$95$m * N[Power[k$95$m, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(1.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 1.1 \cdot 10^{+27}:\\
\;\;\;\;2 \cdot \frac{{\ell}^{2}}{t\_m \cdot {k\_m}^{4}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \frac{1}{\frac{k\_m}{\ell} \cdot \frac{k\_m}{\ell}}\right)\\
\end{array}
\end{array}
if k < 1.0999999999999999e27Initial program 30.6%
associate-*l*31.0%
associate-/r*30.6%
sub-neg30.6%
distribute-rgt-in23.8%
unpow223.8%
times-frac18.3%
sqr-neg18.3%
times-frac23.8%
unpow223.8%
distribute-rgt-in30.6%
+-commutative30.6%
associate-+l+36.4%
Simplified36.4%
Taylor expanded in k around 0 62.5%
if 1.0999999999999999e27 < k Initial program 34.3%
associate-*l*34.3%
associate-/r*34.3%
sub-neg34.3%
distribute-rgt-in34.3%
unpow234.3%
times-frac32.3%
sqr-neg32.3%
times-frac34.3%
unpow234.3%
distribute-rgt-in34.3%
+-commutative34.3%
associate-+l+48.5%
Simplified48.5%
Taylor expanded in t around 0 79.8%
times-frac81.9%
Simplified81.9%
Taylor expanded in k around 0 68.8%
Taylor expanded in k around inf 68.9%
associate-*r/68.9%
*-commutative68.9%
times-frac68.8%
unpow268.8%
unpow268.8%
times-frac70.3%
unpow270.3%
Simplified70.3%
unpow270.3%
clear-num70.3%
clear-num70.3%
frac-times70.3%
metadata-eval70.3%
Applied egg-rr70.3%
Final simplification64.0%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 2.1e+27)
(* (/ (pow l 2.0) (pow k_m 4.0)) (/ 2.0 t_m))
(* 2.0 (* (/ -0.16666666666666666 t_m) (/ 1.0 (* (/ k_m l) (/ k_m l))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = (pow(l, 2.0) / pow(k_m, 4.0)) * (2.0 / t_m);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.1d+27) then
tmp = ((l ** 2.0d0) / (k_m ** 4.0d0)) * (2.0d0 / t_m)
else
tmp = 2.0d0 * (((-0.16666666666666666d0) / t_m) * (1.0d0 / ((k_m / l) * (k_m / l))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = (Math.pow(l, 2.0) / Math.pow(k_m, 4.0)) * (2.0 / t_m);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 2.1e+27: tmp = (math.pow(l, 2.0) / math.pow(k_m, 4.0)) * (2.0 / t_m) else: tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 2.1e+27) tmp = Float64(Float64((l ^ 2.0) / (k_m ^ 4.0)) * Float64(2.0 / t_m)); else tmp = Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(1.0 / Float64(Float64(k_m / l) * Float64(k_m / l))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 2.1e+27) tmp = ((l ^ 2.0) / (k_m ^ 4.0)) * (2.0 / t_m); else tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 2.1e+27], N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k$95$m, 4.0], $MachinePrecision]), $MachinePrecision] * N[(2.0 / t$95$m), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(1.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2.1 \cdot 10^{+27}:\\
\;\;\;\;\frac{{\ell}^{2}}{{k\_m}^{4}} \cdot \frac{2}{t\_m}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \frac{1}{\frac{k\_m}{\ell} \cdot \frac{k\_m}{\ell}}\right)\\
\end{array}
\end{array}
if k < 2.09999999999999995e27Initial program 30.6%
associate-*l*31.0%
associate-/r*30.6%
sub-neg30.6%
distribute-rgt-in23.8%
unpow223.8%
times-frac18.3%
sqr-neg18.3%
times-frac23.8%
unpow223.8%
distribute-rgt-in30.6%
+-commutative30.6%
associate-+l+36.4%
Simplified36.4%
+-commutative36.4%
distribute-lft-in36.4%
mul0-rgt31.1%
Applied egg-rr31.1%
+-lft-identity36.4%
Simplified36.4%
Taylor expanded in k around 0 62.5%
associate-*r/62.5%
*-commutative62.5%
times-frac63.0%
Simplified63.0%
if 2.09999999999999995e27 < k Initial program 34.3%
associate-*l*34.3%
associate-/r*34.3%
sub-neg34.3%
distribute-rgt-in34.3%
unpow234.3%
times-frac32.3%
sqr-neg32.3%
times-frac34.3%
unpow234.3%
distribute-rgt-in34.3%
+-commutative34.3%
associate-+l+48.5%
Simplified48.5%
Taylor expanded in t around 0 79.8%
times-frac81.9%
Simplified81.9%
Taylor expanded in k around 0 68.8%
Taylor expanded in k around inf 68.9%
associate-*r/68.9%
*-commutative68.9%
times-frac68.8%
unpow268.8%
unpow268.8%
times-frac70.3%
unpow270.3%
Simplified70.3%
unpow270.3%
clear-num70.3%
clear-num70.3%
frac-times70.3%
metadata-eval70.3%
Applied egg-rr70.3%
Final simplification64.4%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 2.1e+27)
(* 2.0 (/ (/ (pow l 2.0) (pow k_m 4.0)) t_m))
(* 2.0 (* (/ -0.16666666666666666 t_m) (/ 1.0 (* (/ k_m l) (/ k_m l))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = 2.0 * ((pow(l, 2.0) / pow(k_m, 4.0)) / t_m);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.1d+27) then
tmp = 2.0d0 * (((l ** 2.0d0) / (k_m ** 4.0d0)) / t_m)
else
tmp = 2.0d0 * (((-0.16666666666666666d0) / t_m) * (1.0d0 / ((k_m / l) * (k_m / l))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = 2.0 * ((Math.pow(l, 2.0) / Math.pow(k_m, 4.0)) / t_m);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 2.1e+27: tmp = 2.0 * ((math.pow(l, 2.0) / math.pow(k_m, 4.0)) / t_m) else: tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 2.1e+27) tmp = Float64(2.0 * Float64(Float64((l ^ 2.0) / (k_m ^ 4.0)) / t_m)); else tmp = Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(1.0 / Float64(Float64(k_m / l) * Float64(k_m / l))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 2.1e+27) tmp = 2.0 * (((l ^ 2.0) / (k_m ^ 4.0)) / t_m); else tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 2.1e+27], N[(2.0 * N[(N[(N[Power[l, 2.0], $MachinePrecision] / N[Power[k$95$m, 4.0], $MachinePrecision]), $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(1.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2.1 \cdot 10^{+27}:\\
\;\;\;\;2 \cdot \frac{\frac{{\ell}^{2}}{{k\_m}^{4}}}{t\_m}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \frac{1}{\frac{k\_m}{\ell} \cdot \frac{k\_m}{\ell}}\right)\\
\end{array}
\end{array}
if k < 2.09999999999999995e27Initial program 30.6%
associate-*l*31.0%
associate-/r*30.6%
sub-neg30.6%
distribute-rgt-in23.8%
unpow223.8%
times-frac18.3%
sqr-neg18.3%
times-frac23.8%
unpow223.8%
distribute-rgt-in30.6%
+-commutative30.6%
associate-+l+36.4%
Simplified36.4%
Taylor expanded in k around 0 62.5%
*-un-lft-identity62.5%
associate-/r*63.1%
Applied egg-rr63.1%
if 2.09999999999999995e27 < k Initial program 34.3%
associate-*l*34.3%
associate-/r*34.3%
sub-neg34.3%
distribute-rgt-in34.3%
unpow234.3%
times-frac32.3%
sqr-neg32.3%
times-frac34.3%
unpow234.3%
distribute-rgt-in34.3%
+-commutative34.3%
associate-+l+48.5%
Simplified48.5%
Taylor expanded in t around 0 79.8%
times-frac81.9%
Simplified81.9%
Taylor expanded in k around 0 68.8%
Taylor expanded in k around inf 68.9%
associate-*r/68.9%
*-commutative68.9%
times-frac68.8%
unpow268.8%
unpow268.8%
times-frac70.3%
unpow270.3%
Simplified70.3%
unpow270.3%
clear-num70.3%
clear-num70.3%
frac-times70.3%
metadata-eval70.3%
Applied egg-rr70.3%
Final simplification64.5%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 2.1e+27)
(* 2.0 (/ (pow (/ l (pow k_m 2.0)) 2.0) t_m))
(* 2.0 (* (/ -0.16666666666666666 t_m) (/ 1.0 (* (/ k_m l) (/ k_m l))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = 2.0 * (pow((l / pow(k_m, 2.0)), 2.0) / t_m);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.1d+27) then
tmp = 2.0d0 * (((l / (k_m ** 2.0d0)) ** 2.0d0) / t_m)
else
tmp = 2.0d0 * (((-0.16666666666666666d0) / t_m) * (1.0d0 / ((k_m / l) * (k_m / l))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = 2.0 * (Math.pow((l / Math.pow(k_m, 2.0)), 2.0) / t_m);
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 2.1e+27: tmp = 2.0 * (math.pow((l / math.pow(k_m, 2.0)), 2.0) / t_m) else: tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 2.1e+27) tmp = Float64(2.0 * Float64((Float64(l / (k_m ^ 2.0)) ^ 2.0) / t_m)); else tmp = Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(1.0 / Float64(Float64(k_m / l) * Float64(k_m / l))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 2.1e+27) tmp = 2.0 * (((l / (k_m ^ 2.0)) ^ 2.0) / t_m); else tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 2.1e+27], N[(2.0 * N[(N[Power[N[(l / N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] / t$95$m), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(1.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2.1 \cdot 10^{+27}:\\
\;\;\;\;2 \cdot \frac{{\left(\frac{\ell}{{k\_m}^{2}}\right)}^{2}}{t\_m}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \frac{1}{\frac{k\_m}{\ell} \cdot \frac{k\_m}{\ell}}\right)\\
\end{array}
\end{array}
if k < 2.09999999999999995e27Initial program 30.6%
associate-*l*31.0%
associate-/r*30.6%
sub-neg30.6%
distribute-rgt-in23.8%
unpow223.8%
times-frac18.3%
sqr-neg18.3%
times-frac23.8%
unpow223.8%
distribute-rgt-in30.6%
+-commutative30.6%
associate-+l+36.4%
Simplified36.4%
Taylor expanded in k around 0 62.5%
*-un-lft-identity62.5%
associate-/r*63.1%
Applied egg-rr63.1%
add-sqr-sqrt63.0%
sqrt-div63.0%
pow263.0%
sqrt-prod30.0%
add-sqr-sqrt42.7%
metadata-eval42.7%
pow-prod-up42.7%
sqrt-prod42.7%
add-sqr-sqrt42.7%
sqrt-div42.7%
pow242.7%
sqrt-prod35.7%
add-sqr-sqrt74.7%
metadata-eval74.7%
pow-prod-up74.7%
sqrt-prod77.9%
add-sqr-sqrt77.9%
Applied egg-rr77.9%
unpow277.9%
Simplified77.9%
if 2.09999999999999995e27 < k Initial program 34.3%
associate-*l*34.3%
associate-/r*34.3%
sub-neg34.3%
distribute-rgt-in34.3%
unpow234.3%
times-frac32.3%
sqr-neg32.3%
times-frac34.3%
unpow234.3%
distribute-rgt-in34.3%
+-commutative34.3%
associate-+l+48.5%
Simplified48.5%
Taylor expanded in t around 0 79.8%
times-frac81.9%
Simplified81.9%
Taylor expanded in k around 0 68.8%
Taylor expanded in k around inf 68.9%
associate-*r/68.9%
*-commutative68.9%
times-frac68.8%
unpow268.8%
unpow268.8%
times-frac70.3%
unpow270.3%
Simplified70.3%
unpow270.3%
clear-num70.3%
clear-num70.3%
frac-times70.3%
metadata-eval70.3%
Applied egg-rr70.3%
Final simplification76.4%
k_m = (fabs.f64 k)
t_m = (fabs.f64 t)
t_s = (copysign.f64 1 t)
(FPCore (t_s t_m l k_m)
:precision binary64
(*
t_s
(if (<= k_m 2.1e+27)
(fabs (* (pow (/ l k_m) 2.0) (/ -0.3333333333333333 t_m)))
(* 2.0 (* (/ -0.16666666666666666 t_m) (/ 1.0 (* (/ k_m l) (/ k_m l))))))))k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = fabs((pow((l / k_m), 2.0) * (-0.3333333333333333 / t_m)));
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.1d+27) then
tmp = abs((((l / k_m) ** 2.0d0) * ((-0.3333333333333333d0) / t_m)))
else
tmp = 2.0d0 * (((-0.16666666666666666d0) / t_m) * (1.0d0 / ((k_m / l) * (k_m / l))))
end if
code = t_s * tmp
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
double tmp;
if (k_m <= 2.1e+27) {
tmp = Math.abs((Math.pow((l / k_m), 2.0) * (-0.3333333333333333 / t_m)));
} else {
tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))));
}
return t_s * tmp;
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): tmp = 0 if k_m <= 2.1e+27: tmp = math.fabs((math.pow((l / k_m), 2.0) * (-0.3333333333333333 / t_m))) else: tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))) return t_s * tmp
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) tmp = 0.0 if (k_m <= 2.1e+27) tmp = abs(Float64((Float64(l / k_m) ^ 2.0) * Float64(-0.3333333333333333 / t_m))); else tmp = Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(1.0 / Float64(Float64(k_m / l) * Float64(k_m / l))))); end return Float64(t_s * tmp) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k_m) tmp = 0.0; if (k_m <= 2.1e+27) tmp = abs((((l / k_m) ^ 2.0) * (-0.3333333333333333 / t_m))); else tmp = 2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))); end tmp_2 = t_s * tmp; end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * If[LessEqual[k$95$m, 2.1e+27], N[Abs[N[(N[Power[N[(l / k$95$m), $MachinePrecision], 2.0], $MachinePrecision] * N[(-0.3333333333333333 / t$95$m), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(1.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k\_m \leq 2.1 \cdot 10^{+27}:\\
\;\;\;\;\left|{\left(\frac{\ell}{k\_m}\right)}^{2} \cdot \frac{-0.3333333333333333}{t\_m}\right|\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \frac{1}{\frac{k\_m}{\ell} \cdot \frac{k\_m}{\ell}}\right)\\
\end{array}
\end{array}
if k < 2.09999999999999995e27Initial program 30.6%
associate-*l*31.0%
associate-/r*30.6%
sub-neg30.6%
distribute-rgt-in23.8%
unpow223.8%
times-frac18.3%
sqr-neg18.3%
times-frac23.8%
unpow223.8%
distribute-rgt-in30.6%
+-commutative30.6%
associate-+l+36.4%
Simplified36.4%
Taylor expanded in t around 0 73.2%
times-frac74.4%
Simplified74.4%
Taylor expanded in k around 0 67.2%
Taylor expanded in k around inf 22.3%
associate-*r/22.3%
*-commutative22.3%
times-frac22.4%
unpow222.4%
unpow222.4%
times-frac24.2%
unpow224.2%
Simplified24.2%
add-sqr-sqrt22.8%
sqrt-unprod41.5%
pow241.5%
associate-*r*41.5%
Applied egg-rr41.5%
unpow241.5%
rem-sqrt-square37.1%
*-commutative37.1%
associate-*r/37.1%
metadata-eval37.1%
Simplified37.1%
if 2.09999999999999995e27 < k Initial program 34.3%
associate-*l*34.3%
associate-/r*34.3%
sub-neg34.3%
distribute-rgt-in34.3%
unpow234.3%
times-frac32.3%
sqr-neg32.3%
times-frac34.3%
unpow234.3%
distribute-rgt-in34.3%
+-commutative34.3%
associate-+l+48.5%
Simplified48.5%
Taylor expanded in t around 0 79.8%
times-frac81.9%
Simplified81.9%
Taylor expanded in k around 0 68.8%
Taylor expanded in k around inf 68.9%
associate-*r/68.9%
*-commutative68.9%
times-frac68.8%
unpow268.8%
unpow268.8%
times-frac70.3%
unpow270.3%
Simplified70.3%
unpow270.3%
clear-num70.3%
clear-num70.3%
frac-times70.3%
metadata-eval70.3%
Applied egg-rr70.3%
Final simplification43.6%
k_m = (fabs.f64 k) t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l k_m) :precision binary64 (* t_s (* 2.0 (* (/ -0.16666666666666666 t_m) (/ 1.0 (* (/ k_m l) (/ k_m l)))))))
k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
return t_s * (2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))));
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = t_s * (2.0d0 * (((-0.16666666666666666d0) / t_m) * (1.0d0 / ((k_m / l) * (k_m / l)))))
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
return t_s * (2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))));
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): return t_s * (2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l)))))
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) return Float64(t_s * Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(1.0 / Float64(Float64(k_m / l) * Float64(k_m / l)))))) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k_m) tmp = t_s * (2.0 * ((-0.16666666666666666 / t_m) * (1.0 / ((k_m / l) * (k_m / l))))); end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(1.0 / N[(N[(k$95$m / l), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \left(2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \frac{1}{\frac{k\_m}{\ell} \cdot \frac{k\_m}{\ell}}\right)\right)
\end{array}
Initial program 31.3%
associate-*l*31.6%
associate-/r*31.3%
sub-neg31.3%
distribute-rgt-in25.8%
unpow225.8%
times-frac21.0%
sqr-neg21.0%
times-frac25.8%
unpow225.8%
distribute-rgt-in31.3%
+-commutative31.3%
associate-+l+38.8%
Simplified38.8%
Taylor expanded in t around 0 74.5%
times-frac75.9%
Simplified75.9%
Taylor expanded in k around 0 67.5%
Taylor expanded in k around inf 31.4%
associate-*r/31.4%
*-commutative31.4%
times-frac31.5%
unpow231.5%
unpow231.5%
times-frac33.2%
unpow233.2%
Simplified33.2%
unpow233.2%
clear-num33.2%
clear-num33.2%
frac-times33.2%
metadata-eval33.2%
Applied egg-rr33.2%
Final simplification33.2%
k_m = (fabs.f64 k) t_m = (fabs.f64 t) t_s = (copysign.f64 1 t) (FPCore (t_s t_m l k_m) :precision binary64 (* t_s (* 2.0 (* (/ -0.16666666666666666 t_m) (* (/ l k_m) (/ l k_m))))))
k_m = fabs(k);
t_m = fabs(t);
t_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k_m) {
return t_s * (2.0 * ((-0.16666666666666666 / t_m) * ((l / k_m) * (l / k_m))));
}
k_m = abs(k)
t_m = abs(t)
t_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k_m)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = t_s * (2.0d0 * (((-0.16666666666666666d0) / t_m) * ((l / k_m) * (l / k_m))))
end function
k_m = Math.abs(k);
t_m = Math.abs(t);
t_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k_m) {
return t_s * (2.0 * ((-0.16666666666666666 / t_m) * ((l / k_m) * (l / k_m))));
}
k_m = math.fabs(k) t_m = math.fabs(t) t_s = math.copysign(1.0, t) def code(t_s, t_m, l, k_m): return t_s * (2.0 * ((-0.16666666666666666 / t_m) * ((l / k_m) * (l / k_m))))
k_m = abs(k) t_m = abs(t) t_s = copysign(1.0, t) function code(t_s, t_m, l, k_m) return Float64(t_s * Float64(2.0 * Float64(Float64(-0.16666666666666666 / t_m) * Float64(Float64(l / k_m) * Float64(l / k_m))))) end
k_m = abs(k); t_m = abs(t); t_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k_m) tmp = t_s * (2.0 * ((-0.16666666666666666 / t_m) * ((l / k_m) * (l / k_m)))); end
k_m = N[Abs[k], $MachinePrecision]
t_m = N[Abs[t], $MachinePrecision]
t_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k$95$m_] := N[(t$95$s * N[(2.0 * N[(N[(-0.16666666666666666 / t$95$m), $MachinePrecision] * N[(N[(l / k$95$m), $MachinePrecision] * N[(l / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
t_m = \left|t\right|
\\
t_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \left(2 \cdot \left(\frac{-0.16666666666666666}{t\_m} \cdot \left(\frac{\ell}{k\_m} \cdot \frac{\ell}{k\_m}\right)\right)\right)
\end{array}
Initial program 31.3%
associate-*l*31.6%
associate-/r*31.3%
sub-neg31.3%
distribute-rgt-in25.8%
unpow225.8%
times-frac21.0%
sqr-neg21.0%
times-frac25.8%
unpow225.8%
distribute-rgt-in31.3%
+-commutative31.3%
associate-+l+38.8%
Simplified38.8%
Taylor expanded in t around 0 74.5%
times-frac75.9%
Simplified75.9%
Taylor expanded in k around 0 67.5%
Taylor expanded in k around inf 31.4%
associate-*r/31.4%
*-commutative31.4%
times-frac31.5%
unpow231.5%
unpow231.5%
times-frac33.2%
unpow233.2%
Simplified33.2%
unpow233.2%
Applied egg-rr33.2%
Final simplification33.2%
herbie shell --seed 2024041
(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))))