
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 19 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
(FPCore (t l k)
:precision binary64
(let* ((t_1 (+ 1.0 (+ 1.0 (pow (/ k t) 2.0)))))
(if (<= t -1.5e+203)
(/ 2.0 (* t_1 (* (tan k) (/ k (/ l (/ (pow t 3.0) l))))))
(if (<= t 35000000000.0)
(/ 2.0 (* (/ k l) (* (* t (/ k l)) (/ (pow (sin k) 2.0) (cos k)))))
(/ 2.0 (* t_1 (* (tan k) (* (sin k) (pow (/ (pow t 1.5) l) 2.0)))))))))
double code(double t, double l, double k) {
double t_1 = 1.0 + (1.0 + pow((k / t), 2.0));
double tmp;
if (t <= -1.5e+203) {
tmp = 2.0 / (t_1 * (tan(k) * (k / (l / (pow(t, 3.0) / l)))));
} else if (t <= 35000000000.0) {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (pow(sin(k), 2.0) / cos(k))));
} else {
tmp = 2.0 / (t_1 * (tan(k) * (sin(k) * pow((pow(t, 1.5) / l), 2.0))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 1.0d0 + (1.0d0 + ((k / t) ** 2.0d0))
if (t <= (-1.5d+203)) then
tmp = 2.0d0 / (t_1 * (tan(k) * (k / (l / ((t ** 3.0d0) / l)))))
else if (t <= 35000000000.0d0) then
tmp = 2.0d0 / ((k / l) * ((t * (k / l)) * ((sin(k) ** 2.0d0) / cos(k))))
else
tmp = 2.0d0 / (t_1 * (tan(k) * (sin(k) * (((t ** 1.5d0) / l) ** 2.0d0))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = 1.0 + (1.0 + Math.pow((k / t), 2.0));
double tmp;
if (t <= -1.5e+203) {
tmp = 2.0 / (t_1 * (Math.tan(k) * (k / (l / (Math.pow(t, 3.0) / l)))));
} else if (t <= 35000000000.0) {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k))));
} else {
tmp = 2.0 / (t_1 * (Math.tan(k) * (Math.sin(k) * Math.pow((Math.pow(t, 1.5) / l), 2.0))));
}
return tmp;
}
def code(t, l, k): t_1 = 1.0 + (1.0 + math.pow((k / t), 2.0)) tmp = 0 if t <= -1.5e+203: tmp = 2.0 / (t_1 * (math.tan(k) * (k / (l / (math.pow(t, 3.0) / l))))) elif t <= 35000000000.0: tmp = 2.0 / ((k / l) * ((t * (k / l)) * (math.pow(math.sin(k), 2.0) / math.cos(k)))) else: tmp = 2.0 / (t_1 * (math.tan(k) * (math.sin(k) * math.pow((math.pow(t, 1.5) / l), 2.0)))) return tmp
function code(t, l, k) t_1 = Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0))) tmp = 0.0 if (t <= -1.5e+203) tmp = Float64(2.0 / Float64(t_1 * Float64(tan(k) * Float64(k / Float64(l / Float64((t ^ 3.0) / l)))))); elseif (t <= 35000000000.0) tmp = Float64(2.0 / Float64(Float64(k / l) * Float64(Float64(t * Float64(k / l)) * Float64((sin(k) ^ 2.0) / cos(k))))); else tmp = Float64(2.0 / Float64(t_1 * Float64(tan(k) * Float64(sin(k) * (Float64((t ^ 1.5) / l) ^ 2.0))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = 1.0 + (1.0 + ((k / t) ^ 2.0)); tmp = 0.0; if (t <= -1.5e+203) tmp = 2.0 / (t_1 * (tan(k) * (k / (l / ((t ^ 3.0) / l))))); elseif (t <= 35000000000.0) tmp = 2.0 / ((k / l) * ((t * (k / l)) * ((sin(k) ^ 2.0) / cos(k)))); else tmp = 2.0 / (t_1 * (tan(k) * (sin(k) * (((t ^ 1.5) / l) ^ 2.0)))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.5e+203], N[(2.0 / N[(t$95$1 * N[(N[Tan[k], $MachinePrecision] * N[(k / N[(l / N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 35000000000.0], N[(2.0 / N[(N[(k / l), $MachinePrecision] * N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$1 * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\\
\mathbf{if}\;t \leq -1.5 \cdot 10^{+203}:\\
\;\;\;\;\frac{2}{t_1 \cdot \left(\tan k \cdot \frac{k}{\frac{\ell}{\frac{{t}^{3}}{\ell}}}\right)}\\
\mathbf{elif}\;t \leq 35000000000:\\
\;\;\;\;\frac{2}{\frac{k}{\ell} \cdot \left(\left(t \cdot \frac{k}{\ell}\right) \cdot \frac{{\sin k}^{2}}{\cos k}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_1 \cdot \left(\tan k \cdot \left(\sin k \cdot {\left(\frac{{t}^{1.5}}{\ell}\right)}^{2}\right)\right)}\\
\end{array}
\end{array}
if t < -1.5e203Initial program 42.6%
Taylor expanded in k around 0 42.6%
associate-/l*42.6%
unpow242.6%
associate-/l*66.7%
Simplified66.7%
if -1.5e203 < t < 3.5e10Initial program 49.6%
add-sqr-sqrt16.9%
pow216.9%
sqrt-div16.9%
sqrt-pow119.2%
metadata-eval19.2%
sqrt-prod9.9%
add-sqr-sqrt21.5%
Applied egg-rr21.5%
Taylor expanded in t around 0 71.0%
unpow271.0%
associate-*l*72.7%
associate-*l*72.7%
unpow272.7%
associate-*r*72.7%
times-frac86.2%
Simplified86.2%
Taylor expanded in k around inf 86.1%
associate-*r*86.2%
times-frac88.0%
associate-/l*87.6%
associate-/r/89.6%
Simplified89.6%
if 3.5e10 < t Initial program 64.8%
add-sqr-sqrt64.8%
pow264.8%
sqrt-div64.8%
sqrt-pow176.7%
metadata-eval76.7%
sqrt-prod41.9%
add-sqr-sqrt84.0%
Applied egg-rr84.0%
Final simplification86.6%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<=
(/
2.0
(*
(* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
(+ 1.0 (+ 1.0 t_1))))
1e+296)
(/
(pow (/ (cbrt (/ 2.0 (tan k))) (/ t (cbrt (/ (* l l) (sin k))))) 3.0)
(+ 2.0 t_1))
(/ 2.0 (* (/ k l) (* (* t (/ k l)) (/ (pow (sin k) 2.0) (cos k))))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double tmp;
if ((2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * (1.0 + (1.0 + t_1)))) <= 1e+296) {
tmp = pow((cbrt((2.0 / tan(k))) / (t / cbrt(((l * l) / sin(k))))), 3.0) / (2.0 + t_1);
} else {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (pow(sin(k), 2.0) / cos(k))));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double tmp;
if ((2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * (1.0 + (1.0 + t_1)))) <= 1e+296) {
tmp = Math.pow((Math.cbrt((2.0 / Math.tan(k))) / (t / Math.cbrt(((l * l) / Math.sin(k))))), 3.0) / (2.0 + t_1);
} else {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k))));
}
return tmp;
}
function code(t, l, k) t_1 = Float64(k / t) ^ 2.0 tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(1.0 + Float64(1.0 + t_1)))) <= 1e+296) tmp = Float64((Float64(cbrt(Float64(2.0 / tan(k))) / Float64(t / cbrt(Float64(Float64(l * l) / sin(k))))) ^ 3.0) / Float64(2.0 + t_1)); else tmp = Float64(2.0 / Float64(Float64(k / l) * Float64(Float64(t * Float64(k / l)) * Float64((sin(k) ^ 2.0) / cos(k))))); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[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[(1.0 + N[(1.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1e+296], N[(N[Power[N[(N[Power[N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] / N[(t / N[Power[N[(N[(l * l), $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] / N[(2.0 + t$95$1), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k / l), $MachinePrecision] * N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{k}{t}\right)}^{2}\\
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(1 + \left(1 + t_1\right)\right)} \leq 10^{+296}:\\
\;\;\;\;\frac{{\left(\frac{\sqrt[3]{\frac{2}{\tan k}}}{\frac{t}{\sqrt[3]{\frac{\ell \cdot \ell}{\sin k}}}}\right)}^{3}}{2 + t_1}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k}{\ell} \cdot \left(\left(t \cdot \frac{k}{\ell}\right) \cdot \frac{{\sin k}^{2}}{\cos k}\right)}\\
\end{array}
\end{array}
if (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) < 9.99999999999999981e295Initial program 81.1%
associate-/r*80.4%
associate-*l*75.6%
sqr-neg75.6%
associate-*l*80.4%
*-commutative80.4%
sqr-neg80.4%
associate-/r*80.4%
Simplified79.4%
add-cube-cbrt79.3%
pow379.3%
cbrt-div79.2%
cbrt-div79.8%
rem-cbrt-cube89.0%
Applied egg-rr89.0%
if 9.99999999999999981e295 < (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) Initial program 20.4%
add-sqr-sqrt20.3%
pow220.3%
sqrt-div20.3%
sqrt-pow125.7%
metadata-eval25.7%
sqrt-prod17.0%
add-sqr-sqrt33.2%
Applied egg-rr33.2%
Taylor expanded in t around 0 56.8%
unpow256.8%
associate-*l*59.3%
associate-*l*59.2%
unpow259.2%
associate-*r*59.3%
times-frac80.0%
Simplified80.0%
Taylor expanded in k around inf 79.9%
associate-*r*80.0%
times-frac81.7%
associate-/l*80.2%
associate-/r/83.2%
Simplified83.2%
Final simplification86.3%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (+ 1.0 (+ 1.0 (pow (/ k t) 2.0)))))
(if (<=
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) t_1))
1e+296)
(/ 2.0 (* t_1 (* (tan k) (pow (/ t (cbrt (/ (* l l) (sin k)))) 3.0))))
(/ 2.0 (* (/ k l) (* (* t (/ k l)) (/ (pow (sin k) 2.0) (cos k))))))))
double code(double t, double l, double k) {
double t_1 = 1.0 + (1.0 + pow((k / t), 2.0));
double tmp;
if ((2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * t_1)) <= 1e+296) {
tmp = 2.0 / (t_1 * (tan(k) * pow((t / cbrt(((l * l) / sin(k)))), 3.0)));
} else {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (pow(sin(k), 2.0) / cos(k))));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = 1.0 + (1.0 + Math.pow((k / t), 2.0));
double tmp;
if ((2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * t_1)) <= 1e+296) {
tmp = 2.0 / (t_1 * (Math.tan(k) * Math.pow((t / Math.cbrt(((l * l) / Math.sin(k)))), 3.0)));
} else {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k))));
}
return tmp;
}
function code(t, l, k) t_1 = Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0))) tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * t_1)) <= 1e+296) tmp = Float64(2.0 / Float64(t_1 * Float64(tan(k) * (Float64(t / cbrt(Float64(Float64(l * l) / sin(k)))) ^ 3.0)))); else tmp = Float64(2.0 / Float64(Float64(k / l) * Float64(Float64(t * Float64(k / l)) * Float64((sin(k) ^ 2.0) / cos(k))))); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[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] * t$95$1), $MachinePrecision]), $MachinePrecision], 1e+296], N[(2.0 / N[(t$95$1 * N[(N[Tan[k], $MachinePrecision] * N[Power[N[(t / N[Power[N[(N[(l * l), $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k / l), $MachinePrecision] * N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\\
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot t_1} \leq 10^{+296}:\\
\;\;\;\;\frac{2}{t_1 \cdot \left(\tan k \cdot {\left(\frac{t}{\sqrt[3]{\frac{\ell \cdot \ell}{\sin k}}}\right)}^{3}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k}{\ell} \cdot \left(\left(t \cdot \frac{k}{\ell}\right) \cdot \frac{{\sin k}^{2}}{\cos k}\right)}\\
\end{array}
\end{array}
if (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) < 9.99999999999999981e295Initial program 81.1%
associate-/r/80.1%
add-cube-cbrt80.0%
pow380.0%
cbrt-div80.0%
rem-cbrt-cube87.0%
Applied egg-rr87.0%
if 9.99999999999999981e295 < (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) Initial program 20.4%
add-sqr-sqrt20.3%
pow220.3%
sqrt-div20.3%
sqrt-pow125.7%
metadata-eval25.7%
sqrt-prod17.0%
add-sqr-sqrt33.2%
Applied egg-rr33.2%
Taylor expanded in t around 0 56.8%
unpow256.8%
associate-*l*59.3%
associate-*l*59.2%
unpow259.2%
associate-*r*59.3%
times-frac80.0%
Simplified80.0%
Taylor expanded in k around inf 79.9%
associate-*r*80.0%
times-frac81.7%
associate-/l*80.2%
associate-/r/83.2%
Simplified83.2%
Final simplification85.2%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<=
(/
2.0
(*
(* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
(+ 1.0 (+ 1.0 t_1))))
1e+296)
(/ (* (/ l (/ (sin k) l)) (/ 2.0 (* (pow t 3.0) (tan k)))) (+ 2.0 t_1))
(/ 2.0 (* (/ k l) (* (* t (/ k l)) (/ (pow (sin k) 2.0) (cos k))))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double tmp;
if ((2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * (1.0 + (1.0 + t_1)))) <= 1e+296) {
tmp = ((l / (sin(k) / l)) * (2.0 / (pow(t, 3.0) * tan(k)))) / (2.0 + t_1);
} else {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (pow(sin(k), 2.0) / cos(k))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = (k / t) ** 2.0d0
if ((2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * (1.0d0 + (1.0d0 + t_1)))) <= 1d+296) then
tmp = ((l / (sin(k) / l)) * (2.0d0 / ((t ** 3.0d0) * tan(k)))) / (2.0d0 + t_1)
else
tmp = 2.0d0 / ((k / l) * ((t * (k / l)) * ((sin(k) ** 2.0d0) / cos(k))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double tmp;
if ((2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * (1.0 + (1.0 + t_1)))) <= 1e+296) {
tmp = ((l / (Math.sin(k) / l)) * (2.0 / (Math.pow(t, 3.0) * Math.tan(k)))) / (2.0 + t_1);
} else {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k))));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow((k / t), 2.0) tmp = 0 if (2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * (1.0 + (1.0 + t_1)))) <= 1e+296: tmp = ((l / (math.sin(k) / l)) * (2.0 / (math.pow(t, 3.0) * math.tan(k)))) / (2.0 + t_1) else: tmp = 2.0 / ((k / l) * ((t * (k / l)) * (math.pow(math.sin(k), 2.0) / math.cos(k)))) return tmp
function code(t, l, k) t_1 = Float64(k / t) ^ 2.0 tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(1.0 + Float64(1.0 + t_1)))) <= 1e+296) tmp = Float64(Float64(Float64(l / Float64(sin(k) / l)) * Float64(2.0 / Float64((t ^ 3.0) * tan(k)))) / Float64(2.0 + t_1)); else tmp = Float64(2.0 / Float64(Float64(k / l) * Float64(Float64(t * Float64(k / l)) * Float64((sin(k) ^ 2.0) / cos(k))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (k / t) ^ 2.0; tmp = 0.0; if ((2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * (1.0 + (1.0 + t_1)))) <= 1e+296) tmp = ((l / (sin(k) / l)) * (2.0 / ((t ^ 3.0) * tan(k)))) / (2.0 + t_1); else tmp = 2.0 / ((k / l) * ((t * (k / l)) * ((sin(k) ^ 2.0) / cos(k)))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[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[(1.0 + N[(1.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1e+296], N[(N[(N[(l / N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Power[t, 3.0], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + t$95$1), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k / l), $MachinePrecision] * N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{k}{t}\right)}^{2}\\
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(1 + \left(1 + t_1\right)\right)} \leq 10^{+296}:\\
\;\;\;\;\frac{\frac{\ell}{\frac{\sin k}{\ell}} \cdot \frac{2}{{t}^{3} \cdot \tan k}}{2 + t_1}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k}{\ell} \cdot \left(\left(t \cdot \frac{k}{\ell}\right) \cdot \frac{{\sin k}^{2}}{\cos k}\right)}\\
\end{array}
\end{array}
if (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) < 9.99999999999999981e295Initial program 81.1%
associate-/r*80.4%
associate-*l*75.6%
sqr-neg75.6%
associate-*l*80.4%
*-commutative80.4%
sqr-neg80.4%
associate-/r*80.4%
Simplified79.4%
div-inv79.4%
associate-/r/80.1%
Applied egg-rr80.1%
associate-*r/80.1%
*-rgt-identity80.1%
*-commutative80.1%
associate-/l*82.6%
associate-/l/82.6%
Simplified82.6%
if 9.99999999999999981e295 < (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) Initial program 20.4%
add-sqr-sqrt20.3%
pow220.3%
sqrt-div20.3%
sqrt-pow125.7%
metadata-eval25.7%
sqrt-prod17.0%
add-sqr-sqrt33.2%
Applied egg-rr33.2%
Taylor expanded in t around 0 56.8%
unpow256.8%
associate-*l*59.3%
associate-*l*59.2%
unpow259.2%
associate-*r*59.3%
times-frac80.0%
Simplified80.0%
Taylor expanded in k around inf 79.9%
associate-*r*80.0%
times-frac81.7%
associate-/l*80.2%
associate-/r/83.2%
Simplified83.2%
Final simplification82.8%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<= t -1.5e+203)
(/ 2.0 (* (+ 1.0 (+ 1.0 t_1)) (* (tan k) (/ k (/ l (/ (pow t 3.0) l))))))
(if (<= t 17000000000.0)
(/ 2.0 (* (/ k l) (* (* t (/ k l)) (/ (pow (sin k) 2.0) (cos k)))))
(/
(/ (/ 2.0 (tan k)) (* (sin k) (pow (/ (pow t 1.5) l) 2.0)))
(+ 2.0 t_1))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double tmp;
if (t <= -1.5e+203) {
tmp = 2.0 / ((1.0 + (1.0 + t_1)) * (tan(k) * (k / (l / (pow(t, 3.0) / l)))));
} else if (t <= 17000000000.0) {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (pow(sin(k), 2.0) / cos(k))));
} else {
tmp = ((2.0 / tan(k)) / (sin(k) * pow((pow(t, 1.5) / l), 2.0))) / (2.0 + t_1);
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = (k / t) ** 2.0d0
if (t <= (-1.5d+203)) then
tmp = 2.0d0 / ((1.0d0 + (1.0d0 + t_1)) * (tan(k) * (k / (l / ((t ** 3.0d0) / l)))))
else if (t <= 17000000000.0d0) then
tmp = 2.0d0 / ((k / l) * ((t * (k / l)) * ((sin(k) ** 2.0d0) / cos(k))))
else
tmp = ((2.0d0 / tan(k)) / (sin(k) * (((t ** 1.5d0) / l) ** 2.0d0))) / (2.0d0 + t_1)
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double tmp;
if (t <= -1.5e+203) {
tmp = 2.0 / ((1.0 + (1.0 + t_1)) * (Math.tan(k) * (k / (l / (Math.pow(t, 3.0) / l)))));
} else if (t <= 17000000000.0) {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k))));
} else {
tmp = ((2.0 / Math.tan(k)) / (Math.sin(k) * Math.pow((Math.pow(t, 1.5) / l), 2.0))) / (2.0 + t_1);
}
return tmp;
}
def code(t, l, k): t_1 = math.pow((k / t), 2.0) tmp = 0 if t <= -1.5e+203: tmp = 2.0 / ((1.0 + (1.0 + t_1)) * (math.tan(k) * (k / (l / (math.pow(t, 3.0) / l))))) elif t <= 17000000000.0: tmp = 2.0 / ((k / l) * ((t * (k / l)) * (math.pow(math.sin(k), 2.0) / math.cos(k)))) else: tmp = ((2.0 / math.tan(k)) / (math.sin(k) * math.pow((math.pow(t, 1.5) / l), 2.0))) / (2.0 + t_1) return tmp
function code(t, l, k) t_1 = Float64(k / t) ^ 2.0 tmp = 0.0 if (t <= -1.5e+203) tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(1.0 + t_1)) * Float64(tan(k) * Float64(k / Float64(l / Float64((t ^ 3.0) / l)))))); elseif (t <= 17000000000.0) tmp = Float64(2.0 / Float64(Float64(k / l) * Float64(Float64(t * Float64(k / l)) * Float64((sin(k) ^ 2.0) / cos(k))))); else tmp = Float64(Float64(Float64(2.0 / tan(k)) / Float64(sin(k) * (Float64((t ^ 1.5) / l) ^ 2.0))) / Float64(2.0 + t_1)); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (k / t) ^ 2.0; tmp = 0.0; if (t <= -1.5e+203) tmp = 2.0 / ((1.0 + (1.0 + t_1)) * (tan(k) * (k / (l / ((t ^ 3.0) / l))))); elseif (t <= 17000000000.0) tmp = 2.0 / ((k / l) * ((t * (k / l)) * ((sin(k) ^ 2.0) / cos(k)))); else tmp = ((2.0 / tan(k)) / (sin(k) * (((t ^ 1.5) / l) ^ 2.0))) / (2.0 + t_1); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[t, -1.5e+203], N[(2.0 / N[(N[(1.0 + N[(1.0 + t$95$1), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(k / N[(l / N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 17000000000.0], N[(2.0 / N[(N[(k / l), $MachinePrecision] * N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + t$95$1), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{k}{t}\right)}^{2}\\
\mathbf{if}\;t \leq -1.5 \cdot 10^{+203}:\\
\;\;\;\;\frac{2}{\left(1 + \left(1 + t_1\right)\right) \cdot \left(\tan k \cdot \frac{k}{\frac{\ell}{\frac{{t}^{3}}{\ell}}}\right)}\\
\mathbf{elif}\;t \leq 17000000000:\\
\;\;\;\;\frac{2}{\frac{k}{\ell} \cdot \left(\left(t \cdot \frac{k}{\ell}\right) \cdot \frac{{\sin k}^{2}}{\cos k}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{2}{\tan k}}{\sin k \cdot {\left(\frac{{t}^{1.5}}{\ell}\right)}^{2}}}{2 + t_1}\\
\end{array}
\end{array}
if t < -1.5e203Initial program 42.6%
Taylor expanded in k around 0 42.6%
associate-/l*42.6%
unpow242.6%
associate-/l*66.7%
Simplified66.7%
if -1.5e203 < t < 1.7e10Initial program 49.6%
add-sqr-sqrt16.9%
pow216.9%
sqrt-div16.9%
sqrt-pow119.2%
metadata-eval19.2%
sqrt-prod9.9%
add-sqr-sqrt21.5%
Applied egg-rr21.5%
Taylor expanded in t around 0 71.0%
unpow271.0%
associate-*l*72.7%
associate-*l*72.7%
unpow272.7%
associate-*r*72.7%
times-frac86.2%
Simplified86.2%
Taylor expanded in k around inf 86.1%
associate-*r*86.2%
times-frac88.0%
associate-/l*87.6%
associate-/r/89.6%
Simplified89.6%
if 1.7e10 < t Initial program 64.8%
associate-/r*64.8%
associate-*l*56.9%
sqr-neg56.9%
associate-*l*64.8%
*-commutative64.8%
sqr-neg64.8%
associate-/r*64.8%
Simplified64.6%
associate-/r/64.8%
add-sqr-sqrt64.8%
pow264.8%
sqrt-div64.8%
sqrt-pow176.7%
metadata-eval76.7%
sqrt-prod41.8%
add-sqr-sqrt84.0%
Applied egg-rr84.0%
Final simplification86.6%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ (pow (sin k) 2.0) (cos k))))
(if (<= k 3.05e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 9e-23)
(/
2.0
(*
(+ 1.0 (+ 1.0 (pow (/ k t) 2.0)))
(* (tan k) (/ k (/ l (/ (pow t 3.0) l))))))
(if (<= k 2.1e+218)
(/ 2.0 (/ (* k (* t_1 (/ (* t k) l))) l))
(/ 2.0 (* (* t (/ k l)) (* (/ k l) t_1))))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0) / cos(k);
double tmp;
if (k <= 3.05e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 9e-23) {
tmp = 2.0 / ((1.0 + (1.0 + pow((k / t), 2.0))) * (tan(k) * (k / (l / (pow(t, 3.0) / l)))));
} else if (k <= 2.1e+218) {
tmp = 2.0 / ((k * (t_1 * ((t * k) / l))) / l);
} else {
tmp = 2.0 / ((t * (k / l)) * ((k / l) * t_1));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = (sin(k) ** 2.0d0) / cos(k)
if (k <= 3.05d-133) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 9d-23) then
tmp = 2.0d0 / ((1.0d0 + (1.0d0 + ((k / t) ** 2.0d0))) * (tan(k) * (k / (l / ((t ** 3.0d0) / l)))))
else if (k <= 2.1d+218) then
tmp = 2.0d0 / ((k * (t_1 * ((t * k) / l))) / l)
else
tmp = 2.0d0 / ((t * (k / l)) * ((k / l) * t_1))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0) / Math.cos(k);
double tmp;
if (k <= 3.05e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 9e-23) {
tmp = 2.0 / ((1.0 + (1.0 + Math.pow((k / t), 2.0))) * (Math.tan(k) * (k / (l / (Math.pow(t, 3.0) / l)))));
} else if (k <= 2.1e+218) {
tmp = 2.0 / ((k * (t_1 * ((t * k) / l))) / l);
} else {
tmp = 2.0 / ((t * (k / l)) * ((k / l) * t_1));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) / math.cos(k) tmp = 0 if k <= 3.05e-133: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 9e-23: tmp = 2.0 / ((1.0 + (1.0 + math.pow((k / t), 2.0))) * (math.tan(k) * (k / (l / (math.pow(t, 3.0) / l))))) elif k <= 2.1e+218: tmp = 2.0 / ((k * (t_1 * ((t * k) / l))) / l) else: tmp = 2.0 / ((t * (k / l)) * ((k / l) * t_1)) return tmp
function code(t, l, k) t_1 = Float64((sin(k) ^ 2.0) / cos(k)) tmp = 0.0 if (k <= 3.05e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 9e-23) tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0))) * Float64(tan(k) * Float64(k / Float64(l / Float64((t ^ 3.0) / l)))))); elseif (k <= 2.1e+218) tmp = Float64(2.0 / Float64(Float64(k * Float64(t_1 * Float64(Float64(t * k) / l))) / l)); else tmp = Float64(2.0 / Float64(Float64(t * Float64(k / l)) * Float64(Float64(k / l) * t_1))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (sin(k) ^ 2.0) / cos(k); tmp = 0.0; if (k <= 3.05e-133) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 9e-23) tmp = 2.0 / ((1.0 + (1.0 + ((k / t) ^ 2.0))) * (tan(k) * (k / (l / ((t ^ 3.0) / l))))); elseif (k <= 2.1e+218) tmp = 2.0 / ((k * (t_1 * ((t * k) / l))) / l); else tmp = 2.0 / ((t * (k / l)) * ((k / l) * t_1)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, 3.05e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 9e-23], N[(2.0 / N[(N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(k / N[(l / N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.1e+218], N[(2.0 / N[(N[(k * N[(t$95$1 * N[(N[(t * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{{\sin k}^{2}}{\cos k}\\
\mathbf{if}\;k \leq 3.05 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 9 \cdot 10^{-23}:\\
\;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right) \cdot \left(\tan k \cdot \frac{k}{\frac{\ell}{\frac{{t}^{3}}{\ell}}}\right)}\\
\mathbf{elif}\;k \leq 2.1 \cdot 10^{+218}:\\
\;\;\;\;\frac{2}{\frac{k \cdot \left(t_1 \cdot \frac{t \cdot k}{\ell}\right)}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(t \cdot \frac{k}{\ell}\right) \cdot \left(\frac{k}{\ell} \cdot t_1\right)}\\
\end{array}
\end{array}
if k < 3.0500000000000002e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 3.0500000000000002e-133 < k < 8.9999999999999995e-23Initial program 68.7%
Taylor expanded in k around 0 68.7%
associate-/l*68.8%
unpow268.8%
associate-/l*74.4%
Simplified74.4%
if 8.9999999999999995e-23 < k < 2.0999999999999999e218Initial program 52.7%
add-sqr-sqrt22.9%
pow222.9%
sqrt-div22.9%
sqrt-pow127.4%
metadata-eval27.4%
sqrt-prod9.1%
add-sqr-sqrt29.6%
Applied egg-rr29.6%
Taylor expanded in t around 0 80.3%
unpow280.3%
associate-*l*82.4%
associate-*l*82.4%
unpow282.4%
associate-*r*82.5%
times-frac93.2%
Simplified93.2%
associate-*l/93.1%
times-frac93.1%
Applied egg-rr93.1%
if 2.0999999999999999e218 < k Initial program 46.2%
add-sqr-sqrt38.5%
pow238.5%
sqrt-div38.5%
sqrt-pow138.6%
metadata-eval38.6%
sqrt-prod30.8%
add-sqr-sqrt46.2%
Applied egg-rr46.2%
Taylor expanded in t around 0 62.3%
unpow262.3%
associate-*l*62.3%
associate-*l*62.3%
unpow262.3%
associate-*r*62.3%
times-frac77.9%
Simplified77.9%
Taylor expanded in k around inf 62.3%
associate-/r*62.3%
unpow262.3%
associate-*r*62.3%
associate-*r*62.3%
*-commutative62.3%
unpow262.3%
times-frac77.7%
associate-*l/77.9%
associate-*l/77.9%
associate-*r/77.9%
associate-*l*78.1%
associate-/l*99.3%
associate-/r/99.6%
Simplified99.6%
Final simplification71.4%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)))
(if (<= k 3.6e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 4.2e-50)
(/ (* l (/ l (pow t 3.0))) (* k k))
(if (<= k 3.8e+163)
(* 2.0 (/ (* (* l (cos k)) (/ l (* k (* t k)))) t_1))
(/ 2.0 (* (* t (/ k l)) (* (/ k l) (/ t_1 (cos k))))))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double tmp;
if (k <= 3.6e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 4.2e-50) {
tmp = (l * (l / pow(t, 3.0))) / (k * k);
} else if (k <= 3.8e+163) {
tmp = 2.0 * (((l * cos(k)) * (l / (k * (t * k)))) / t_1);
} else {
tmp = 2.0 / ((t * (k / l)) * ((k / l) * (t_1 / cos(k))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = sin(k) ** 2.0d0
if (k <= 3.6d-133) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 4.2d-50) then
tmp = (l * (l / (t ** 3.0d0))) / (k * k)
else if (k <= 3.8d+163) then
tmp = 2.0d0 * (((l * cos(k)) * (l / (k * (t * k)))) / t_1)
else
tmp = 2.0d0 / ((t * (k / l)) * ((k / l) * (t_1 / cos(k))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0);
double tmp;
if (k <= 3.6e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 4.2e-50) {
tmp = (l * (l / Math.pow(t, 3.0))) / (k * k);
} else if (k <= 3.8e+163) {
tmp = 2.0 * (((l * Math.cos(k)) * (l / (k * (t * k)))) / t_1);
} else {
tmp = 2.0 / ((t * (k / l)) * ((k / l) * (t_1 / Math.cos(k))));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) tmp = 0 if k <= 3.6e-133: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 4.2e-50: tmp = (l * (l / math.pow(t, 3.0))) / (k * k) elif k <= 3.8e+163: tmp = 2.0 * (((l * math.cos(k)) * (l / (k * (t * k)))) / t_1) else: tmp = 2.0 / ((t * (k / l)) * ((k / l) * (t_1 / math.cos(k)))) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 tmp = 0.0 if (k <= 3.6e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 4.2e-50) tmp = Float64(Float64(l * Float64(l / (t ^ 3.0))) / Float64(k * k)); elseif (k <= 3.8e+163) tmp = Float64(2.0 * Float64(Float64(Float64(l * cos(k)) * Float64(l / Float64(k * Float64(t * k)))) / t_1)); else tmp = Float64(2.0 / Float64(Float64(t * Float64(k / l)) * Float64(Float64(k / l) * Float64(t_1 / cos(k))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; tmp = 0.0; if (k <= 3.6e-133) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 4.2e-50) tmp = (l * (l / (t ^ 3.0))) / (k * k); elseif (k <= 3.8e+163) tmp = 2.0 * (((l * cos(k)) * (l / (k * (t * k)))) / t_1); else tmp = 2.0 / ((t * (k / l)) * ((k / l) * (t_1 / cos(k)))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[k, 3.6e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 4.2e-50], N[(N[(l * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 3.8e+163], N[(2.0 * N[(N[(N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(t$95$1 / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
\mathbf{if}\;k \leq 3.6 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 4.2 \cdot 10^{-50}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{{t}^{3}}}{k \cdot k}\\
\mathbf{elif}\;k \leq 3.8 \cdot 10^{+163}:\\
\;\;\;\;2 \cdot \frac{\left(\ell \cdot \cos k\right) \cdot \frac{\ell}{k \cdot \left(t \cdot k\right)}}{t_1}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(t \cdot \frac{k}{\ell}\right) \cdot \left(\frac{k}{\ell} \cdot \frac{t_1}{\cos k}\right)}\\
\end{array}
\end{array}
if k < 3.6000000000000004e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 3.6000000000000004e-133 < k < 4.2000000000000002e-50Initial program 50.5%
associate-/r*50.5%
associate-*l*50.3%
sqr-neg50.3%
associate-*l*50.5%
*-commutative50.5%
sqr-neg50.5%
associate-*l/50.5%
associate-*r/50.5%
associate-/r/50.7%
Simplified50.7%
Taylor expanded in k around 0 58.7%
unpow258.7%
times-frac65.6%
unpow265.6%
Simplified65.6%
associate-*l/66.7%
Applied egg-rr66.7%
if 4.2000000000000002e-50 < k < 3.80000000000000008e163Initial program 63.4%
associate-/r*63.5%
associate-*l*63.5%
sqr-neg63.5%
associate-*l*63.5%
*-commutative63.5%
sqr-neg63.5%
associate-*l/63.5%
associate-*r/63.6%
associate-/r/61.4%
Simplified61.4%
Taylor expanded in k around inf 81.2%
unpow281.2%
associate-*l*81.2%
associate-*r*81.2%
times-frac91.4%
unpow291.4%
Simplified91.4%
associate-*r/91.5%
associate-*l*93.6%
Applied egg-rr93.6%
if 3.80000000000000008e163 < k Initial program 38.9%
add-sqr-sqrt27.8%
pow227.8%
sqrt-div27.8%
sqrt-pow127.9%
metadata-eval27.9%
sqrt-prod22.2%
add-sqr-sqrt33.3%
Applied egg-rr33.3%
Taylor expanded in t around 0 67.2%
unpow267.2%
associate-*l*67.2%
associate-*l*67.2%
unpow267.2%
associate-*r*67.2%
times-frac84.0%
Simplified84.0%
Taylor expanded in k around inf 67.2%
associate-/r*67.2%
unpow267.2%
associate-*r*67.2%
associate-*r*67.2%
*-commutative67.2%
unpow267.2%
times-frac83.8%
associate-*l/84.0%
associate-*l/84.0%
associate-*r/84.0%
associate-*l*84.1%
associate-/l*99.4%
associate-/r/99.6%
Simplified99.6%
Final simplification71.7%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)))
(if (<= k 4.8e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 3.5e-50)
(/ (* l (/ l (pow t 3.0))) (* k k))
(if (<= k 7e+152)
(/ 2.0 (* (/ (* t (* k k)) l) (/ t_1 (* l (cos k)))))
(/ 2.0 (* (/ k l) (* (* t (/ k l)) (/ t_1 (cos k))))))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double tmp;
if (k <= 4.8e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 3.5e-50) {
tmp = (l * (l / pow(t, 3.0))) / (k * k);
} else if (k <= 7e+152) {
tmp = 2.0 / (((t * (k * k)) / l) * (t_1 / (l * cos(k))));
} else {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (t_1 / cos(k))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = sin(k) ** 2.0d0
if (k <= 4.8d-133) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 3.5d-50) then
tmp = (l * (l / (t ** 3.0d0))) / (k * k)
else if (k <= 7d+152) then
tmp = 2.0d0 / (((t * (k * k)) / l) * (t_1 / (l * cos(k))))
else
tmp = 2.0d0 / ((k / l) * ((t * (k / l)) * (t_1 / cos(k))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0);
double tmp;
if (k <= 4.8e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 3.5e-50) {
tmp = (l * (l / Math.pow(t, 3.0))) / (k * k);
} else if (k <= 7e+152) {
tmp = 2.0 / (((t * (k * k)) / l) * (t_1 / (l * Math.cos(k))));
} else {
tmp = 2.0 / ((k / l) * ((t * (k / l)) * (t_1 / Math.cos(k))));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) tmp = 0 if k <= 4.8e-133: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 3.5e-50: tmp = (l * (l / math.pow(t, 3.0))) / (k * k) elif k <= 7e+152: tmp = 2.0 / (((t * (k * k)) / l) * (t_1 / (l * math.cos(k)))) else: tmp = 2.0 / ((k / l) * ((t * (k / l)) * (t_1 / math.cos(k)))) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 tmp = 0.0 if (k <= 4.8e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 3.5e-50) tmp = Float64(Float64(l * Float64(l / (t ^ 3.0))) / Float64(k * k)); elseif (k <= 7e+152) tmp = Float64(2.0 / Float64(Float64(Float64(t * Float64(k * k)) / l) * Float64(t_1 / Float64(l * cos(k))))); else tmp = Float64(2.0 / Float64(Float64(k / l) * Float64(Float64(t * Float64(k / l)) * Float64(t_1 / cos(k))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; tmp = 0.0; if (k <= 4.8e-133) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 3.5e-50) tmp = (l * (l / (t ^ 3.0))) / (k * k); elseif (k <= 7e+152) tmp = 2.0 / (((t * (k * k)) / l) * (t_1 / (l * cos(k)))); else tmp = 2.0 / ((k / l) * ((t * (k / l)) * (t_1 / cos(k)))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[k, 4.8e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 3.5e-50], N[(N[(l * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 7e+152], N[(2.0 / N[(N[(N[(t * N[(k * k), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision] * N[(t$95$1 / N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k / l), $MachinePrecision] * N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$1 / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
\mathbf{if}\;k \leq 4.8 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 3.5 \cdot 10^{-50}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{{t}^{3}}}{k \cdot k}\\
\mathbf{elif}\;k \leq 7 \cdot 10^{+152}:\\
\;\;\;\;\frac{2}{\frac{t \cdot \left(k \cdot k\right)}{\ell} \cdot \frac{t_1}{\ell \cdot \cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k}{\ell} \cdot \left(\left(t \cdot \frac{k}{\ell}\right) \cdot \frac{t_1}{\cos k}\right)}\\
\end{array}
\end{array}
if k < 4.8e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 4.8e-133 < k < 3.49999999999999997e-50Initial program 50.5%
associate-/r*50.5%
associate-*l*50.3%
sqr-neg50.3%
associate-*l*50.5%
*-commutative50.5%
sqr-neg50.5%
associate-*l/50.5%
associate-*r/50.5%
associate-/r/50.7%
Simplified50.7%
Taylor expanded in k around 0 58.7%
unpow258.7%
times-frac65.6%
unpow265.6%
Simplified65.6%
associate-*l/66.7%
Applied egg-rr66.7%
if 3.49999999999999997e-50 < k < 6.99999999999999963e152Initial program 63.2%
Taylor expanded in t around 0 82.2%
associate-*r*82.2%
unpow282.2%
associate-*l*82.2%
times-frac92.9%
unpow292.9%
Simplified92.9%
if 6.99999999999999963e152 < k Initial program 42.9%
add-sqr-sqrt28.6%
pow228.6%
sqrt-div28.6%
sqrt-pow128.7%
metadata-eval28.7%
sqrt-prod19.0%
add-sqr-sqrt33.3%
Applied egg-rr33.3%
Taylor expanded in t around 0 67.3%
unpow267.3%
associate-*l*71.8%
associate-*l*71.9%
unpow271.9%
associate-*r*71.9%
times-frac86.3%
Simplified86.3%
Taylor expanded in k around inf 86.1%
associate-*r*86.3%
times-frac86.1%
associate-/l*95.1%
associate-/r/99.5%
Simplified99.5%
Final simplification71.7%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ (pow (sin k) 2.0) (cos k))))
(if (<= k 5.2e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 6.2e-50)
(/ (* l (/ l (pow t 3.0))) (* k k))
(if (<= k 2.1e+218)
(/ 2.0 (/ (* k (* t_1 (/ (* t k) l))) l))
(/ 2.0 (* (* t (/ k l)) (* (/ k l) t_1))))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0) / cos(k);
double tmp;
if (k <= 5.2e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 6.2e-50) {
tmp = (l * (l / pow(t, 3.0))) / (k * k);
} else if (k <= 2.1e+218) {
tmp = 2.0 / ((k * (t_1 * ((t * k) / l))) / l);
} else {
tmp = 2.0 / ((t * (k / l)) * ((k / l) * t_1));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = (sin(k) ** 2.0d0) / cos(k)
if (k <= 5.2d-133) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 6.2d-50) then
tmp = (l * (l / (t ** 3.0d0))) / (k * k)
else if (k <= 2.1d+218) then
tmp = 2.0d0 / ((k * (t_1 * ((t * k) / l))) / l)
else
tmp = 2.0d0 / ((t * (k / l)) * ((k / l) * t_1))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0) / Math.cos(k);
double tmp;
if (k <= 5.2e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 6.2e-50) {
tmp = (l * (l / Math.pow(t, 3.0))) / (k * k);
} else if (k <= 2.1e+218) {
tmp = 2.0 / ((k * (t_1 * ((t * k) / l))) / l);
} else {
tmp = 2.0 / ((t * (k / l)) * ((k / l) * t_1));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) / math.cos(k) tmp = 0 if k <= 5.2e-133: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 6.2e-50: tmp = (l * (l / math.pow(t, 3.0))) / (k * k) elif k <= 2.1e+218: tmp = 2.0 / ((k * (t_1 * ((t * k) / l))) / l) else: tmp = 2.0 / ((t * (k / l)) * ((k / l) * t_1)) return tmp
function code(t, l, k) t_1 = Float64((sin(k) ^ 2.0) / cos(k)) tmp = 0.0 if (k <= 5.2e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 6.2e-50) tmp = Float64(Float64(l * Float64(l / (t ^ 3.0))) / Float64(k * k)); elseif (k <= 2.1e+218) tmp = Float64(2.0 / Float64(Float64(k * Float64(t_1 * Float64(Float64(t * k) / l))) / l)); else tmp = Float64(2.0 / Float64(Float64(t * Float64(k / l)) * Float64(Float64(k / l) * t_1))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (sin(k) ^ 2.0) / cos(k); tmp = 0.0; if (k <= 5.2e-133) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 6.2e-50) tmp = (l * (l / (t ^ 3.0))) / (k * k); elseif (k <= 2.1e+218) tmp = 2.0 / ((k * (t_1 * ((t * k) / l))) / l); else tmp = 2.0 / ((t * (k / l)) * ((k / l) * t_1)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, 5.2e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 6.2e-50], N[(N[(l * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.1e+218], N[(2.0 / N[(N[(k * N[(t$95$1 * N[(N[(t * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{{\sin k}^{2}}{\cos k}\\
\mathbf{if}\;k \leq 5.2 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 6.2 \cdot 10^{-50}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{{t}^{3}}}{k \cdot k}\\
\mathbf{elif}\;k \leq 2.1 \cdot 10^{+218}:\\
\;\;\;\;\frac{2}{\frac{k \cdot \left(t_1 \cdot \frac{t \cdot k}{\ell}\right)}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(t \cdot \frac{k}{\ell}\right) \cdot \left(\frac{k}{\ell} \cdot t_1\right)}\\
\end{array}
\end{array}
if k < 5.1999999999999999e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 5.1999999999999999e-133 < k < 6.2000000000000004e-50Initial program 50.5%
associate-/r*50.5%
associate-*l*50.3%
sqr-neg50.3%
associate-*l*50.5%
*-commutative50.5%
sqr-neg50.5%
associate-*l/50.5%
associate-*r/50.5%
associate-/r/50.7%
Simplified50.7%
Taylor expanded in k around 0 58.7%
unpow258.7%
times-frac65.6%
unpow265.6%
Simplified65.6%
associate-*l/66.7%
Applied egg-rr66.7%
if 6.2000000000000004e-50 < k < 2.0999999999999999e218Initial program 59.2%
add-sqr-sqrt21.7%
pow221.7%
sqrt-div21.7%
sqrt-pow125.6%
metadata-eval25.6%
sqrt-prod9.8%
add-sqr-sqrt27.5%
Applied egg-rr27.5%
Taylor expanded in t around 0 81.1%
unpow281.1%
associate-*l*83.0%
associate-*l*83.0%
unpow283.0%
associate-*r*83.0%
times-frac92.3%
Simplified92.3%
associate-*l/92.2%
times-frac92.2%
Applied egg-rr92.2%
if 2.0999999999999999e218 < k Initial program 46.2%
add-sqr-sqrt38.5%
pow238.5%
sqrt-div38.5%
sqrt-pow138.6%
metadata-eval38.6%
sqrt-prod30.8%
add-sqr-sqrt46.2%
Applied egg-rr46.2%
Taylor expanded in t around 0 62.3%
unpow262.3%
associate-*l*62.3%
associate-*l*62.3%
unpow262.3%
associate-*r*62.3%
times-frac77.9%
Simplified77.9%
Taylor expanded in k around inf 62.3%
associate-/r*62.3%
unpow262.3%
associate-*r*62.3%
associate-*r*62.3%
*-commutative62.3%
unpow262.3%
times-frac77.7%
associate-*l/77.9%
associate-*l/77.9%
associate-*r/77.9%
associate-*l*78.1%
associate-/l*99.3%
associate-/r/99.6%
Simplified99.6%
Final simplification71.3%
(FPCore (t l k)
:precision binary64
(if (<= k 3.05e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 2.1e-50)
(/ (* l (/ l (pow t 3.0))) (* k k))
(* 2.0 (* (/ l t) (/ (* l (cos k)) (* (pow (sin k) 2.0) (* k k))))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 3.05e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 2.1e-50) {
tmp = (l * (l / pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 * ((l / t) * ((l * cos(k)) / (pow(sin(k), 2.0) * (k * k))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.05d-133) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 2.1d-50) then
tmp = (l * (l / (t ** 3.0d0))) / (k * k)
else
tmp = 2.0d0 * ((l / t) * ((l * cos(k)) / ((sin(k) ** 2.0d0) * (k * k))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 3.05e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 2.1e-50) {
tmp = (l * (l / Math.pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 * ((l / t) * ((l * Math.cos(k)) / (Math.pow(Math.sin(k), 2.0) * (k * k))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 3.05e-133: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 2.1e-50: tmp = (l * (l / math.pow(t, 3.0))) / (k * k) else: tmp = 2.0 * ((l / t) * ((l * math.cos(k)) / (math.pow(math.sin(k), 2.0) * (k * k)))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 3.05e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 2.1e-50) tmp = Float64(Float64(l * Float64(l / (t ^ 3.0))) / Float64(k * k)); else tmp = Float64(2.0 * Float64(Float64(l / t) * Float64(Float64(l * cos(k)) / Float64((sin(k) ^ 2.0) * Float64(k * k))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 3.05e-133) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 2.1e-50) tmp = (l * (l / (t ^ 3.0))) / (k * k); else tmp = 2.0 * ((l / t) * ((l * cos(k)) / ((sin(k) ^ 2.0) * (k * k)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 3.05e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.1e-50], N[(N[(l * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(l / t), $MachinePrecision] * N[(N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 3.05 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 2.1 \cdot 10^{-50}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{{t}^{3}}}{k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\ell}{t} \cdot \frac{\ell \cdot \cos k}{{\sin k}^{2} \cdot \left(k \cdot k\right)}\right)\\
\end{array}
\end{array}
if k < 3.0500000000000002e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 3.0500000000000002e-133 < k < 2.1000000000000001e-50Initial program 50.5%
associate-/r*50.5%
associate-*l*50.3%
sqr-neg50.3%
associate-*l*50.5%
*-commutative50.5%
sqr-neg50.5%
associate-*l/50.5%
associate-*r/50.5%
associate-/r/50.7%
Simplified50.7%
Taylor expanded in k around 0 58.7%
unpow258.7%
times-frac65.6%
unpow265.6%
Simplified65.6%
associate-*l/66.7%
Applied egg-rr66.7%
if 2.1000000000000001e-50 < k Initial program 56.5%
associate-/r*56.6%
associate-*l*56.6%
sqr-neg56.6%
associate-*l*56.6%
*-commutative56.6%
sqr-neg56.6%
associate-/r*56.6%
Simplified56.6%
associate-/r/56.6%
Applied egg-rr56.6%
Taylor expanded in k around inf 77.3%
unpow277.3%
associate-*r*77.3%
associate-*r*77.3%
*-commutative77.3%
associate-*l*77.3%
times-frac80.4%
unpow280.4%
Simplified80.4%
Final simplification68.0%
(FPCore (t l k)
:precision binary64
(if (<= k 4.7e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 6.9e-50)
(/ (* l (/ l (pow t 3.0))) (* k k))
(* 2.0 (* (/ l (* k (* t k))) (/ (* l (cos k)) (pow (sin k) 2.0)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 4.7e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 6.9e-50) {
tmp = (l * (l / pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 * ((l / (k * (t * k))) * ((l * cos(k)) / pow(sin(k), 2.0)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 4.7d-133) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 6.9d-50) then
tmp = (l * (l / (t ** 3.0d0))) / (k * k)
else
tmp = 2.0d0 * ((l / (k * (t * k))) * ((l * cos(k)) / (sin(k) ** 2.0d0)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 4.7e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 6.9e-50) {
tmp = (l * (l / Math.pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 * ((l / (k * (t * k))) * ((l * Math.cos(k)) / Math.pow(Math.sin(k), 2.0)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 4.7e-133: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 6.9e-50: tmp = (l * (l / math.pow(t, 3.0))) / (k * k) else: tmp = 2.0 * ((l / (k * (t * k))) * ((l * math.cos(k)) / math.pow(math.sin(k), 2.0))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 4.7e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 6.9e-50) tmp = Float64(Float64(l * Float64(l / (t ^ 3.0))) / Float64(k * k)); else tmp = Float64(2.0 * Float64(Float64(l / Float64(k * Float64(t * k))) * Float64(Float64(l * cos(k)) / (sin(k) ^ 2.0)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 4.7e-133) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 6.9e-50) tmp = (l * (l / (t ^ 3.0))) / (k * k); else tmp = 2.0 * ((l / (k * (t * k))) * ((l * cos(k)) / (sin(k) ^ 2.0))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 4.7e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 6.9e-50], N[(N[(l * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(l / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 4.7 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 6.9 \cdot 10^{-50}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{{t}^{3}}}{k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\ell}{k \cdot \left(t \cdot k\right)} \cdot \frac{\ell \cdot \cos k}{{\sin k}^{2}}\right)\\
\end{array}
\end{array}
if k < 4.70000000000000003e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 4.70000000000000003e-133 < k < 6.9000000000000001e-50Initial program 50.5%
associate-/r*50.5%
associate-*l*50.3%
sqr-neg50.3%
associate-*l*50.5%
*-commutative50.5%
sqr-neg50.5%
associate-*l/50.5%
associate-*r/50.5%
associate-/r/50.7%
Simplified50.7%
Taylor expanded in k around 0 58.7%
unpow258.7%
times-frac65.6%
unpow265.6%
Simplified65.6%
associate-*l/66.7%
Applied egg-rr66.7%
if 6.9000000000000001e-50 < k Initial program 56.5%
associate-/r*56.6%
associate-*l*56.6%
sqr-neg56.6%
associate-*l*56.6%
*-commutative56.6%
sqr-neg56.6%
associate-*l/56.6%
associate-*r/56.6%
associate-/r/55.1%
Simplified55.1%
Taylor expanded in k around inf 77.3%
unpow277.3%
associate-*l*77.3%
associate-*r*77.3%
times-frac84.9%
unpow284.9%
Simplified84.9%
Taylor expanded in l around 0 84.9%
unpow284.9%
associate-*r*86.4%
Simplified86.4%
Final simplification69.5%
(FPCore (t l k)
:precision binary64
(if (<= k 3.05e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 5.8e-50)
(/ (* l (/ l (pow t 3.0))) (* k k))
(* 2.0 (/ (* (* l (cos k)) (/ l (* k (* t k)))) (pow (sin k) 2.0))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 3.05e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 5.8e-50) {
tmp = (l * (l / pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 * (((l * cos(k)) * (l / (k * (t * k)))) / pow(sin(k), 2.0));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.05d-133) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 5.8d-50) then
tmp = (l * (l / (t ** 3.0d0))) / (k * k)
else
tmp = 2.0d0 * (((l * cos(k)) * (l / (k * (t * k)))) / (sin(k) ** 2.0d0))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 3.05e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 5.8e-50) {
tmp = (l * (l / Math.pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 * (((l * Math.cos(k)) * (l / (k * (t * k)))) / Math.pow(Math.sin(k), 2.0));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 3.05e-133: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 5.8e-50: tmp = (l * (l / math.pow(t, 3.0))) / (k * k) else: tmp = 2.0 * (((l * math.cos(k)) * (l / (k * (t * k)))) / math.pow(math.sin(k), 2.0)) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 3.05e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 5.8e-50) tmp = Float64(Float64(l * Float64(l / (t ^ 3.0))) / Float64(k * k)); else tmp = Float64(2.0 * Float64(Float64(Float64(l * cos(k)) * Float64(l / Float64(k * Float64(t * k)))) / (sin(k) ^ 2.0))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 3.05e-133) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 5.8e-50) tmp = (l * (l / (t ^ 3.0))) / (k * k); else tmp = 2.0 * (((l * cos(k)) * (l / (k * (t * k)))) / (sin(k) ^ 2.0)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 3.05e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 5.8e-50], N[(N[(l * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 3.05 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 5.8 \cdot 10^{-50}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{{t}^{3}}}{k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\left(\ell \cdot \cos k\right) \cdot \frac{\ell}{k \cdot \left(t \cdot k\right)}}{{\sin k}^{2}}\\
\end{array}
\end{array}
if k < 3.0500000000000002e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 3.0500000000000002e-133 < k < 5.80000000000000016e-50Initial program 50.5%
associate-/r*50.5%
associate-*l*50.3%
sqr-neg50.3%
associate-*l*50.5%
*-commutative50.5%
sqr-neg50.5%
associate-*l/50.5%
associate-*r/50.5%
associate-/r/50.7%
Simplified50.7%
Taylor expanded in k around 0 58.7%
unpow258.7%
times-frac65.6%
unpow265.6%
Simplified65.6%
associate-*l/66.7%
Applied egg-rr66.7%
if 5.80000000000000016e-50 < k Initial program 56.5%
associate-/r*56.6%
associate-*l*56.6%
sqr-neg56.6%
associate-*l*56.6%
*-commutative56.6%
sqr-neg56.6%
associate-*l/56.6%
associate-*r/56.6%
associate-/r/55.1%
Simplified55.1%
Taylor expanded in k around inf 77.3%
unpow277.3%
associate-*l*77.3%
associate-*r*77.3%
times-frac84.9%
unpow284.9%
Simplified84.9%
associate-*r/84.9%
associate-*l*86.5%
Applied egg-rr86.5%
Final simplification69.5%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ (* k k) l)) (t_2 (* t t_1)))
(if (<= k 3.25e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 2.8e-50)
(/ (* l (/ l (pow t 3.0))) (* k k))
(/ 2.0 (* t_1 (cbrt (* t_2 (* t_2 t_2)))))))))
double code(double t, double l, double k) {
double t_1 = (k * k) / l;
double t_2 = t * t_1;
double tmp;
if (k <= 3.25e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 2.8e-50) {
tmp = (l * (l / pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 / (t_1 * cbrt((t_2 * (t_2 * t_2))));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = (k * k) / l;
double t_2 = t * t_1;
double tmp;
if (k <= 3.25e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 2.8e-50) {
tmp = (l * (l / Math.pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 / (t_1 * Math.cbrt((t_2 * (t_2 * t_2))));
}
return tmp;
}
function code(t, l, k) t_1 = Float64(Float64(k * k) / l) t_2 = Float64(t * t_1) tmp = 0.0 if (k <= 3.25e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 2.8e-50) tmp = Float64(Float64(l * Float64(l / (t ^ 3.0))) / Float64(k * k)); else tmp = Float64(2.0 / Float64(t_1 * cbrt(Float64(t_2 * Float64(t_2 * t_2))))); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision]}, Block[{t$95$2 = N[(t * t$95$1), $MachinePrecision]}, If[LessEqual[k, 3.25e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.8e-50], N[(N[(l * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$1 * N[Power[N[(t$95$2 * N[(t$95$2 * t$95$2), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{k \cdot k}{\ell}\\
t_2 := t \cdot t_1\\
\mathbf{if}\;k \leq 3.25 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 2.8 \cdot 10^{-50}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{{t}^{3}}}{k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_1 \cdot \sqrt[3]{t_2 \cdot \left(t_2 \cdot t_2\right)}}\\
\end{array}
\end{array}
if k < 3.2500000000000001e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 3.2500000000000001e-133 < k < 2.7999999999999998e-50Initial program 50.5%
associate-/r*50.5%
associate-*l*50.3%
sqr-neg50.3%
associate-*l*50.5%
*-commutative50.5%
sqr-neg50.5%
associate-*l/50.5%
associate-*r/50.5%
associate-/r/50.7%
Simplified50.7%
Taylor expanded in k around 0 58.7%
unpow258.7%
times-frac65.6%
unpow265.6%
Simplified65.6%
associate-*l/66.7%
Applied egg-rr66.7%
if 2.7999999999999998e-50 < k Initial program 56.5%
Taylor expanded in t around 0 77.3%
associate-*r*77.3%
unpow277.3%
associate-*l*77.3%
times-frac84.8%
unpow284.8%
Simplified84.8%
Taylor expanded in k around 0 65.8%
unpow265.8%
Simplified65.8%
add-cbrt-cube67.1%
associate-/l*67.1%
associate-/l*67.1%
associate-/l*67.1%
Applied egg-rr67.1%
associate-*l*67.1%
unpow267.1%
associate-/r/67.1%
unpow267.1%
unpow267.1%
associate-/r/67.1%
unpow267.1%
unpow267.1%
associate-/r/67.1%
unpow267.1%
Simplified67.1%
Final simplification64.7%
(FPCore (t l k)
:precision binary64
(if (<= k 1.65e-127)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 4.7e+95)
(* (/ l (pow t 3.0)) (/ l (* k k)))
(* 2.0 (* (/ (/ (/ l k) t) k) (* l -0.16666666666666666))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.65e-127) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 4.7e+95) {
tmp = (l / pow(t, 3.0)) * (l / (k * k));
} else {
tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 1.65d-127) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 4.7d+95) then
tmp = (l / (t ** 3.0d0)) * (l / (k * k))
else
tmp = 2.0d0 * ((((l / k) / t) / k) * (l * (-0.16666666666666666d0)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.65e-127) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 4.7e+95) {
tmp = (l / Math.pow(t, 3.0)) * (l / (k * k));
} else {
tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.65e-127: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 4.7e+95: tmp = (l / math.pow(t, 3.0)) * (l / (k * k)) else: tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666)) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.65e-127) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 4.7e+95) tmp = Float64(Float64(l / (t ^ 3.0)) * Float64(l / Float64(k * k))); else tmp = Float64(2.0 * Float64(Float64(Float64(Float64(l / k) / t) / k) * Float64(l * -0.16666666666666666))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.65e-127) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 4.7e+95) tmp = (l / (t ^ 3.0)) * (l / (k * k)); else tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.65e-127], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 4.7e+95], N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] * N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] / k), $MachinePrecision] * N[(l * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.65 \cdot 10^{-127}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 4.7 \cdot 10^{+95}:\\
\;\;\;\;\frac{\ell}{{t}^{3}} \cdot \frac{\ell}{k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\frac{\ell}{k}}{t}}{k} \cdot \left(\ell \cdot -0.16666666666666666\right)\right)\\
\end{array}
\end{array}
if k < 1.6499999999999999e-127Initial program 52.1%
Taylor expanded in t around 0 59.7%
associate-*r*59.7%
unpow259.7%
associate-*l*59.7%
times-frac68.5%
unpow268.5%
Simplified68.5%
Taylor expanded in k around 0 59.7%
unpow259.7%
Simplified59.7%
div-inv59.7%
*-commutative59.7%
associate-/l*59.6%
associate-/l*61.3%
Applied egg-rr61.3%
associate-*r/61.3%
metadata-eval61.3%
associate-/r*61.3%
associate-/r/61.3%
associate-/l*63.5%
Simplified63.5%
if 1.6499999999999999e-127 < k < 4.69999999999999972e95Initial program 62.5%
associate-/r*62.5%
associate-*l*62.5%
sqr-neg62.5%
associate-*l*62.5%
*-commutative62.5%
sqr-neg62.5%
associate-*l/62.5%
associate-*r/62.6%
associate-/r/59.9%
Simplified59.9%
Taylor expanded in k around 0 65.5%
unpow265.5%
times-frac68.1%
unpow268.1%
Simplified68.1%
if 4.69999999999999972e95 < k Initial program 49.0%
associate-/r*49.0%
associate-*l*49.0%
sqr-neg49.0%
associate-*l*49.0%
*-commutative49.0%
sqr-neg49.0%
associate-*l/49.0%
associate-*r/49.0%
associate-/r/49.1%
Simplified49.1%
Taylor expanded in k around inf 78.8%
unpow278.8%
associate-*l*78.7%
associate-*r*78.7%
times-frac81.7%
unpow281.7%
Simplified81.7%
Taylor expanded in k around 0 60.1%
cancel-sign-sub-inv60.1%
fma-def60.1%
unpow260.1%
metadata-eval60.1%
Simplified60.1%
Taylor expanded in k around inf 59.4%
unpow259.4%
associate-*r*59.4%
associate-/l*60.0%
associate-/r/60.0%
associate-/r*60.7%
*-commutative60.7%
associate-/r*60.7%
distribute-rgt-out60.7%
metadata-eval60.7%
Simplified60.7%
Final simplification63.8%
(FPCore (t l k)
:precision binary64
(if (<= k 3.05e-133)
(/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k)))
(if (<= k 1.5e+94)
(/ (* l (/ l (pow t 3.0))) (* k k))
(* 2.0 (* (/ (/ (/ l k) t) k) (* l -0.16666666666666666))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 3.05e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 1.5e+94) {
tmp = (l * (l / pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.05d-133) then
tmp = (2.0d0 / (k * (k / l))) / (k / ((l / t) / k))
else if (k <= 1.5d+94) then
tmp = (l * (l / (t ** 3.0d0))) / (k * k)
else
tmp = 2.0d0 * ((((l / k) / t) / k) * (l * (-0.16666666666666666d0)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 3.05e-133) {
tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k));
} else if (k <= 1.5e+94) {
tmp = (l * (l / Math.pow(t, 3.0))) / (k * k);
} else {
tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 3.05e-133: tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)) elif k <= 1.5e+94: tmp = (l * (l / math.pow(t, 3.0))) / (k * k) else: tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666)) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 3.05e-133) tmp = Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))); elseif (k <= 1.5e+94) tmp = Float64(Float64(l * Float64(l / (t ^ 3.0))) / Float64(k * k)); else tmp = Float64(2.0 * Float64(Float64(Float64(Float64(l / k) / t) / k) * Float64(l * -0.16666666666666666))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 3.05e-133) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); elseif (k <= 1.5e+94) tmp = (l * (l / (t ^ 3.0))) / (k * k); else tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 3.05e-133], N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.5e+94], N[(N[(l * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] / k), $MachinePrecision] * N[(l * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 3.05 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}\\
\mathbf{elif}\;k \leq 1.5 \cdot 10^{+94}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{{t}^{3}}}{k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\frac{\ell}{k}}{t}}{k} \cdot \left(\ell \cdot -0.16666666666666666\right)\right)\\
\end{array}
\end{array}
if k < 3.0500000000000002e-133Initial program 52.1%
Taylor expanded in t around 0 60.3%
associate-*r*60.3%
unpow260.3%
associate-*l*60.3%
times-frac69.2%
unpow269.2%
Simplified69.2%
Taylor expanded in k around 0 60.3%
unpow260.3%
Simplified60.3%
div-inv60.3%
*-commutative60.3%
associate-/l*60.3%
associate-/l*61.5%
Applied egg-rr61.5%
associate-*r/61.5%
metadata-eval61.5%
associate-/r*61.5%
associate-/r/61.5%
associate-/l*63.7%
Simplified63.7%
if 3.0500000000000002e-133 < k < 1.5e94Initial program 61.9%
associate-/r*61.9%
associate-*l*61.9%
sqr-neg61.9%
associate-*l*61.9%
*-commutative61.9%
sqr-neg61.9%
associate-*l/61.9%
associate-*r/62.0%
associate-/r/59.4%
Simplified59.4%
Taylor expanded in k around 0 64.7%
unpow264.7%
times-frac67.2%
unpow267.2%
Simplified67.2%
associate-*l/67.5%
Applied egg-rr67.5%
if 1.5e94 < k Initial program 49.0%
associate-/r*49.0%
associate-*l*49.0%
sqr-neg49.0%
associate-*l*49.0%
*-commutative49.0%
sqr-neg49.0%
associate-*l/49.0%
associate-*r/49.0%
associate-/r/49.1%
Simplified49.1%
Taylor expanded in k around inf 78.8%
unpow278.8%
associate-*l*78.7%
associate-*r*78.7%
times-frac81.7%
unpow281.7%
Simplified81.7%
Taylor expanded in k around 0 60.1%
cancel-sign-sub-inv60.1%
fma-def60.1%
unpow260.1%
metadata-eval60.1%
Simplified60.1%
Taylor expanded in k around inf 59.4%
unpow259.4%
associate-*r*59.4%
associate-/l*60.0%
associate-/r/60.0%
associate-/r*60.7%
*-commutative60.7%
associate-/r*60.7%
distribute-rgt-out60.7%
metadata-eval60.7%
Simplified60.7%
Final simplification63.8%
(FPCore (t l k) :precision binary64 (* 2.0 (* (/ l (* k k)) (/ l (* t (* k k))))))
double code(double t, double l, double k) {
return 2.0 * ((l / (k * k)) * (l / (t * (k * k))));
}
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 * ((l / (k * k)) * (l / (t * (k * k))))
end function
public static double code(double t, double l, double k) {
return 2.0 * ((l / (k * k)) * (l / (t * (k * k))));
}
def code(t, l, k): return 2.0 * ((l / (k * k)) * (l / (t * (k * k))))
function code(t, l, k) return Float64(2.0 * Float64(Float64(l / Float64(k * k)) * Float64(l / Float64(t * Float64(k * k))))) end
function tmp = code(t, l, k) tmp = 2.0 * ((l / (k * k)) * (l / (t * (k * k)))); end
code[t_, l_, k_] := N[(2.0 * N[(N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(l / N[(t * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \left(\frac{\ell}{k \cdot k} \cdot \frac{\ell}{t \cdot \left(k \cdot k\right)}\right)
\end{array}
Initial program 53.1%
associate-/r*52.7%
associate-*l*50.2%
sqr-neg50.2%
associate-*l*52.7%
*-commutative52.7%
sqr-neg52.7%
associate-*l/53.1%
associate-*r/53.1%
associate-/r/52.7%
Simplified52.7%
Taylor expanded in k around inf 62.9%
unpow262.9%
associate-*l*62.8%
associate-*r*62.8%
times-frac71.0%
unpow271.0%
Simplified71.0%
Taylor expanded in k around 0 60.2%
unpow260.2%
Simplified60.2%
Final simplification60.2%
(FPCore (t l k) :precision binary64 (/ (/ 2.0 (* k (/ k l))) (/ k (/ (/ l t) k))))
double code(double t, double l, double k) {
return (2.0 / (k * (k / l))) / (k / ((l / t) / k));
}
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 / (k * (k / l))) / (k / ((l / t) / k))
end function
public static double code(double t, double l, double k) {
return (2.0 / (k * (k / l))) / (k / ((l / t) / k));
}
def code(t, l, k): return (2.0 / (k * (k / l))) / (k / ((l / t) / k))
function code(t, l, k) return Float64(Float64(2.0 / Float64(k * Float64(k / l))) / Float64(k / Float64(Float64(l / t) / k))) end
function tmp = code(t, l, k) tmp = (2.0 / (k * (k / l))) / (k / ((l / t) / k)); end
code[t_, l_, k_] := N[(N[(2.0 / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k / N[(N[(l / t), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{\frac{2}{k \cdot \frac{k}{\ell}}}{\frac{k}{\frac{\frac{\ell}{t}}{k}}}
\end{array}
Initial program 53.1%
Taylor expanded in t around 0 63.0%
associate-*r*63.0%
unpow263.0%
associate-*l*63.0%
times-frac71.2%
unpow271.2%
Simplified71.2%
Taylor expanded in k around 0 60.2%
unpow260.2%
Simplified60.2%
div-inv60.2%
*-commutative60.2%
associate-/l*60.1%
associate-/l*60.6%
Applied egg-rr60.6%
associate-*r/60.6%
metadata-eval60.6%
associate-/r*60.6%
associate-/r/60.6%
associate-/l*62.2%
Simplified62.2%
Final simplification62.2%
(FPCore (t l k) :precision binary64 (* 2.0 (* (/ l (* k k)) (/ (* l -0.16666666666666666) t))))
double code(double t, double l, double k) {
return 2.0 * ((l / (k * k)) * ((l * -0.16666666666666666) / t));
}
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 * ((l / (k * k)) * ((l * (-0.16666666666666666d0)) / t))
end function
public static double code(double t, double l, double k) {
return 2.0 * ((l / (k * k)) * ((l * -0.16666666666666666) / t));
}
def code(t, l, k): return 2.0 * ((l / (k * k)) * ((l * -0.16666666666666666) / t))
function code(t, l, k) return Float64(2.0 * Float64(Float64(l / Float64(k * k)) * Float64(Float64(l * -0.16666666666666666) / t))) end
function tmp = code(t, l, k) tmp = 2.0 * ((l / (k * k)) * ((l * -0.16666666666666666) / t)); end
code[t_, l_, k_] := N[(2.0 * N[(N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(N[(l * -0.16666666666666666), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \left(\frac{\ell}{k \cdot k} \cdot \frac{\ell \cdot -0.16666666666666666}{t}\right)
\end{array}
Initial program 53.1%
associate-/r*52.7%
associate-*l*50.2%
sqr-neg50.2%
associate-*l*52.7%
*-commutative52.7%
sqr-neg52.7%
associate-*l/53.1%
associate-*r/53.1%
associate-/r/52.7%
Simplified52.7%
Taylor expanded in k around inf 62.9%
unpow262.9%
associate-*l*62.8%
associate-*r*62.8%
times-frac71.0%
unpow271.0%
Simplified71.0%
Taylor expanded in k around 0 59.0%
cancel-sign-sub-inv59.0%
fma-def59.0%
unpow259.0%
metadata-eval59.0%
Simplified59.0%
Taylor expanded in k around inf 31.4%
times-frac31.6%
unpow231.6%
distribute-rgt-out31.6%
metadata-eval31.6%
Simplified31.6%
Final simplification31.6%
(FPCore (t l k) :precision binary64 (* 2.0 (* (/ (/ (/ l k) t) k) (* l -0.16666666666666666))))
double code(double t, double l, double k) {
return 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666));
}
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 * ((((l / k) / t) / k) * (l * (-0.16666666666666666d0)))
end function
public static double code(double t, double l, double k) {
return 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666));
}
def code(t, l, k): return 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666))
function code(t, l, k) return Float64(2.0 * Float64(Float64(Float64(Float64(l / k) / t) / k) * Float64(l * -0.16666666666666666))) end
function tmp = code(t, l, k) tmp = 2.0 * ((((l / k) / t) / k) * (l * -0.16666666666666666)); end
code[t_, l_, k_] := N[(2.0 * N[(N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] / k), $MachinePrecision] * N[(l * -0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \left(\frac{\frac{\frac{\ell}{k}}{t}}{k} \cdot \left(\ell \cdot -0.16666666666666666\right)\right)
\end{array}
Initial program 53.1%
associate-/r*52.7%
associate-*l*50.2%
sqr-neg50.2%
associate-*l*52.7%
*-commutative52.7%
sqr-neg52.7%
associate-*l/53.1%
associate-*r/53.1%
associate-/r/52.7%
Simplified52.7%
Taylor expanded in k around inf 62.9%
unpow262.9%
associate-*l*62.8%
associate-*r*62.8%
times-frac71.0%
unpow271.0%
Simplified71.0%
Taylor expanded in k around 0 59.0%
cancel-sign-sub-inv59.0%
fma-def59.0%
unpow259.0%
metadata-eval59.0%
Simplified59.0%
Taylor expanded in k around inf 31.4%
unpow231.4%
associate-*r*32.6%
associate-/l*34.0%
associate-/r/34.0%
associate-/r*34.0%
*-commutative34.0%
associate-/r*32.5%
distribute-rgt-out32.5%
metadata-eval32.5%
Simplified32.5%
Final simplification32.5%
herbie shell --seed 2023279
(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))))