
(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 14 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (+ 2.0 (pow (/ k_m t) 2.0)))
(t_2 (cbrt (* l (sqrt (/ 2.0 (tan k_m)))))))
(if (<= k_m 1.05e-20)
(/ (pow (/ (* t_2 t_2) (* t (cbrt (sin k_m)))) 3.0) t_1)
(if (<= k_m 3.4e+154)
(/
2.0
(/
(* (pow k_m 2.0) (* t (pow (sin k_m) 2.0)))
(* (pow l 2.0) (cos k_m))))
(/
2.0
(*
(* (pow (/ t (cbrt l)) 2.0) (/ (/ t l) (cbrt l)))
(* t_1 (* (tan k_m) (sin k_m)))))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = 2.0 + pow((k_m / t), 2.0);
double t_2 = cbrt((l * sqrt((2.0 / tan(k_m)))));
double tmp;
if (k_m <= 1.05e-20) {
tmp = pow(((t_2 * t_2) / (t * cbrt(sin(k_m)))), 3.0) / t_1;
} else if (k_m <= 3.4e+154) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else {
tmp = 2.0 / ((pow((t / cbrt(l)), 2.0) * ((t / l) / cbrt(l))) * (t_1 * (tan(k_m) * sin(k_m))));
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double t_1 = 2.0 + Math.pow((k_m / t), 2.0);
double t_2 = Math.cbrt((l * Math.sqrt((2.0 / Math.tan(k_m)))));
double tmp;
if (k_m <= 1.05e-20) {
tmp = Math.pow(((t_2 * t_2) / (t * Math.cbrt(Math.sin(k_m)))), 3.0) / t_1;
} else if (k_m <= 3.4e+154) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else {
tmp = 2.0 / ((Math.pow((t / Math.cbrt(l)), 2.0) * ((t / l) / Math.cbrt(l))) * (t_1 * (Math.tan(k_m) * Math.sin(k_m))));
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(2.0 + (Float64(k_m / t) ^ 2.0)) t_2 = cbrt(Float64(l * sqrt(Float64(2.0 / tan(k_m))))) tmp = 0.0 if (k_m <= 1.05e-20) tmp = Float64((Float64(Float64(t_2 * t_2) / Float64(t * cbrt(sin(k_m)))) ^ 3.0) / t_1); elseif (k_m <= 3.4e+154) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); else tmp = Float64(2.0 / Float64(Float64((Float64(t / cbrt(l)) ^ 2.0) * Float64(Float64(t / l) / cbrt(l))) * Float64(t_1 * Float64(tan(k_m) * sin(k_m))))); end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[Power[N[(l * N[Sqrt[N[(2.0 / N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]}, If[LessEqual[k$95$m, 1.05e-20], N[(N[Power[N[(N[(t$95$2 * t$95$2), $MachinePrecision] / N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / t$95$1), $MachinePrecision], If[LessEqual[k$95$m, 3.4e+154], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(t$95$1 * N[(N[Tan[k$95$m], $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := 2 + {\left(\frac{k\_m}{t}\right)}^{2}\\
t_2 := \sqrt[3]{\ell \cdot \sqrt{\frac{2}{\tan k\_m}}}\\
\mathbf{if}\;k\_m \leq 1.05 \cdot 10^{-20}:\\
\;\;\;\;\frac{{\left(\frac{t\_2 \cdot t\_2}{t \cdot \sqrt[3]{\sin k\_m}}\right)}^{3}}{t\_1}\\
\mathbf{elif}\;k\_m \leq 3.4 \cdot 10^{+154}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left({\left(\frac{t}{\sqrt[3]{\ell}}\right)}^{2} \cdot \frac{\frac{t}{\ell}}{\sqrt[3]{\ell}}\right) \cdot \left(t\_1 \cdot \left(\tan k\_m \cdot \sin k\_m\right)\right)}\\
\end{array}
\end{array}
if k < 1.0499999999999999e-20Initial program 62.1%
Simplified61.6%
add-cube-cbrt61.5%
pow361.5%
associate-*l/62.3%
cbrt-div62.3%
pow262.3%
cbrt-prod62.3%
rem-cbrt-cube72.9%
Applied egg-rr72.9%
pow1/343.5%
add-sqr-sqrt43.5%
unpow-prod-down43.5%
*-commutative43.5%
sqrt-prod30.8%
sqrt-pow115.0%
metadata-eval15.0%
pow115.0%
*-commutative15.0%
sqrt-prod15.9%
sqrt-pow118.5%
metadata-eval18.5%
pow118.5%
Applied egg-rr18.5%
unpow1/316.9%
unpow1/338.0%
Simplified38.0%
if 1.0499999999999999e-20 < k < 3.39999999999999974e154Initial program 52.0%
Taylor expanded in t around 0 75.4%
if 3.39999999999999974e154 < k Initial program 29.3%
Simplified34.9%
unpow334.9%
*-un-lft-identity34.9%
times-frac39.6%
pow239.6%
Applied egg-rr39.6%
/-rgt-identity39.6%
add-cube-cbrt39.5%
times-frac41.9%
unpow241.9%
frac-times58.2%
unpow258.2%
Applied egg-rr58.2%
Final simplification46.4%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 1.15e-9)
(pow (* (/ l (pow t 0.75)) (/ (pow t -0.75) k_m)) 2.0)
(if (<= k_m 1.6e+154)
(/
2.0
(/
(* (pow k_m 2.0) (* t (pow (sin k_m) 2.0)))
(* (pow l 2.0) (cos k_m))))
(/
2.0
(*
(* (pow (/ t (cbrt l)) 2.0) (/ (/ t l) (cbrt l)))
(* (+ 2.0 (pow (/ k_m t) 2.0)) (* (tan k_m) (sin k_m))))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.15e-9) {
tmp = pow(((l / pow(t, 0.75)) * (pow(t, -0.75) / k_m)), 2.0);
} else if (k_m <= 1.6e+154) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else {
tmp = 2.0 / ((pow((t / cbrt(l)), 2.0) * ((t / l) / cbrt(l))) * ((2.0 + pow((k_m / t), 2.0)) * (tan(k_m) * sin(k_m))));
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.15e-9) {
tmp = Math.pow(((l / Math.pow(t, 0.75)) * (Math.pow(t, -0.75) / k_m)), 2.0);
} else if (k_m <= 1.6e+154) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else {
tmp = 2.0 / ((Math.pow((t / Math.cbrt(l)), 2.0) * ((t / l) / Math.cbrt(l))) * ((2.0 + Math.pow((k_m / t), 2.0)) * (Math.tan(k_m) * Math.sin(k_m))));
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.15e-9) tmp = Float64(Float64(l / (t ^ 0.75)) * Float64((t ^ -0.75) / k_m)) ^ 2.0; elseif (k_m <= 1.6e+154) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); else tmp = Float64(2.0 / Float64(Float64((Float64(t / cbrt(l)) ^ 2.0) * Float64(Float64(t / l) / cbrt(l))) * Float64(Float64(2.0 + (Float64(k_m / t) ^ 2.0)) * Float64(tan(k_m) * sin(k_m))))); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.15e-9], N[Power[N[(N[(l / N[Power[t, 0.75], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t, -0.75], $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 1.6e+154], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.15 \cdot 10^{-9}:\\
\;\;\;\;{\left(\frac{\ell}{{t}^{0.75}} \cdot \frac{{t}^{-0.75}}{k\_m}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 1.6 \cdot 10^{+154}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left({\left(\frac{t}{\sqrt[3]{\ell}}\right)}^{2} \cdot \frac{\frac{t}{\ell}}{\sqrt[3]{\ell}}\right) \cdot \left(\left(2 + {\left(\frac{k\_m}{t}\right)}^{2}\right) \cdot \left(\tan k\_m \cdot \sin k\_m\right)\right)}\\
\end{array}
\end{array}
if k < 1.15e-9Initial program 62.5%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.6%
pow239.6%
sqrt-div27.8%
sqrt-pow129.6%
metadata-eval29.6%
pow129.6%
sqrt-prod29.6%
sqrt-pow134.7%
metadata-eval34.7%
pow134.7%
sqrt-pow138.4%
metadata-eval38.4%
Applied egg-rr38.4%
*-lft-identity38.4%
associate-/r*38.3%
Simplified38.3%
div-inv38.3%
sqr-pow38.3%
times-frac41.3%
metadata-eval41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-un-lft-identity41.3%
div-inv41.3%
pow-flip41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-lft-identity41.3%
associate-*l/41.3%
*-lft-identity41.3%
Simplified41.3%
if 1.15e-9 < k < 1.6e154Initial program 49.1%
Taylor expanded in t around 0 76.7%
if 1.6e154 < k Initial program 29.3%
Simplified34.9%
unpow334.9%
*-un-lft-identity34.9%
times-frac39.6%
pow239.6%
Applied egg-rr39.6%
/-rgt-identity39.6%
add-cube-cbrt39.5%
times-frac41.9%
unpow241.9%
frac-times58.2%
unpow258.2%
Applied egg-rr58.2%
Final simplification48.6%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 1.6e-9)
(pow (* (/ l (pow t 0.75)) (/ (pow t -0.75) k_m)) 2.0)
(if (<= k_m 7.1e+155)
(/
2.0
(/
(* (pow k_m 2.0) (* t (pow (sin k_m) 2.0)))
(* (pow l 2.0) (cos k_m))))
(/
2.0
(*
(* (+ 2.0 (pow (/ k_m t) 2.0)) (* (tan k_m) (sin k_m)))
(pow (/ (/ t (cbrt l)) (cbrt l)) 3.0))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.6e-9) {
tmp = pow(((l / pow(t, 0.75)) * (pow(t, -0.75) / k_m)), 2.0);
} else if (k_m <= 7.1e+155) {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
} else {
tmp = 2.0 / (((2.0 + pow((k_m / t), 2.0)) * (tan(k_m) * sin(k_m))) * pow(((t / cbrt(l)) / cbrt(l)), 3.0));
}
return tmp;
}
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.6e-9) {
tmp = Math.pow(((l / Math.pow(t, 0.75)) * (Math.pow(t, -0.75) / k_m)), 2.0);
} else if (k_m <= 7.1e+155) {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
} else {
tmp = 2.0 / (((2.0 + Math.pow((k_m / t), 2.0)) * (Math.tan(k_m) * Math.sin(k_m))) * Math.pow(((t / Math.cbrt(l)) / Math.cbrt(l)), 3.0));
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.6e-9) tmp = Float64(Float64(l / (t ^ 0.75)) * Float64((t ^ -0.75) / k_m)) ^ 2.0; elseif (k_m <= 7.1e+155) tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); else tmp = Float64(2.0 / Float64(Float64(Float64(2.0 + (Float64(k_m / t) ^ 2.0)) * Float64(tan(k_m) * sin(k_m))) * (Float64(Float64(t / cbrt(l)) / cbrt(l)) ^ 3.0))); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.6e-9], N[Power[N[(N[(l / N[Power[t, 0.75], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t, -0.75], $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 7.1e+155], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k$95$m], $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[N[(N[(t / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision] / N[Power[l, 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.6 \cdot 10^{-9}:\\
\;\;\;\;{\left(\frac{\ell}{{t}^{0.75}} \cdot \frac{{t}^{-0.75}}{k\_m}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 7.1 \cdot 10^{+155}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(2 + {\left(\frac{k\_m}{t}\right)}^{2}\right) \cdot \left(\tan k\_m \cdot \sin k\_m\right)\right) \cdot {\left(\frac{\frac{t}{\sqrt[3]{\ell}}}{\sqrt[3]{\ell}}\right)}^{3}}\\
\end{array}
\end{array}
if k < 1.60000000000000006e-9Initial program 62.5%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.6%
pow239.6%
sqrt-div27.8%
sqrt-pow129.6%
metadata-eval29.6%
pow129.6%
sqrt-prod29.6%
sqrt-pow134.7%
metadata-eval34.7%
pow134.7%
sqrt-pow138.4%
metadata-eval38.4%
Applied egg-rr38.4%
*-lft-identity38.4%
associate-/r*38.3%
Simplified38.3%
div-inv38.3%
sqr-pow38.3%
times-frac41.3%
metadata-eval41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-un-lft-identity41.3%
div-inv41.3%
pow-flip41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-lft-identity41.3%
associate-*l/41.3%
*-lft-identity41.3%
Simplified41.3%
if 1.60000000000000006e-9 < k < 7.09999999999999992e155Initial program 49.1%
Taylor expanded in t around 0 76.7%
if 7.09999999999999992e155 < k Initial program 29.3%
Simplified34.9%
unpow334.9%
*-un-lft-identity34.9%
times-frac39.6%
pow239.6%
Applied egg-rr39.6%
add-cube-cbrt39.4%
pow339.4%
cbrt-div39.5%
frac-times34.9%
unpow234.9%
*-un-lft-identity34.9%
cbrt-div34.9%
add-cbrt-cube58.0%
Applied egg-rr58.0%
Final simplification48.6%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 2.4e-9)
(pow (* (/ l (pow t 0.75)) (/ (pow t -0.75) k_m)) 2.0)
(/
2.0
(/
(* (pow k_m 2.0) (* t (pow (sin k_m) 2.0)))
(* (pow l 2.0) (cos k_m))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 2.4e-9) {
tmp = pow(((l / pow(t, 0.75)) * (pow(t, -0.75) / k_m)), 2.0);
} else {
tmp = 2.0 / ((pow(k_m, 2.0) * (t * pow(sin(k_m), 2.0))) / (pow(l, 2.0) * cos(k_m)));
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 2.4d-9) then
tmp = ((l / (t ** 0.75d0)) * ((t ** (-0.75d0)) / k_m)) ** 2.0d0
else
tmp = 2.0d0 / (((k_m ** 2.0d0) * (t * (sin(k_m) ** 2.0d0))) / ((l ** 2.0d0) * cos(k_m)))
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 2.4e-9) {
tmp = Math.pow(((l / Math.pow(t, 0.75)) * (Math.pow(t, -0.75) / k_m)), 2.0);
} else {
tmp = 2.0 / ((Math.pow(k_m, 2.0) * (t * Math.pow(Math.sin(k_m), 2.0))) / (Math.pow(l, 2.0) * Math.cos(k_m)));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 2.4e-9: tmp = math.pow(((l / math.pow(t, 0.75)) * (math.pow(t, -0.75) / k_m)), 2.0) else: tmp = 2.0 / ((math.pow(k_m, 2.0) * (t * math.pow(math.sin(k_m), 2.0))) / (math.pow(l, 2.0) * math.cos(k_m))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 2.4e-9) tmp = Float64(Float64(l / (t ^ 0.75)) * Float64((t ^ -0.75) / k_m)) ^ 2.0; else tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) * Float64(t * (sin(k_m) ^ 2.0))) / Float64((l ^ 2.0) * cos(k_m)))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 2.4e-9) tmp = ((l / (t ^ 0.75)) * ((t ^ -0.75) / k_m)) ^ 2.0; else tmp = 2.0 / (((k_m ^ 2.0) * (t * (sin(k_m) ^ 2.0))) / ((l ^ 2.0) * cos(k_m))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 2.4e-9], N[Power[N[(N[(l / N[Power[t, 0.75], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t, -0.75], $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] * N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 2.4 \cdot 10^{-9}:\\
\;\;\;\;{\left(\frac{\ell}{{t}^{0.75}} \cdot \frac{{t}^{-0.75}}{k\_m}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2} \cdot \left(t \cdot {\sin k\_m}^{2}\right)}{{\ell}^{2} \cdot \cos k\_m}}\\
\end{array}
\end{array}
if k < 2.4e-9Initial program 62.5%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.6%
pow239.6%
sqrt-div27.8%
sqrt-pow129.6%
metadata-eval29.6%
pow129.6%
sqrt-prod29.6%
sqrt-pow134.7%
metadata-eval34.7%
pow134.7%
sqrt-pow138.4%
metadata-eval38.4%
Applied egg-rr38.4%
*-lft-identity38.4%
associate-/r*38.3%
Simplified38.3%
div-inv38.3%
sqr-pow38.3%
times-frac41.3%
metadata-eval41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-un-lft-identity41.3%
div-inv41.3%
pow-flip41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-lft-identity41.3%
associate-*l/41.3%
*-lft-identity41.3%
Simplified41.3%
if 2.4e-9 < k Initial program 38.1%
Taylor expanded in t around 0 60.4%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 8.8e-11)
(pow (* (/ l (pow t 0.75)) (/ (pow t -0.75) k_m)) 2.0)
(/
2.0
(*
(/ (pow k_m 2.0) (pow l 2.0))
(/ (* t (pow (sin k_m) 2.0)) (cos k_m))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 8.8e-11) {
tmp = pow(((l / pow(t, 0.75)) * (pow(t, -0.75) / k_m)), 2.0);
} else {
tmp = 2.0 / ((pow(k_m, 2.0) / pow(l, 2.0)) * ((t * pow(sin(k_m), 2.0)) / cos(k_m)));
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 8.8d-11) then
tmp = ((l / (t ** 0.75d0)) * ((t ** (-0.75d0)) / k_m)) ** 2.0d0
else
tmp = 2.0d0 / (((k_m ** 2.0d0) / (l ** 2.0d0)) * ((t * (sin(k_m) ** 2.0d0)) / cos(k_m)))
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 8.8e-11) {
tmp = Math.pow(((l / Math.pow(t, 0.75)) * (Math.pow(t, -0.75) / k_m)), 2.0);
} else {
tmp = 2.0 / ((Math.pow(k_m, 2.0) / Math.pow(l, 2.0)) * ((t * Math.pow(Math.sin(k_m), 2.0)) / Math.cos(k_m)));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 8.8e-11: tmp = math.pow(((l / math.pow(t, 0.75)) * (math.pow(t, -0.75) / k_m)), 2.0) else: tmp = 2.0 / ((math.pow(k_m, 2.0) / math.pow(l, 2.0)) * ((t * math.pow(math.sin(k_m), 2.0)) / math.cos(k_m))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 8.8e-11) tmp = Float64(Float64(l / (t ^ 0.75)) * Float64((t ^ -0.75) / k_m)) ^ 2.0; else tmp = Float64(2.0 / Float64(Float64((k_m ^ 2.0) / (l ^ 2.0)) * Float64(Float64(t * (sin(k_m) ^ 2.0)) / cos(k_m)))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 8.8e-11) tmp = ((l / (t ^ 0.75)) * ((t ^ -0.75) / k_m)) ^ 2.0; else tmp = 2.0 / (((k_m ^ 2.0) / (l ^ 2.0)) * ((t * (sin(k_m) ^ 2.0)) / cos(k_m))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 8.8e-11], N[Power[N[(N[(l / N[Power[t, 0.75], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t, -0.75], $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(2.0 / N[(N[(N[Power[k$95$m, 2.0], $MachinePrecision] / N[Power[l, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(t * N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 8.8 \cdot 10^{-11}:\\
\;\;\;\;{\left(\frac{\ell}{{t}^{0.75}} \cdot \frac{{t}^{-0.75}}{k\_m}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{k\_m}^{2}}{{\ell}^{2}} \cdot \frac{t \cdot {\sin k\_m}^{2}}{\cos k\_m}}\\
\end{array}
\end{array}
if k < 8.8000000000000006e-11Initial program 62.5%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.6%
pow239.6%
sqrt-div27.8%
sqrt-pow129.6%
metadata-eval29.6%
pow129.6%
sqrt-prod29.6%
sqrt-pow134.7%
metadata-eval34.7%
pow134.7%
sqrt-pow138.4%
metadata-eval38.4%
Applied egg-rr38.4%
*-lft-identity38.4%
associate-/r*38.3%
Simplified38.3%
div-inv38.3%
sqr-pow38.3%
times-frac41.3%
metadata-eval41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-un-lft-identity41.3%
div-inv41.3%
pow-flip41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-lft-identity41.3%
associate-*l/41.3%
*-lft-identity41.3%
Simplified41.3%
if 8.8000000000000006e-11 < k Initial program 38.1%
Taylor expanded in k around inf 27.4%
unpow227.4%
unpow227.4%
times-frac35.5%
unpow235.5%
Simplified35.5%
Taylor expanded in t around 0 60.4%
times-frac55.3%
Simplified55.3%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 1.15e-9)
(pow (* (/ l (pow t 0.75)) (/ (pow t -0.75) k_m)) 2.0)
(*
(/ 2.0 (pow k_m 2.0))
(/ (/ (* (pow l 2.0) (cos k_m)) (pow (sin k_m) 2.0)) t))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.15e-9) {
tmp = pow(((l / pow(t, 0.75)) * (pow(t, -0.75) / k_m)), 2.0);
} else {
tmp = (2.0 / pow(k_m, 2.0)) * (((pow(l, 2.0) * cos(k_m)) / pow(sin(k_m), 2.0)) / t);
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 1.15d-9) then
tmp = ((l / (t ** 0.75d0)) * ((t ** (-0.75d0)) / k_m)) ** 2.0d0
else
tmp = (2.0d0 / (k_m ** 2.0d0)) * ((((l ** 2.0d0) * cos(k_m)) / (sin(k_m) ** 2.0d0)) / t)
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.15e-9) {
tmp = Math.pow(((l / Math.pow(t, 0.75)) * (Math.pow(t, -0.75) / k_m)), 2.0);
} else {
tmp = (2.0 / Math.pow(k_m, 2.0)) * (((Math.pow(l, 2.0) * Math.cos(k_m)) / Math.pow(Math.sin(k_m), 2.0)) / t);
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 1.15e-9: tmp = math.pow(((l / math.pow(t, 0.75)) * (math.pow(t, -0.75) / k_m)), 2.0) else: tmp = (2.0 / math.pow(k_m, 2.0)) * (((math.pow(l, 2.0) * math.cos(k_m)) / math.pow(math.sin(k_m), 2.0)) / t) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.15e-9) tmp = Float64(Float64(l / (t ^ 0.75)) * Float64((t ^ -0.75) / k_m)) ^ 2.0; else tmp = Float64(Float64(2.0 / (k_m ^ 2.0)) * Float64(Float64(Float64((l ^ 2.0) * cos(k_m)) / (sin(k_m) ^ 2.0)) / t)); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 1.15e-9) tmp = ((l / (t ^ 0.75)) * ((t ^ -0.75) / k_m)) ^ 2.0; else tmp = (2.0 / (k_m ^ 2.0)) * ((((l ^ 2.0) * cos(k_m)) / (sin(k_m) ^ 2.0)) / t); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.15e-9], N[Power[N[(N[(l / N[Power[t, 0.75], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t, -0.75], $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], N[(N[(2.0 / N[Power[k$95$m, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(N[Power[l, 2.0], $MachinePrecision] * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k$95$m], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.15 \cdot 10^{-9}:\\
\;\;\;\;{\left(\frac{\ell}{{t}^{0.75}} \cdot \frac{{t}^{-0.75}}{k\_m}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{{k\_m}^{2}} \cdot \frac{\frac{{\ell}^{2} \cdot \cos k\_m}{{\sin k\_m}^{2}}}{t}\\
\end{array}
\end{array}
if k < 1.15e-9Initial program 62.5%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.6%
pow239.6%
sqrt-div27.8%
sqrt-pow129.6%
metadata-eval29.6%
pow129.6%
sqrt-prod29.6%
sqrt-pow134.7%
metadata-eval34.7%
pow134.7%
sqrt-pow138.4%
metadata-eval38.4%
Applied egg-rr38.4%
*-lft-identity38.4%
associate-/r*38.3%
Simplified38.3%
div-inv38.3%
sqr-pow38.3%
times-frac41.3%
metadata-eval41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-un-lft-identity41.3%
div-inv41.3%
pow-flip41.3%
metadata-eval41.3%
Applied egg-rr41.3%
*-lft-identity41.3%
associate-*l/41.3%
*-lft-identity41.3%
Simplified41.3%
if 1.15e-9 < k Initial program 38.1%
Taylor expanded in t around 0 60.4%
associate-*r/60.4%
times-frac55.2%
times-frac55.2%
associate-*l/55.2%
associate-/l*55.2%
Simplified55.2%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 0.00039)
(pow (* (/ l (pow t 0.75)) (/ (pow t -0.75) k_m)) 2.0)
(if (<= k_m 2.7e+96)
(*
(* l (/ (/ 2.0 (* (sin k_m) (pow t 3.0))) (tan k_m)))
(/ l (+ 2.0 (pow (/ k_m t) 2.0))))
0.0)))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 0.00039) {
tmp = pow(((l / pow(t, 0.75)) * (pow(t, -0.75) / k_m)), 2.0);
} else if (k_m <= 2.7e+96) {
tmp = (l * ((2.0 / (sin(k_m) * pow(t, 3.0))) / tan(k_m))) * (l / (2.0 + pow((k_m / t), 2.0)));
} else {
tmp = 0.0;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 0.00039d0) then
tmp = ((l / (t ** 0.75d0)) * ((t ** (-0.75d0)) / k_m)) ** 2.0d0
else if (k_m <= 2.7d+96) then
tmp = (l * ((2.0d0 / (sin(k_m) * (t ** 3.0d0))) / tan(k_m))) * (l / (2.0d0 + ((k_m / t) ** 2.0d0)))
else
tmp = 0.0d0
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 0.00039) {
tmp = Math.pow(((l / Math.pow(t, 0.75)) * (Math.pow(t, -0.75) / k_m)), 2.0);
} else if (k_m <= 2.7e+96) {
tmp = (l * ((2.0 / (Math.sin(k_m) * Math.pow(t, 3.0))) / Math.tan(k_m))) * (l / (2.0 + Math.pow((k_m / t), 2.0)));
} else {
tmp = 0.0;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 0.00039: tmp = math.pow(((l / math.pow(t, 0.75)) * (math.pow(t, -0.75) / k_m)), 2.0) elif k_m <= 2.7e+96: tmp = (l * ((2.0 / (math.sin(k_m) * math.pow(t, 3.0))) / math.tan(k_m))) * (l / (2.0 + math.pow((k_m / t), 2.0))) else: tmp = 0.0 return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 0.00039) tmp = Float64(Float64(l / (t ^ 0.75)) * Float64((t ^ -0.75) / k_m)) ^ 2.0; elseif (k_m <= 2.7e+96) tmp = Float64(Float64(l * Float64(Float64(2.0 / Float64(sin(k_m) * (t ^ 3.0))) / tan(k_m))) * Float64(l / Float64(2.0 + (Float64(k_m / t) ^ 2.0)))); else tmp = 0.0; end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 0.00039) tmp = ((l / (t ^ 0.75)) * ((t ^ -0.75) / k_m)) ^ 2.0; elseif (k_m <= 2.7e+96) tmp = (l * ((2.0 / (sin(k_m) * (t ^ 3.0))) / tan(k_m))) * (l / (2.0 + ((k_m / t) ^ 2.0))); else tmp = 0.0; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 0.00039], N[Power[N[(N[(l / N[Power[t, 0.75], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t, -0.75], $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 2.7e+96], N[(N[(l * N[(N[(2.0 / N[(N[Sin[k$95$m], $MachinePrecision] * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l / N[(2.0 + N[Power[N[(k$95$m / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.0]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 0.00039:\\
\;\;\;\;{\left(\frac{\ell}{{t}^{0.75}} \cdot \frac{{t}^{-0.75}}{k\_m}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 2.7 \cdot 10^{+96}:\\
\;\;\;\;\left(\ell \cdot \frac{\frac{2}{\sin k\_m \cdot {t}^{3}}}{\tan k\_m}\right) \cdot \frac{\ell}{2 + {\left(\frac{k\_m}{t}\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 3.89999999999999993e-4Initial program 62.7%
Taylor expanded in k around 0 53.8%
*-un-lft-identity53.8%
add-sqr-sqrt40.0%
pow240.0%
sqrt-div28.2%
sqrt-pow130.0%
metadata-eval30.0%
pow130.0%
sqrt-prod30.0%
sqrt-pow135.1%
metadata-eval35.1%
pow135.1%
sqrt-pow138.7%
metadata-eval38.7%
Applied egg-rr38.7%
*-lft-identity38.7%
associate-/r*38.6%
Simplified38.6%
div-inv38.6%
sqr-pow38.6%
times-frac41.6%
metadata-eval41.6%
metadata-eval41.6%
Applied egg-rr41.6%
*-un-lft-identity41.6%
div-inv41.6%
pow-flip41.6%
metadata-eval41.6%
Applied egg-rr41.6%
*-lft-identity41.6%
associate-*l/41.6%
*-lft-identity41.6%
Simplified41.6%
if 3.89999999999999993e-4 < k < 2.70000000000000022e96Initial program 62.4%
Simplified62.3%
associate-*r*62.5%
*-un-lft-identity62.5%
times-frac71.4%
div-inv71.4%
frac-times71.4%
metadata-eval71.4%
Applied egg-rr71.4%
/-rgt-identity71.4%
*-commutative71.4%
*-rgt-identity71.4%
associate-/r*71.4%
associate-*l/71.4%
associate-*r/71.4%
associate-*l/71.5%
associate-*r/71.5%
metadata-eval71.5%
*-commutative71.5%
Simplified71.5%
if 2.70000000000000022e96 < k Initial program 27.1%
Taylor expanded in k around 0 28.9%
add-log-exp29.0%
add-sqr-sqrt27.1%
pow227.1%
sqrt-div11.7%
sqrt-pow112.4%
metadata-eval12.4%
pow112.4%
sqrt-prod12.4%
sqrt-pow113.0%
metadata-eval13.0%
pow113.0%
sqrt-pow122.1%
metadata-eval22.1%
Applied egg-rr22.1%
Taylor expanded in l around 0 52.1%
metadata-eval52.1%
Applied egg-rr52.1%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 12800.0)
(pow (* (/ l (pow t 0.75)) (/ (pow t -0.75) k_m)) 2.0)
(if (<= k_m 3.1e+96)
(/ 2.0 (* 2.0 (* (tan k_m) (* (sin k_m) (/ (pow t 3.0) (* l l))))))
0.0)))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 12800.0) {
tmp = pow(((l / pow(t, 0.75)) * (pow(t, -0.75) / k_m)), 2.0);
} else if (k_m <= 3.1e+96) {
tmp = 2.0 / (2.0 * (tan(k_m) * (sin(k_m) * (pow(t, 3.0) / (l * l)))));
} else {
tmp = 0.0;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 12800.0d0) then
tmp = ((l / (t ** 0.75d0)) * ((t ** (-0.75d0)) / k_m)) ** 2.0d0
else if (k_m <= 3.1d+96) then
tmp = 2.0d0 / (2.0d0 * (tan(k_m) * (sin(k_m) * ((t ** 3.0d0) / (l * l)))))
else
tmp = 0.0d0
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 12800.0) {
tmp = Math.pow(((l / Math.pow(t, 0.75)) * (Math.pow(t, -0.75) / k_m)), 2.0);
} else if (k_m <= 3.1e+96) {
tmp = 2.0 / (2.0 * (Math.tan(k_m) * (Math.sin(k_m) * (Math.pow(t, 3.0) / (l * l)))));
} else {
tmp = 0.0;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 12800.0: tmp = math.pow(((l / math.pow(t, 0.75)) * (math.pow(t, -0.75) / k_m)), 2.0) elif k_m <= 3.1e+96: tmp = 2.0 / (2.0 * (math.tan(k_m) * (math.sin(k_m) * (math.pow(t, 3.0) / (l * l))))) else: tmp = 0.0 return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 12800.0) tmp = Float64(Float64(l / (t ^ 0.75)) * Float64((t ^ -0.75) / k_m)) ^ 2.0; elseif (k_m <= 3.1e+96) tmp = Float64(2.0 / Float64(2.0 * Float64(tan(k_m) * Float64(sin(k_m) * Float64((t ^ 3.0) / Float64(l * l)))))); else tmp = 0.0; end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 12800.0) tmp = ((l / (t ^ 0.75)) * ((t ^ -0.75) / k_m)) ^ 2.0; elseif (k_m <= 3.1e+96) tmp = 2.0 / (2.0 * (tan(k_m) * (sin(k_m) * ((t ^ 3.0) / (l * l))))); else tmp = 0.0; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 12800.0], N[Power[N[(N[(l / N[Power[t, 0.75], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t, -0.75], $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], If[LessEqual[k$95$m, 3.1e+96], N[(2.0 / N[(2.0 * N[(N[Tan[k$95$m], $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.0]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 12800:\\
\;\;\;\;{\left(\frac{\ell}{{t}^{0.75}} \cdot \frac{{t}^{-0.75}}{k\_m}\right)}^{2}\\
\mathbf{elif}\;k\_m \leq 3.1 \cdot 10^{+96}:\\
\;\;\;\;\frac{2}{2 \cdot \left(\tan k\_m \cdot \left(\sin k\_m \cdot \frac{{t}^{3}}{\ell \cdot \ell}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 12800Initial program 62.6%
Taylor expanded in k around 0 53.8%
*-un-lft-identity53.8%
add-sqr-sqrt40.1%
pow240.1%
sqrt-div28.5%
sqrt-pow130.2%
metadata-eval30.2%
pow130.2%
sqrt-prod30.2%
sqrt-pow135.2%
metadata-eval35.2%
pow135.2%
sqrt-pow138.8%
metadata-eval38.8%
Applied egg-rr38.8%
*-lft-identity38.8%
associate-/r*38.7%
Simplified38.7%
div-inv38.7%
sqr-pow38.7%
times-frac41.7%
metadata-eval41.7%
metadata-eval41.7%
Applied egg-rr41.7%
*-un-lft-identity41.7%
div-inv41.7%
pow-flip41.7%
metadata-eval41.7%
Applied egg-rr41.7%
*-lft-identity41.7%
associate-*l/41.7%
*-lft-identity41.7%
Simplified41.7%
if 12800 < k < 3.0999999999999998e96Initial program 63.7%
Taylor expanded in k around 0 59.5%
if 3.0999999999999998e96 < k Initial program 27.1%
Taylor expanded in k around 0 28.9%
add-log-exp29.0%
add-sqr-sqrt27.1%
pow227.1%
sqrt-div11.7%
sqrt-pow112.4%
metadata-eval12.4%
pow112.4%
sqrt-prod12.4%
sqrt-pow113.0%
metadata-eval13.0%
pow113.0%
sqrt-pow122.1%
metadata-eval22.1%
Applied egg-rr22.1%
Taylor expanded in l around 0 52.1%
metadata-eval52.1%
Applied egg-rr52.1%
Final simplification45.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 9e+93) (pow (* (/ l (pow t 0.75)) (/ (pow t -0.75) k_m)) 2.0) 0.0))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 9e+93) {
tmp = pow(((l / pow(t, 0.75)) * (pow(t, -0.75) / k_m)), 2.0);
} else {
tmp = 0.0;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 9d+93) then
tmp = ((l / (t ** 0.75d0)) * ((t ** (-0.75d0)) / k_m)) ** 2.0d0
else
tmp = 0.0d0
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 9e+93) {
tmp = Math.pow(((l / Math.pow(t, 0.75)) * (Math.pow(t, -0.75) / k_m)), 2.0);
} else {
tmp = 0.0;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 9e+93: tmp = math.pow(((l / math.pow(t, 0.75)) * (math.pow(t, -0.75) / k_m)), 2.0) else: tmp = 0.0 return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 9e+93) tmp = Float64(Float64(l / (t ^ 0.75)) * Float64((t ^ -0.75) / k_m)) ^ 2.0; else tmp = 0.0; end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 9e+93) tmp = ((l / (t ^ 0.75)) * ((t ^ -0.75) / k_m)) ^ 2.0; else tmp = 0.0; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 9e+93], N[Power[N[(N[(l / N[Power[t, 0.75], $MachinePrecision]), $MachinePrecision] * N[(N[Power[t, -0.75], $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], 0.0]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 9 \cdot 10^{+93}:\\
\;\;\;\;{\left(\frac{\ell}{{t}^{0.75}} \cdot \frac{{t}^{-0.75}}{k\_m}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 8.99999999999999981e93Initial program 62.9%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.5%
pow239.5%
sqrt-div27.5%
sqrt-pow128.6%
metadata-eval28.6%
pow128.6%
sqrt-prod28.6%
sqrt-pow133.2%
metadata-eval33.2%
pow133.2%
sqrt-pow136.4%
metadata-eval36.4%
Applied egg-rr36.4%
*-lft-identity36.4%
associate-/r*36.4%
Simplified36.4%
div-inv36.4%
sqr-pow36.4%
times-frac39.1%
metadata-eval39.1%
metadata-eval39.1%
Applied egg-rr39.1%
*-un-lft-identity39.1%
div-inv39.1%
pow-flip39.1%
metadata-eval39.1%
Applied egg-rr39.1%
*-lft-identity39.1%
associate-*l/39.1%
*-lft-identity39.1%
Simplified39.1%
if 8.99999999999999981e93 < k Initial program 26.7%
Taylor expanded in k around 0 28.4%
add-log-exp28.5%
add-sqr-sqrt26.6%
pow226.6%
sqrt-div11.5%
sqrt-pow112.2%
metadata-eval12.2%
pow112.2%
sqrt-prod12.2%
sqrt-pow112.8%
metadata-eval12.8%
pow112.8%
sqrt-pow121.7%
metadata-eval21.7%
Applied egg-rr21.7%
Taylor expanded in l around 0 51.2%
metadata-eval51.2%
Applied egg-rr51.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 1.25e+94) (pow (* (/ 1.0 k_m) (/ l (pow t 1.5))) 2.0) 0.0))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.25e+94) {
tmp = pow(((1.0 / k_m) * (l / pow(t, 1.5))), 2.0);
} else {
tmp = 0.0;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 1.25d+94) then
tmp = ((1.0d0 / k_m) * (l / (t ** 1.5d0))) ** 2.0d0
else
tmp = 0.0d0
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.25e+94) {
tmp = Math.pow(((1.0 / k_m) * (l / Math.pow(t, 1.5))), 2.0);
} else {
tmp = 0.0;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 1.25e+94: tmp = math.pow(((1.0 / k_m) * (l / math.pow(t, 1.5))), 2.0) else: tmp = 0.0 return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.25e+94) tmp = Float64(Float64(1.0 / k_m) * Float64(l / (t ^ 1.5))) ^ 2.0; else tmp = 0.0; end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 1.25e+94) tmp = ((1.0 / k_m) * (l / (t ^ 1.5))) ^ 2.0; else tmp = 0.0; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.25e+94], N[Power[N[(N[(1.0 / k$95$m), $MachinePrecision] * N[(l / N[Power[t, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], 0.0]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.25 \cdot 10^{+94}:\\
\;\;\;\;{\left(\frac{1}{k\_m} \cdot \frac{\ell}{{t}^{1.5}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 1.25000000000000003e94Initial program 62.9%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.5%
pow239.5%
sqrt-div27.5%
sqrt-pow128.6%
metadata-eval28.6%
pow128.6%
sqrt-prod28.6%
sqrt-pow133.2%
metadata-eval33.2%
pow133.2%
sqrt-pow136.4%
metadata-eval36.4%
Applied egg-rr36.4%
*-lft-identity36.4%
associate-/r*36.4%
Simplified36.4%
associate-/r*36.4%
*-un-lft-identity36.4%
times-frac36.5%
Applied egg-rr36.5%
if 1.25000000000000003e94 < k Initial program 26.7%
Taylor expanded in k around 0 28.4%
add-log-exp28.5%
add-sqr-sqrt26.6%
pow226.6%
sqrt-div11.5%
sqrt-pow112.2%
metadata-eval12.2%
pow112.2%
sqrt-prod12.2%
sqrt-pow112.8%
metadata-eval12.8%
pow112.8%
sqrt-pow121.7%
metadata-eval21.7%
Applied egg-rr21.7%
Taylor expanded in l around 0 51.2%
metadata-eval51.2%
Applied egg-rr51.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 1.3e+94) (pow (/ l (* k_m (pow t 1.5))) 2.0) 0.0))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.3e+94) {
tmp = pow((l / (k_m * pow(t, 1.5))), 2.0);
} else {
tmp = 0.0;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 1.3d+94) then
tmp = (l / (k_m * (t ** 1.5d0))) ** 2.0d0
else
tmp = 0.0d0
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.3e+94) {
tmp = Math.pow((l / (k_m * Math.pow(t, 1.5))), 2.0);
} else {
tmp = 0.0;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 1.3e+94: tmp = math.pow((l / (k_m * math.pow(t, 1.5))), 2.0) else: tmp = 0.0 return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.3e+94) tmp = Float64(l / Float64(k_m * (t ^ 1.5))) ^ 2.0; else tmp = 0.0; end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 1.3e+94) tmp = (l / (k_m * (t ^ 1.5))) ^ 2.0; else tmp = 0.0; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.3e+94], N[Power[N[(l / N[(k$95$m * N[Power[t, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], 0.0]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.3 \cdot 10^{+94}:\\
\;\;\;\;{\left(\frac{\ell}{k\_m \cdot {t}^{1.5}}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 1.3e94Initial program 62.9%
Taylor expanded in k around 0 53.6%
add-sqr-sqrt39.5%
pow239.5%
sqrt-div27.5%
sqrt-pow128.6%
metadata-eval28.6%
pow128.6%
sqrt-prod28.6%
sqrt-pow133.2%
metadata-eval33.2%
pow133.2%
sqrt-pow136.4%
metadata-eval36.4%
Applied egg-rr36.4%
if 1.3e94 < k Initial program 26.7%
Taylor expanded in k around 0 28.4%
add-log-exp28.5%
add-sqr-sqrt26.6%
pow226.6%
sqrt-div11.5%
sqrt-pow112.2%
metadata-eval12.2%
pow112.2%
sqrt-prod12.2%
sqrt-pow112.8%
metadata-eval12.8%
pow112.8%
sqrt-pow121.7%
metadata-eval21.7%
Applied egg-rr21.7%
Taylor expanded in l around 0 51.2%
metadata-eval51.2%
Applied egg-rr51.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 1.3e+94) (pow (* (pow t -1.5) (/ l k_m)) 2.0) 0.0))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.3e+94) {
tmp = pow((pow(t, -1.5) * (l / k_m)), 2.0);
} else {
tmp = 0.0;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 1.3d+94) then
tmp = ((t ** (-1.5d0)) * (l / k_m)) ** 2.0d0
else
tmp = 0.0d0
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.3e+94) {
tmp = Math.pow((Math.pow(t, -1.5) * (l / k_m)), 2.0);
} else {
tmp = 0.0;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 1.3e+94: tmp = math.pow((math.pow(t, -1.5) * (l / k_m)), 2.0) else: tmp = 0.0 return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.3e+94) tmp = Float64((t ^ -1.5) * Float64(l / k_m)) ^ 2.0; else tmp = 0.0; end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 1.3e+94) tmp = ((t ^ -1.5) * (l / k_m)) ^ 2.0; else tmp = 0.0; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.3e+94], N[Power[N[(N[Power[t, -1.5], $MachinePrecision] * N[(l / k$95$m), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision], 0.0]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.3 \cdot 10^{+94}:\\
\;\;\;\;{\left({t}^{-1.5} \cdot \frac{\ell}{k\_m}\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 1.3e94Initial program 62.9%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.5%
pow239.5%
sqrt-div27.5%
sqrt-pow128.6%
metadata-eval28.6%
pow128.6%
sqrt-prod28.6%
sqrt-pow133.2%
metadata-eval33.2%
pow133.2%
sqrt-pow136.4%
metadata-eval36.4%
Applied egg-rr36.4%
*-lft-identity36.4%
associate-/r*36.4%
Simplified36.4%
associate-/l/36.4%
*-un-lft-identity36.4%
times-frac36.4%
pow-flip36.4%
metadata-eval36.4%
Applied egg-rr36.4%
if 1.3e94 < k Initial program 26.7%
Taylor expanded in k around 0 28.4%
add-log-exp28.5%
add-sqr-sqrt26.6%
pow226.6%
sqrt-div11.5%
sqrt-pow112.2%
metadata-eval12.2%
pow112.2%
sqrt-prod12.2%
sqrt-pow112.8%
metadata-eval12.8%
pow112.8%
sqrt-pow121.7%
metadata-eval21.7%
Applied egg-rr21.7%
Taylor expanded in l around 0 51.2%
metadata-eval51.2%
Applied egg-rr51.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 1.25e+94) (/ (/ l k_m) (/ (pow (- t) 3.0) (/ (- l) k_m))) 0.0))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.25e+94) {
tmp = (l / k_m) / (pow(-t, 3.0) / (-l / k_m));
} else {
tmp = 0.0;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 1.25d+94) then
tmp = (l / k_m) / ((-t ** 3.0d0) / (-l / k_m))
else
tmp = 0.0d0
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.25e+94) {
tmp = (l / k_m) / (Math.pow(-t, 3.0) / (-l / k_m));
} else {
tmp = 0.0;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 1.25e+94: tmp = (l / k_m) / (math.pow(-t, 3.0) / (-l / k_m)) else: tmp = 0.0 return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.25e+94) tmp = Float64(Float64(l / k_m) / Float64((Float64(-t) ^ 3.0) / Float64(Float64(-l) / k_m))); else tmp = 0.0; end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 1.25e+94) tmp = (l / k_m) / ((-t ^ 3.0) / (-l / k_m)); else tmp = 0.0; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.25e+94], N[(N[(l / k$95$m), $MachinePrecision] / N[(N[Power[(-t), 3.0], $MachinePrecision] / N[((-l) / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.0]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.25 \cdot 10^{+94}:\\
\;\;\;\;\frac{\frac{\ell}{k\_m}}{\frac{{\left(-t\right)}^{3}}{\frac{-\ell}{k\_m}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}
\end{array}
if k < 1.25000000000000003e94Initial program 62.9%
Taylor expanded in k around 0 53.6%
*-un-lft-identity53.6%
add-sqr-sqrt39.5%
pow239.5%
sqrt-div27.5%
sqrt-pow128.6%
metadata-eval28.6%
pow128.6%
sqrt-prod28.6%
sqrt-pow133.2%
metadata-eval33.2%
pow133.2%
sqrt-pow136.4%
metadata-eval36.4%
Applied egg-rr36.4%
*-lft-identity36.4%
associate-/r*36.4%
Simplified36.4%
unpow236.4%
associate-/r*36.3%
clear-num36.3%
frac-2neg36.3%
frac-times36.4%
Applied egg-rr36.4%
*-lft-identity36.4%
*-commutative36.4%
associate-/r*36.4%
*-commutative36.4%
associate-*l/36.4%
associate-/r/36.4%
associate-/r*36.4%
distribute-neg-frac236.4%
associate-*r/33.0%
distribute-lft-neg-out33.0%
pow-sqr66.6%
metadata-eval66.6%
cube-mult66.6%
unpow266.6%
distribute-lft-neg-out66.6%
unpow266.6%
sqr-neg66.6%
cube-unmult66.6%
Simplified66.6%
if 1.25000000000000003e94 < k Initial program 26.7%
Taylor expanded in k around 0 28.4%
add-log-exp28.5%
add-sqr-sqrt26.6%
pow226.6%
sqrt-div11.5%
sqrt-pow112.2%
metadata-eval12.2%
pow112.2%
sqrt-prod12.2%
sqrt-pow112.8%
metadata-eval12.8%
pow112.8%
sqrt-pow121.7%
metadata-eval21.7%
Applied egg-rr21.7%
Taylor expanded in l around 0 51.2%
metadata-eval51.2%
Applied egg-rr51.2%
Final simplification63.4%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 0.0)
k_m = fabs(k);
double code(double t, double l, double k_m) {
return 0.0;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = 0.0d0
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return 0.0;
}
k_m = math.fabs(k) def code(t, l, k_m): return 0.0
k_m = abs(k) function code(t, l, k_m) return 0.0 end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = 0.0; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := 0.0
\begin{array}{l}
k_m = \left|k\right|
\\
0
\end{array}
Initial program 55.4%
Taylor expanded in k around 0 48.3%
add-log-exp46.9%
add-sqr-sqrt36.1%
pow236.1%
sqrt-div23.4%
sqrt-pow124.9%
metadata-eval24.9%
pow124.9%
sqrt-prod24.8%
sqrt-pow128.2%
metadata-eval28.2%
pow128.2%
sqrt-pow131.5%
metadata-eval31.5%
Applied egg-rr31.5%
Taylor expanded in l around 0 39.5%
metadata-eval39.5%
Applied egg-rr39.5%
herbie shell --seed 2024166
(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))))