
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 22 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
(FPCore (t l k)
:precision binary64
(let* ((t_1 (+ 2.0 (pow (/ k t) 2.0))))
(if (<= t -3.9e-8)
(/
(* (/ 2.0 (pow (* (* t (cbrt (sin k))) (cbrt (tan k))) 3.0)) (* l l))
t_1)
(if (<= t 7200.0)
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k))))
(/ (/ (/ 2.0 (tan k)) (* (sin k) (pow (/ (pow t 1.5) l) 2.0))) t_1)))))
double code(double t, double l, double k) {
double t_1 = 2.0 + pow((k / t), 2.0);
double tmp;
if (t <= -3.9e-8) {
tmp = ((2.0 / pow(((t * cbrt(sin(k))) * cbrt(tan(k))), 3.0)) * (l * l)) / t_1;
} else if (t <= 7200.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / cos(k)));
} else {
tmp = ((2.0 / tan(k)) / (sin(k) * pow((pow(t, 1.5) / l), 2.0))) / t_1;
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = 2.0 + Math.pow((k / t), 2.0);
double tmp;
if (t <= -3.9e-8) {
tmp = ((2.0 / Math.pow(((t * Math.cbrt(Math.sin(k))) * Math.cbrt(Math.tan(k))), 3.0)) * (l * l)) / t_1;
} else if (t <= 7200.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
} else {
tmp = ((2.0 / Math.tan(k)) / (Math.sin(k) * Math.pow((Math.pow(t, 1.5) / l), 2.0))) / t_1;
}
return tmp;
}
function code(t, l, k) t_1 = Float64(2.0 + (Float64(k / t) ^ 2.0)) tmp = 0.0 if (t <= -3.9e-8) tmp = Float64(Float64(Float64(2.0 / (Float64(Float64(t * cbrt(sin(k))) * cbrt(tan(k))) ^ 3.0)) * Float64(l * l)) / t_1); elseif (t <= 7200.0) tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / cos(k)))); else tmp = Float64(Float64(Float64(2.0 / tan(k)) / Float64(sin(k) * (Float64((t ^ 1.5) / l) ^ 2.0))) / t_1); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[(2.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -3.9e-8], N[(N[(N[(2.0 / N[Power[N[(N[(t * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[Tan[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] * N[(l * l), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision], If[LessEqual[t, 7200.0], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $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] / t$95$1), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 2 + {\left(\frac{k}{t}\right)}^{2}\\
\mathbf{if}\;t \leq -3.9 \cdot 10^{-8}:\\
\;\;\;\;\frac{\frac{2}{{\left(\left(t \cdot \sqrt[3]{\sin k}\right) \cdot \sqrt[3]{\tan k}\right)}^{3}} \cdot \left(\ell \cdot \ell\right)}{t_1}\\
\mathbf{elif}\;t \leq 7200:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{2}{\tan k}}{\sin k \cdot {\left(\frac{{t}^{1.5}}{\ell}\right)}^{2}}}{t_1}\\
\end{array}
\end{array}
if t < -3.89999999999999985e-8Initial program 60.1%
associate-/r*60.1%
associate-*l*55.1%
sqr-neg55.1%
associate-*l*60.1%
*-commutative60.1%
sqr-neg60.1%
associate-*l/60.0%
associate-*r/60.1%
associate-/r/60.1%
Simplified60.1%
add-cube-cbrt60.0%
pow360.0%
*-commutative60.0%
cbrt-prod60.0%
cbrt-prod59.9%
rem-cbrt-cube73.9%
Applied egg-rr73.9%
if -3.89999999999999985e-8 < t < 7200Initial program 40.2%
Taylor expanded in t around 0 75.9%
associate-*r*75.9%
unpow275.9%
associate-*l*75.9%
times-frac84.4%
unpow284.4%
Simplified84.4%
Taylor expanded in k around inf 75.9%
associate-*r*75.9%
unpow275.9%
associate-*r*81.6%
unpow281.6%
associate-*r*81.5%
times-frac90.7%
associate-*r*84.4%
unpow284.4%
associate-/l*87.3%
unpow287.3%
associate-/r*87.3%
Simplified87.3%
Taylor expanded in k around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*l/91.0%
associate-/r/91.0%
*-commutative91.0%
associate-/r/91.0%
Simplified91.0%
Taylor expanded in t around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*r/91.0%
associate-*l*96.5%
Simplified96.5%
if 7200 < t Initial program 59.0%
associate-/r*59.2%
associate-*l*52.9%
sqr-neg52.9%
associate-*l*59.2%
*-commutative59.2%
sqr-neg59.2%
associate-/r*59.2%
Simplified61.5%
associate-/r/59.2%
add-sqr-sqrt59.1%
pow259.1%
sqrt-div59.1%
sqrt-pow165.1%
metadata-eval65.1%
sqrt-prod34.7%
add-sqr-sqrt78.1%
Applied egg-rr78.1%
Final simplification86.9%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<=
(/
2.0
(*
(+ 1.0 (+ t_1 1.0))
(* (tan k) (* (sin k) (/ (pow t 3.0) (* l l))))))
5e+307)
(/ (/ (* l (/ 2.0 (* (tan k) (pow t 3.0)))) (/ (sin k) l)) (+ 2.0 t_1))
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k)))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double tmp;
if ((2.0 / ((1.0 + (t_1 + 1.0)) * (tan(k) * (sin(k) * (pow(t, 3.0) / (l * l)))))) <= 5e+307) {
tmp = ((l * (2.0 / (tan(k) * pow(t, 3.0)))) / (sin(k) / l)) / (2.0 + t_1);
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / 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 / ((1.0d0 + (t_1 + 1.0d0)) * (tan(k) * (sin(k) * ((t ** 3.0d0) / (l * l)))))) <= 5d+307) then
tmp = ((l * (2.0d0 / (tan(k) * (t ** 3.0d0)))) / (sin(k) / l)) / (2.0d0 + t_1)
else
tmp = 2.0d0 / ((k * (t * (k / l))) * (((sin(k) ** 2.0d0) / l) / 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 / ((1.0 + (t_1 + 1.0)) * (Math.tan(k) * (Math.sin(k) * (Math.pow(t, 3.0) / (l * l)))))) <= 5e+307) {
tmp = ((l * (2.0 / (Math.tan(k) * Math.pow(t, 3.0)))) / (Math.sin(k) / l)) / (2.0 + t_1);
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow((k / t), 2.0) tmp = 0 if (2.0 / ((1.0 + (t_1 + 1.0)) * (math.tan(k) * (math.sin(k) * (math.pow(t, 3.0) / (l * l)))))) <= 5e+307: tmp = ((l * (2.0 / (math.tan(k) * math.pow(t, 3.0)))) / (math.sin(k) / l)) / (2.0 + t_1) else: tmp = 2.0 / ((k * (t * (k / l))) * ((math.pow(math.sin(k), 2.0) / l) / 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(1.0 + Float64(t_1 + 1.0)) * Float64(tan(k) * Float64(sin(k) * Float64((t ^ 3.0) / Float64(l * l)))))) <= 5e+307) tmp = Float64(Float64(Float64(l * Float64(2.0 / Float64(tan(k) * (t ^ 3.0)))) / Float64(sin(k) / l)) / Float64(2.0 + t_1)); else tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / 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 / ((1.0 + (t_1 + 1.0)) * (tan(k) * (sin(k) * ((t ^ 3.0) / (l * l)))))) <= 5e+307) tmp = ((l * (2.0 / (tan(k) * (t ^ 3.0)))) / (sin(k) / l)) / (2.0 + t_1); else tmp = 2.0 / ((k * (t * (k / l))) * (((sin(k) ^ 2.0) / l) / 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[(1.0 + N[(t$95$1 + 1.0), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 5e+307], N[(N[(N[(l * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / N[(2.0 + t$95$1), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{k}{t}\right)}^{2}\\
\mathbf{if}\;\frac{2}{\left(1 + \left(t_1 + 1\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{{t}^{3}}{\ell \cdot \ell}\right)\right)} \leq 5 \cdot 10^{+307}:\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{2}{\tan k \cdot {t}^{3}}}{\frac{\sin k}{\ell}}}{2 + t_1}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\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))) < 5e307Initial program 76.0%
associate-/r*76.1%
associate-*l*70.7%
sqr-neg70.7%
associate-*l*76.1%
*-commutative76.1%
sqr-neg76.1%
associate-/r*76.1%
Simplified76.5%
div-inv76.5%
associate-/r/75.6%
Applied egg-rr75.6%
associate-*r/75.6%
*-rgt-identity75.6%
*-commutative75.6%
associate-/l*77.8%
associate-/l/77.8%
Simplified77.8%
associate-*l/80.5%
Applied egg-rr80.5%
if 5e307 < (/.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 22.2%
Taylor expanded in t around 0 59.1%
associate-*r*59.2%
unpow259.2%
associate-*l*59.1%
times-frac69.1%
unpow269.1%
Simplified69.1%
Taylor expanded in k around inf 59.1%
associate-*r*59.2%
unpow259.2%
associate-*r*65.2%
unpow265.2%
associate-*r*65.2%
times-frac75.9%
associate-*r*69.1%
unpow269.1%
associate-/l*72.1%
unpow272.1%
associate-/r*72.1%
Simplified72.1%
Taylor expanded in k around 0 69.1%
associate-*l/72.2%
unpow272.2%
associate-*l/78.3%
associate-/r/78.3%
*-commutative78.3%
associate-/r/78.3%
Simplified78.3%
Taylor expanded in t around 0 69.1%
associate-*l/72.2%
unpow272.2%
associate-*r/78.3%
associate-*l*83.5%
Simplified83.5%
Final simplification82.0%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)) (t_2 (+ 2.0 t_1)))
(if (<= t -2.95e-10)
(/
2.0
(*
(+ 1.0 (+ t_1 1.0))
(* (tan k) (* (sin k) (/ 1.0 (/ l (/ (pow t 3.0) l)))))))
(if (<= t 10800.0)
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k))))
(if (<= t 5.5e+102)
(/ (/ (* l (/ 2.0 (* (tan k) (pow t 3.0)))) (/ (sin k) l)) t_2)
(/
2.0
(* t_2 (* (sin k) (* (tan k) (pow (/ (pow t 1.5) l) 2.0))))))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double t_2 = 2.0 + t_1;
double tmp;
if (t <= -2.95e-10) {
tmp = 2.0 / ((1.0 + (t_1 + 1.0)) * (tan(k) * (sin(k) * (1.0 / (l / (pow(t, 3.0) / l))))));
} else if (t <= 10800.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / cos(k)));
} else if (t <= 5.5e+102) {
tmp = ((l * (2.0 / (tan(k) * pow(t, 3.0)))) / (sin(k) / l)) / t_2;
} else {
tmp = 2.0 / (t_2 * (sin(k) * (tan(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) :: t_2
real(8) :: tmp
t_1 = (k / t) ** 2.0d0
t_2 = 2.0d0 + t_1
if (t <= (-2.95d-10)) then
tmp = 2.0d0 / ((1.0d0 + (t_1 + 1.0d0)) * (tan(k) * (sin(k) * (1.0d0 / (l / ((t ** 3.0d0) / l))))))
else if (t <= 10800.0d0) then
tmp = 2.0d0 / ((k * (t * (k / l))) * (((sin(k) ** 2.0d0) / l) / cos(k)))
else if (t <= 5.5d+102) then
tmp = ((l * (2.0d0 / (tan(k) * (t ** 3.0d0)))) / (sin(k) / l)) / t_2
else
tmp = 2.0d0 / (t_2 * (sin(k) * (tan(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 = Math.pow((k / t), 2.0);
double t_2 = 2.0 + t_1;
double tmp;
if (t <= -2.95e-10) {
tmp = 2.0 / ((1.0 + (t_1 + 1.0)) * (Math.tan(k) * (Math.sin(k) * (1.0 / (l / (Math.pow(t, 3.0) / l))))));
} else if (t <= 10800.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
} else if (t <= 5.5e+102) {
tmp = ((l * (2.0 / (Math.tan(k) * Math.pow(t, 3.0)))) / (Math.sin(k) / l)) / t_2;
} else {
tmp = 2.0 / (t_2 * (Math.sin(k) * (Math.tan(k) * Math.pow((Math.pow(t, 1.5) / l), 2.0))));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow((k / t), 2.0) t_2 = 2.0 + t_1 tmp = 0 if t <= -2.95e-10: tmp = 2.0 / ((1.0 + (t_1 + 1.0)) * (math.tan(k) * (math.sin(k) * (1.0 / (l / (math.pow(t, 3.0) / l)))))) elif t <= 10800.0: tmp = 2.0 / ((k * (t * (k / l))) * ((math.pow(math.sin(k), 2.0) / l) / math.cos(k))) elif t <= 5.5e+102: tmp = ((l * (2.0 / (math.tan(k) * math.pow(t, 3.0)))) / (math.sin(k) / l)) / t_2 else: tmp = 2.0 / (t_2 * (math.sin(k) * (math.tan(k) * math.pow((math.pow(t, 1.5) / l), 2.0)))) return tmp
function code(t, l, k) t_1 = Float64(k / t) ^ 2.0 t_2 = Float64(2.0 + t_1) tmp = 0.0 if (t <= -2.95e-10) tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(t_1 + 1.0)) * Float64(tan(k) * Float64(sin(k) * Float64(1.0 / Float64(l / Float64((t ^ 3.0) / l))))))); elseif (t <= 10800.0) tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / cos(k)))); elseif (t <= 5.5e+102) tmp = Float64(Float64(Float64(l * Float64(2.0 / Float64(tan(k) * (t ^ 3.0)))) / Float64(sin(k) / l)) / t_2); else tmp = Float64(2.0 / Float64(t_2 * Float64(sin(k) * Float64(tan(k) * (Float64((t ^ 1.5) / l) ^ 2.0))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (k / t) ^ 2.0; t_2 = 2.0 + t_1; tmp = 0.0; if (t <= -2.95e-10) tmp = 2.0 / ((1.0 + (t_1 + 1.0)) * (tan(k) * (sin(k) * (1.0 / (l / ((t ^ 3.0) / l)))))); elseif (t <= 10800.0) tmp = 2.0 / ((k * (t * (k / l))) * (((sin(k) ^ 2.0) / l) / cos(k))); elseif (t <= 5.5e+102) tmp = ((l * (2.0 / (tan(k) * (t ^ 3.0)))) / (sin(k) / l)) / t_2; else tmp = 2.0 / (t_2 * (sin(k) * (tan(k) * (((t ^ 1.5) / l) ^ 2.0)))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$2 = N[(2.0 + t$95$1), $MachinePrecision]}, If[LessEqual[t, -2.95e-10], N[(2.0 / N[(N[(1.0 + N[(t$95$1 + 1.0), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(1.0 / N[(l / N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 10800.0], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5.5e+102], N[(N[(N[(l * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision], N[(2.0 / N[(t$95$2 * N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[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 := {\left(\frac{k}{t}\right)}^{2}\\
t_2 := 2 + t_1\\
\mathbf{if}\;t \leq -2.95 \cdot 10^{-10}:\\
\;\;\;\;\frac{2}{\left(1 + \left(t_1 + 1\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{1}{\frac{\ell}{\frac{{t}^{3}}{\ell}}}\right)\right)}\\
\mathbf{elif}\;t \leq 10800:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\mathbf{elif}\;t \leq 5.5 \cdot 10^{+102}:\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{2}{\tan k \cdot {t}^{3}}}{\frac{\sin k}{\ell}}}{t_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_2 \cdot \left(\sin k \cdot \left(\tan k \cdot {\left(\frac{{t}^{1.5}}{\ell}\right)}^{2}\right)\right)}\\
\end{array}
\end{array}
if t < -2.9500000000000002e-10Initial program 60.1%
clear-num60.1%
inv-pow60.1%
Applied egg-rr60.1%
unpow-160.1%
associate-/l*63.0%
Simplified63.0%
if -2.9500000000000002e-10 < t < 10800Initial program 40.2%
Taylor expanded in t around 0 75.9%
associate-*r*75.9%
unpow275.9%
associate-*l*75.9%
times-frac84.4%
unpow284.4%
Simplified84.4%
Taylor expanded in k around inf 75.9%
associate-*r*75.9%
unpow275.9%
associate-*r*81.6%
unpow281.6%
associate-*r*81.5%
times-frac90.7%
associate-*r*84.4%
unpow284.4%
associate-/l*87.3%
unpow287.3%
associate-/r*87.3%
Simplified87.3%
Taylor expanded in k around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*l/91.0%
associate-/r/91.0%
*-commutative91.0%
associate-/r/91.0%
Simplified91.0%
Taylor expanded in t around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*r/91.0%
associate-*l*96.5%
Simplified96.5%
if 10800 < t < 5.49999999999999981e102Initial program 69.8%
associate-/r*70.3%
associate-*l*70.2%
sqr-neg70.2%
associate-*l*70.3%
*-commutative70.3%
sqr-neg70.3%
associate-/r*70.3%
Simplified76.6%
div-inv76.6%
associate-/r/76.6%
Applied egg-rr76.6%
associate-*r/76.6%
*-rgt-identity76.6%
*-commutative76.6%
associate-/l*79.3%
associate-/l/79.4%
Simplified79.4%
associate-*l/92.2%
Applied egg-rr92.2%
if 5.49999999999999981e102 < t Initial program 52.1%
associate-/r*52.1%
associate-*l*41.9%
sqr-neg41.9%
associate-*l*52.1%
*-commutative52.1%
sqr-neg52.1%
associate-/r*52.1%
Simplified51.9%
associate-/r/52.1%
add-sqr-sqrt52.1%
pow252.1%
sqrt-div52.1%
sqrt-pow161.8%
metadata-eval61.8%
sqrt-prod34.5%
add-sqr-sqrt78.6%
Applied egg-rr78.6%
div-inv78.6%
associate-/l/78.7%
*-commutative78.7%
Applied egg-rr78.7%
associate-*r/78.7%
*-rgt-identity78.7%
associate-/l/78.7%
associate-*l*78.7%
Simplified78.7%
Final simplification86.2%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<= t -2.2e-12)
(/
2.0
(*
(* (tan k) (pow (/ t (cbrt (/ (* l l) (sin k)))) 3.0))
(+ 1.0 (+ t_1 1.0))))
(if (<= t 5800.0)
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (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 <= -2.2e-12) {
tmp = 2.0 / ((tan(k) * pow((t / cbrt(((l * l) / sin(k)))), 3.0)) * (1.0 + (t_1 + 1.0)));
} else if (t <= 5800.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / cos(k)));
} else {
tmp = ((2.0 / tan(k)) / (sin(k) * pow((pow(t, 1.5) / l), 2.0))) / (2.0 + t_1);
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double tmp;
if (t <= -2.2e-12) {
tmp = 2.0 / ((Math.tan(k) * Math.pow((t / Math.cbrt(((l * l) / Math.sin(k)))), 3.0)) * (1.0 + (t_1 + 1.0)));
} else if (t <= 5800.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / 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 <= -2.2e-12) tmp = Float64(2.0 / Float64(Float64(tan(k) * (Float64(t / cbrt(Float64(Float64(l * l) / sin(k)))) ^ 3.0)) * Float64(1.0 + Float64(t_1 + 1.0)))); elseif (t <= 5800.0) tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / 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
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[t, -2.2e-12], N[(2.0 / N[(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] * N[(1.0 + N[(t$95$1 + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5800.0], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $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 -2.2 \cdot 10^{-12}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot {\left(\frac{t}{\sqrt[3]{\frac{\ell \cdot \ell}{\sin k}}}\right)}^{3}\right) \cdot \left(1 + \left(t_1 + 1\right)\right)}\\
\mathbf{elif}\;t \leq 5800:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\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 < -2.19999999999999992e-12Initial program 60.1%
associate-/r/58.2%
add-cube-cbrt58.1%
pow358.1%
cbrt-div58.0%
rem-cbrt-cube65.7%
Applied egg-rr65.7%
if -2.19999999999999992e-12 < t < 5800Initial program 40.2%
Taylor expanded in t around 0 75.9%
associate-*r*75.9%
unpow275.9%
associate-*l*75.9%
times-frac84.4%
unpow284.4%
Simplified84.4%
Taylor expanded in k around inf 75.9%
associate-*r*75.9%
unpow275.9%
associate-*r*81.6%
unpow281.6%
associate-*r*81.5%
times-frac90.7%
associate-*r*84.4%
unpow284.4%
associate-/l*87.3%
unpow287.3%
associate-/r*87.3%
Simplified87.3%
Taylor expanded in k around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*l/91.0%
associate-/r/91.0%
*-commutative91.0%
associate-/r/91.0%
Simplified91.0%
Taylor expanded in t around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*r/91.0%
associate-*l*96.5%
Simplified96.5%
if 5800 < t Initial program 59.0%
associate-/r*59.2%
associate-*l*52.9%
sqr-neg52.9%
associate-*l*59.2%
*-commutative59.2%
sqr-neg59.2%
associate-/r*59.2%
Simplified61.5%
associate-/r/59.2%
add-sqr-sqrt59.1%
pow259.1%
sqrt-div59.1%
sqrt-pow165.1%
metadata-eval65.1%
sqrt-prod34.7%
add-sqr-sqrt78.1%
Applied egg-rr78.1%
Final simplification85.2%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<= t -1.6e-11)
(/
2.0
(*
(pow (/ t (cbrt (/ (* l l) (sin k)))) 3.0)
(* (tan k) (+ 1.0 (+ t_1 1.0)))))
(if (<= t 4800.0)
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (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.6e-11) {
tmp = 2.0 / (pow((t / cbrt(((l * l) / sin(k)))), 3.0) * (tan(k) * (1.0 + (t_1 + 1.0))));
} else if (t <= 4800.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / cos(k)));
} else {
tmp = ((2.0 / tan(k)) / (sin(k) * pow((pow(t, 1.5) / l), 2.0))) / (2.0 + t_1);
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double tmp;
if (t <= -1.6e-11) {
tmp = 2.0 / (Math.pow((t / Math.cbrt(((l * l) / Math.sin(k)))), 3.0) * (Math.tan(k) * (1.0 + (t_1 + 1.0))));
} else if (t <= 4800.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / 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.6e-11) tmp = Float64(2.0 / Float64((Float64(t / cbrt(Float64(Float64(l * l) / sin(k)))) ^ 3.0) * Float64(tan(k) * Float64(1.0 + Float64(t_1 + 1.0))))); elseif (t <= 4800.0) tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / 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
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[t, -1.6e-11], N[(2.0 / N[(N[Power[N[(t / N[Power[N[(N[(l * l), $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(t$95$1 + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4800.0], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $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.6 \cdot 10^{-11}:\\
\;\;\;\;\frac{2}{{\left(\frac{t}{\sqrt[3]{\frac{\ell \cdot \ell}{\sin k}}}\right)}^{3} \cdot \left(\tan k \cdot \left(1 + \left(t_1 + 1\right)\right)\right)}\\
\mathbf{elif}\;t \leq 4800:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\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.59999999999999997e-11Initial program 60.1%
associate-/r/58.2%
add-cube-cbrt58.1%
pow358.1%
cbrt-div58.0%
rem-cbrt-cube65.7%
Applied egg-rr65.7%
distribute-lft-in65.7%
*-commutative65.7%
associate-/l*65.7%
associate-/r/65.7%
+-commutative65.7%
Applied egg-rr65.7%
distribute-lft-out65.7%
*-commutative65.7%
+-commutative65.7%
associate-*r*65.7%
associate-*l/65.7%
+-commutative65.7%
Simplified65.7%
if -1.59999999999999997e-11 < t < 4800Initial program 40.2%
Taylor expanded in t around 0 75.9%
associate-*r*75.9%
unpow275.9%
associate-*l*75.9%
times-frac84.4%
unpow284.4%
Simplified84.4%
Taylor expanded in k around inf 75.9%
associate-*r*75.9%
unpow275.9%
associate-*r*81.6%
unpow281.6%
associate-*r*81.5%
times-frac90.7%
associate-*r*84.4%
unpow284.4%
associate-/l*87.3%
unpow287.3%
associate-/r*87.3%
Simplified87.3%
Taylor expanded in k around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*l/91.0%
associate-/r/91.0%
*-commutative91.0%
associate-/r/91.0%
Simplified91.0%
Taylor expanded in t around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*r/91.0%
associate-*l*96.5%
Simplified96.5%
if 4800 < t Initial program 59.0%
associate-/r*59.2%
associate-*l*52.9%
sqr-neg52.9%
associate-*l*59.2%
*-commutative59.2%
sqr-neg59.2%
associate-/r*59.2%
Simplified61.5%
associate-/r/59.2%
add-sqr-sqrt59.1%
pow259.1%
sqrt-div59.1%
sqrt-pow165.1%
metadata-eval65.1%
sqrt-prod34.7%
add-sqr-sqrt78.1%
Applied egg-rr78.1%
Final simplification85.2%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<= t -1.3e-12)
(/
2.0
(*
(+ 1.0 (+ t_1 1.0))
(* (tan k) (* (sin k) (/ 1.0 (/ l (/ (pow t 3.0) l)))))))
(if (<= t 24000.0)
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (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.3e-12) {
tmp = 2.0 / ((1.0 + (t_1 + 1.0)) * (tan(k) * (sin(k) * (1.0 / (l / (pow(t, 3.0) / l))))));
} else if (t <= 24000.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / 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.3d-12)) then
tmp = 2.0d0 / ((1.0d0 + (t_1 + 1.0d0)) * (tan(k) * (sin(k) * (1.0d0 / (l / ((t ** 3.0d0) / l))))))
else if (t <= 24000.0d0) then
tmp = 2.0d0 / ((k * (t * (k / l))) * (((sin(k) ** 2.0d0) / l) / 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.3e-12) {
tmp = 2.0 / ((1.0 + (t_1 + 1.0)) * (Math.tan(k) * (Math.sin(k) * (1.0 / (l / (Math.pow(t, 3.0) / l))))));
} else if (t <= 24000.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / 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.3e-12: tmp = 2.0 / ((1.0 + (t_1 + 1.0)) * (math.tan(k) * (math.sin(k) * (1.0 / (l / (math.pow(t, 3.0) / l)))))) elif t <= 24000.0: tmp = 2.0 / ((k * (t * (k / l))) * ((math.pow(math.sin(k), 2.0) / l) / 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.3e-12) tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(t_1 + 1.0)) * Float64(tan(k) * Float64(sin(k) * Float64(1.0 / Float64(l / Float64((t ^ 3.0) / l))))))); elseif (t <= 24000.0) tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / 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.3e-12) tmp = 2.0 / ((1.0 + (t_1 + 1.0)) * (tan(k) * (sin(k) * (1.0 / (l / ((t ^ 3.0) / l)))))); elseif (t <= 24000.0) tmp = 2.0 / ((k * (t * (k / l))) * (((sin(k) ^ 2.0) / l) / 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.3e-12], N[(2.0 / N[(N[(1.0 + N[(t$95$1 + 1.0), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(1.0 / N[(l / N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 24000.0], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $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.3 \cdot 10^{-12}:\\
\;\;\;\;\frac{2}{\left(1 + \left(t_1 + 1\right)\right) \cdot \left(\tan k \cdot \left(\sin k \cdot \frac{1}{\frac{\ell}{\frac{{t}^{3}}{\ell}}}\right)\right)}\\
\mathbf{elif}\;t \leq 24000:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\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.29999999999999991e-12Initial program 60.1%
clear-num60.1%
inv-pow60.1%
Applied egg-rr60.1%
unpow-160.1%
associate-/l*63.0%
Simplified63.0%
if -1.29999999999999991e-12 < t < 24000Initial program 40.2%
Taylor expanded in t around 0 75.9%
associate-*r*75.9%
unpow275.9%
associate-*l*75.9%
times-frac84.4%
unpow284.4%
Simplified84.4%
Taylor expanded in k around inf 75.9%
associate-*r*75.9%
unpow275.9%
associate-*r*81.6%
unpow281.6%
associate-*r*81.5%
times-frac90.7%
associate-*r*84.4%
unpow284.4%
associate-/l*87.3%
unpow287.3%
associate-/r*87.3%
Simplified87.3%
Taylor expanded in k around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*l/91.0%
associate-/r/91.0%
*-commutative91.0%
associate-/r/91.0%
Simplified91.0%
Taylor expanded in t around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*r/91.0%
associate-*l*96.5%
Simplified96.5%
if 24000 < t Initial program 59.0%
associate-/r*59.2%
associate-*l*52.9%
sqr-neg52.9%
associate-*l*59.2%
*-commutative59.2%
sqr-neg59.2%
associate-/r*59.2%
Simplified61.5%
associate-/r/59.2%
add-sqr-sqrt59.1%
pow259.1%
sqrt-div59.1%
sqrt-pow165.1%
metadata-eval65.1%
sqrt-prod34.7%
add-sqr-sqrt78.1%
Applied egg-rr78.1%
Final simplification84.6%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (+ 2.0 (pow (/ k t) 2.0))) (t_2 (/ 2.0 (tan k))))
(if (<= t -4.4e-13)
(/ (* t_2 (/ (* l l) (pow (* t (cbrt (sin k))) 3.0))) t_1)
(if (<= t 4500.0)
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k))))
(/ (/ t_2 (* (sin k) (pow (/ (pow t 1.5) l) 2.0))) t_1)))))
double code(double t, double l, double k) {
double t_1 = 2.0 + pow((k / t), 2.0);
double t_2 = 2.0 / tan(k);
double tmp;
if (t <= -4.4e-13) {
tmp = (t_2 * ((l * l) / pow((t * cbrt(sin(k))), 3.0))) / t_1;
} else if (t <= 4500.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / cos(k)));
} else {
tmp = (t_2 / (sin(k) * pow((pow(t, 1.5) / l), 2.0))) / t_1;
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = 2.0 + Math.pow((k / t), 2.0);
double t_2 = 2.0 / Math.tan(k);
double tmp;
if (t <= -4.4e-13) {
tmp = (t_2 * ((l * l) / Math.pow((t * Math.cbrt(Math.sin(k))), 3.0))) / t_1;
} else if (t <= 4500.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
} else {
tmp = (t_2 / (Math.sin(k) * Math.pow((Math.pow(t, 1.5) / l), 2.0))) / t_1;
}
return tmp;
}
function code(t, l, k) t_1 = Float64(2.0 + (Float64(k / t) ^ 2.0)) t_2 = Float64(2.0 / tan(k)) tmp = 0.0 if (t <= -4.4e-13) tmp = Float64(Float64(t_2 * Float64(Float64(l * l) / (Float64(t * cbrt(sin(k))) ^ 3.0))) / t_1); elseif (t <= 4500.0) tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / cos(k)))); else tmp = Float64(Float64(t_2 / Float64(sin(k) * (Float64((t ^ 1.5) / l) ^ 2.0))) / t_1); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[(2.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.4e-13], N[(N[(t$95$2 * N[(N[(l * l), $MachinePrecision] / N[Power[N[(t * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision], If[LessEqual[t, 4500.0], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(t$95$2 / N[(N[Sin[k], $MachinePrecision] * N[Power[N[(N[Power[t, 1.5], $MachinePrecision] / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 2 + {\left(\frac{k}{t}\right)}^{2}\\
t_2 := \frac{2}{\tan k}\\
\mathbf{if}\;t \leq -4.4 \cdot 10^{-13}:\\
\;\;\;\;\frac{t_2 \cdot \frac{\ell \cdot \ell}{{\left(t \cdot \sqrt[3]{\sin k}\right)}^{3}}}{t_1}\\
\mathbf{elif}\;t \leq 4500:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{t_2}{\sin k \cdot {\left(\frac{{t}^{1.5}}{\ell}\right)}^{2}}}{t_1}\\
\end{array}
\end{array}
if t < -4.39999999999999993e-13Initial program 60.1%
associate-/r*60.1%
associate-*l*55.1%
sqr-neg55.1%
associate-*l*60.1%
*-commutative60.1%
sqr-neg60.1%
associate-*l/60.0%
associate-*r/60.1%
associate-/r/60.1%
Simplified60.1%
add-cube-cbrt60.0%
pow360.0%
cbrt-prod60.0%
rem-cbrt-cube65.5%
Applied egg-rr65.5%
associate-*l/65.5%
Applied egg-rr65.5%
unpow265.5%
times-frac65.5%
unpow265.5%
Simplified65.5%
if -4.39999999999999993e-13 < t < 4500Initial program 40.2%
Taylor expanded in t around 0 75.9%
associate-*r*75.9%
unpow275.9%
associate-*l*75.9%
times-frac84.4%
unpow284.4%
Simplified84.4%
Taylor expanded in k around inf 75.9%
associate-*r*75.9%
unpow275.9%
associate-*r*81.6%
unpow281.6%
associate-*r*81.5%
times-frac90.7%
associate-*r*84.4%
unpow284.4%
associate-/l*87.3%
unpow287.3%
associate-/r*87.3%
Simplified87.3%
Taylor expanded in k around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*l/91.0%
associate-/r/91.0%
*-commutative91.0%
associate-/r/91.0%
Simplified91.0%
Taylor expanded in t around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*r/91.0%
associate-*l*96.5%
Simplified96.5%
if 4500 < t Initial program 59.0%
associate-/r*59.2%
associate-*l*52.9%
sqr-neg52.9%
associate-*l*59.2%
*-commutative59.2%
sqr-neg59.2%
associate-/r*59.2%
Simplified61.5%
associate-/r/59.2%
add-sqr-sqrt59.1%
pow259.1%
sqrt-div59.1%
sqrt-pow165.1%
metadata-eval65.1%
sqrt-prod34.7%
add-sqr-sqrt78.1%
Applied egg-rr78.1%
Final simplification85.2%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (+ 2.0 (pow (/ k t) 2.0))))
(if (<= t -3.45e-13)
(/ (* (* l l) (/ 2.0 (* (tan k) (pow (* t (cbrt (sin k))) 3.0)))) t_1)
(if (<= t 6400.0)
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k))))
(/ (/ (/ 2.0 (tan k)) (* (sin k) (pow (/ (pow t 1.5) l) 2.0))) t_1)))))
double code(double t, double l, double k) {
double t_1 = 2.0 + pow((k / t), 2.0);
double tmp;
if (t <= -3.45e-13) {
tmp = ((l * l) * (2.0 / (tan(k) * pow((t * cbrt(sin(k))), 3.0)))) / t_1;
} else if (t <= 6400.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / cos(k)));
} else {
tmp = ((2.0 / tan(k)) / (sin(k) * pow((pow(t, 1.5) / l), 2.0))) / t_1;
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = 2.0 + Math.pow((k / t), 2.0);
double tmp;
if (t <= -3.45e-13) {
tmp = ((l * l) * (2.0 / (Math.tan(k) * Math.pow((t * Math.cbrt(Math.sin(k))), 3.0)))) / t_1;
} else if (t <= 6400.0) {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
} else {
tmp = ((2.0 / Math.tan(k)) / (Math.sin(k) * Math.pow((Math.pow(t, 1.5) / l), 2.0))) / t_1;
}
return tmp;
}
function code(t, l, k) t_1 = Float64(2.0 + (Float64(k / t) ^ 2.0)) tmp = 0.0 if (t <= -3.45e-13) tmp = Float64(Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * (Float64(t * cbrt(sin(k))) ^ 3.0)))) / t_1); elseif (t <= 6400.0) tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / cos(k)))); else tmp = Float64(Float64(Float64(2.0 / tan(k)) / Float64(sin(k) * (Float64((t ^ 1.5) / l) ^ 2.0))) / t_1); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[(2.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -3.45e-13], N[(N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[N[(t * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision], If[LessEqual[t, 6400.0], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $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] / t$95$1), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 2 + {\left(\frac{k}{t}\right)}^{2}\\
\mathbf{if}\;t \leq -3.45 \cdot 10^{-13}:\\
\;\;\;\;\frac{\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot {\left(t \cdot \sqrt[3]{\sin k}\right)}^{3}}}{t_1}\\
\mathbf{elif}\;t \leq 6400:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{2}{\tan k}}{\sin k \cdot {\left(\frac{{t}^{1.5}}{\ell}\right)}^{2}}}{t_1}\\
\end{array}
\end{array}
if t < -3.44999999999999994e-13Initial program 60.1%
associate-/r*60.1%
associate-*l*55.1%
sqr-neg55.1%
associate-*l*60.1%
*-commutative60.1%
sqr-neg60.1%
associate-*l/60.0%
associate-*r/60.1%
associate-/r/60.1%
Simplified60.1%
add-cube-cbrt60.0%
pow360.0%
cbrt-prod60.0%
rem-cbrt-cube65.5%
Applied egg-rr65.5%
if -3.44999999999999994e-13 < t < 6400Initial program 40.2%
Taylor expanded in t around 0 75.9%
associate-*r*75.9%
unpow275.9%
associate-*l*75.9%
times-frac84.4%
unpow284.4%
Simplified84.4%
Taylor expanded in k around inf 75.9%
associate-*r*75.9%
unpow275.9%
associate-*r*81.6%
unpow281.6%
associate-*r*81.5%
times-frac90.7%
associate-*r*84.4%
unpow284.4%
associate-/l*87.3%
unpow287.3%
associate-/r*87.3%
Simplified87.3%
Taylor expanded in k around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*l/91.0%
associate-/r/91.0%
*-commutative91.0%
associate-/r/91.0%
Simplified91.0%
Taylor expanded in t around 0 84.4%
associate-*l/86.7%
unpow286.7%
associate-*r/91.0%
associate-*l*96.5%
Simplified96.5%
if 6400 < t Initial program 59.0%
associate-/r*59.2%
associate-*l*52.9%
sqr-neg52.9%
associate-*l*59.2%
*-commutative59.2%
sqr-neg59.2%
associate-/r*59.2%
Simplified61.5%
associate-/r/59.2%
add-sqr-sqrt59.1%
pow259.1%
sqrt-div59.1%
sqrt-pow165.1%
metadata-eval65.1%
sqrt-prod34.7%
add-sqr-sqrt78.1%
Applied egg-rr78.1%
Final simplification85.2%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)))
(if (<= (* l l) 0.0)
(/ 2.0 (* (/ (* k k) l) (* (* k k) (/ 1.0 (/ l t)))))
(if (<= (* l l) 1e+134)
(* (* l l) (* (cos k) (/ (/ 2.0 t_1) (* k (* t k)))))
(* 2.0 (* (/ (/ l k) k) (/ (* l (cos k)) (* t t_1))))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double tmp;
if ((l * l) <= 0.0) {
tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t))));
} else if ((l * l) <= 1e+134) {
tmp = (l * l) * (cos(k) * ((2.0 / t_1) / (k * (t * k))));
} else {
tmp = 2.0 * (((l / k) / k) * ((l * cos(k)) / (t * 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
if ((l * l) <= 0.0d0) then
tmp = 2.0d0 / (((k * k) / l) * ((k * k) * (1.0d0 / (l / t))))
else if ((l * l) <= 1d+134) then
tmp = (l * l) * (cos(k) * ((2.0d0 / t_1) / (k * (t * k))))
else
tmp = 2.0d0 * (((l / k) / k) * ((l * cos(k)) / (t * 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);
double tmp;
if ((l * l) <= 0.0) {
tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t))));
} else if ((l * l) <= 1e+134) {
tmp = (l * l) * (Math.cos(k) * ((2.0 / t_1) / (k * (t * k))));
} else {
tmp = 2.0 * (((l / k) / k) * ((l * Math.cos(k)) / (t * t_1)));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) tmp = 0 if (l * l) <= 0.0: tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t)))) elif (l * l) <= 1e+134: tmp = (l * l) * (math.cos(k) * ((2.0 / t_1) / (k * (t * k)))) else: tmp = 2.0 * (((l / k) / k) * ((l * math.cos(k)) / (t * t_1))) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 tmp = 0.0 if (Float64(l * l) <= 0.0) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / l) * Float64(Float64(k * k) * Float64(1.0 / Float64(l / t))))); elseif (Float64(l * l) <= 1e+134) tmp = Float64(Float64(l * l) * Float64(cos(k) * Float64(Float64(2.0 / t_1) / Float64(k * Float64(t * k))))); else tmp = Float64(2.0 * Float64(Float64(Float64(l / k) / k) * Float64(Float64(l * cos(k)) / Float64(t * t_1)))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; tmp = 0.0; if ((l * l) <= 0.0) tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t)))); elseif ((l * l) <= 1e+134) tmp = (l * l) * (cos(k) * ((2.0 / t_1) / (k * (t * k)))); else tmp = 2.0 * (((l / k) / k) * ((l * cos(k)) / (t * t_1))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[N[(l * l), $MachinePrecision], 0.0], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * N[(1.0 / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(l * l), $MachinePrecision], 1e+134], N[(N[(l * l), $MachinePrecision] * N[(N[Cos[k], $MachinePrecision] * N[(N[(2.0 / t$95$1), $MachinePrecision] / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] / k), $MachinePrecision] * N[(N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
\mathbf{if}\;\ell \cdot \ell \leq 0:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\ell} \cdot \left(\left(k \cdot k\right) \cdot \frac{1}{\frac{\ell}{t}}\right)}\\
\mathbf{elif}\;\ell \cdot \ell \leq 10^{+134}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \left(\cos k \cdot \frac{\frac{2}{t_1}}{k \cdot \left(t \cdot k\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{k}}{k} \cdot \frac{\ell \cdot \cos k}{t \cdot t_1}\right)\\
\end{array}
\end{array}
if (*.f64 l l) < 0.0Initial program 44.3%
Taylor expanded in t around 0 50.4%
associate-*r*50.4%
unpow250.4%
associate-*l*50.4%
times-frac69.6%
unpow269.6%
Simplified69.6%
Taylor expanded in k around 0 67.0%
unpow267.0%
Simplified67.0%
Taylor expanded in k around 0 67.0%
associate-/l*81.2%
unpow281.2%
Simplified81.2%
div-inv83.2%
Applied egg-rr83.2%
if 0.0 < (*.f64 l l) < 9.99999999999999921e133Initial program 55.8%
Taylor expanded in t around 0 72.2%
associate-*r*72.1%
unpow272.1%
associate-*l*72.1%
times-frac73.4%
unpow273.4%
Simplified73.4%
Taylor expanded in k around inf 72.2%
associate-*r*72.1%
unpow272.1%
associate-*r*76.3%
unpow276.3%
associate-*r*76.2%
times-frac77.6%
associate-*r*73.4%
unpow273.4%
associate-/l*73.4%
unpow273.4%
associate-/r*73.4%
Simplified73.4%
Taylor expanded in k around 0 73.4%
associate-*l/72.6%
unpow272.6%
associate-*l/73.5%
associate-/r/73.4%
*-commutative73.4%
associate-/r/73.5%
Simplified73.5%
Taylor expanded in t around 0 71.9%
*-commutative71.9%
associate-*r*71.9%
unpow271.9%
associate-*r*76.0%
*-commutative76.0%
*-commutative76.0%
associate-*l/76.0%
associate-*r/76.0%
associate-*l*76.0%
unpow276.0%
associate-/r*76.0%
*-commutative76.0%
Simplified76.0%
if 9.99999999999999921e133 < (*.f64 l l) Initial program 44.0%
associate-/r*44.0%
associate-*l*43.9%
sqr-neg43.9%
associate-*l*44.0%
*-commutative44.0%
sqr-neg44.0%
associate-/r*44.0%
Simplified42.0%
div-inv42.0%
associate-/r/42.0%
Applied egg-rr42.0%
associate-*r/42.0%
*-rgt-identity42.0%
*-commutative42.0%
associate-/l*42.0%
associate-/l/42.0%
Simplified42.0%
Taylor expanded in k around inf 52.3%
unpow252.3%
associate-*r*52.3%
times-frac58.6%
unpow258.6%
associate-/r*68.4%
Simplified68.4%
Final simplification74.6%
(FPCore (t l k)
:precision binary64
(if (<= k 1.35e-224)
(/ 2.0 (* (* t (* k (/ k l))) (/ (* k k) l)))
(if (<= k 2.05e-135)
(/
(* (/ l (/ (sin k) l)) (/ (/ 2.0 (pow t 3.0)) k))
(+ 2.0 (pow (/ k t) 2.0)))
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.35e-224) {
tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l));
} else if (k <= 2.05e-135) {
tmp = ((l / (sin(k) / l)) * ((2.0 / pow(t, 3.0)) / k)) / (2.0 + pow((k / t), 2.0));
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / 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) :: tmp
if (k <= 1.35d-224) then
tmp = 2.0d0 / ((t * (k * (k / l))) * ((k * k) / l))
else if (k <= 2.05d-135) then
tmp = ((l / (sin(k) / l)) * ((2.0d0 / (t ** 3.0d0)) / k)) / (2.0d0 + ((k / t) ** 2.0d0))
else
tmp = 2.0d0 / ((k * (t * (k / l))) * (((sin(k) ** 2.0d0) / l) / cos(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.35e-224) {
tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l));
} else if (k <= 2.05e-135) {
tmp = ((l / (Math.sin(k) / l)) * ((2.0 / Math.pow(t, 3.0)) / k)) / (2.0 + Math.pow((k / t), 2.0));
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.35e-224: tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l)) elif k <= 2.05e-135: tmp = ((l / (math.sin(k) / l)) * ((2.0 / math.pow(t, 3.0)) / k)) / (2.0 + math.pow((k / t), 2.0)) else: tmp = 2.0 / ((k * (t * (k / l))) * ((math.pow(math.sin(k), 2.0) / l) / math.cos(k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.35e-224) tmp = Float64(2.0 / Float64(Float64(t * Float64(k * Float64(k / l))) * Float64(Float64(k * k) / l))); elseif (k <= 2.05e-135) tmp = Float64(Float64(Float64(l / Float64(sin(k) / l)) * Float64(Float64(2.0 / (t ^ 3.0)) / k)) / Float64(2.0 + (Float64(k / t) ^ 2.0))); else tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / cos(k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.35e-224) tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l)); elseif (k <= 2.05e-135) tmp = ((l / (sin(k) / l)) * ((2.0 / (t ^ 3.0)) / k)) / (2.0 + ((k / t) ^ 2.0)); else tmp = 2.0 / ((k * (t * (k / l))) * (((sin(k) ^ 2.0) / l) / cos(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.35e-224], N[(2.0 / N[(N[(t * N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.05e-135], N[(N[(N[(l / N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(N[(2.0 / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.35 \cdot 10^{-224}:\\
\;\;\;\;\frac{2}{\left(t \cdot \left(k \cdot \frac{k}{\ell}\right)\right) \cdot \frac{k \cdot k}{\ell}}\\
\mathbf{elif}\;k \leq 2.05 \cdot 10^{-135}:\\
\;\;\;\;\frac{\frac{\ell}{\frac{\sin k}{\ell}} \cdot \frac{\frac{2}{{t}^{3}}}{k}}{2 + {\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\end{array}
\end{array}
if k < 1.34999999999999999e-224Initial program 50.3%
Taylor expanded in t around 0 59.4%
associate-*r*59.4%
unpow259.4%
associate-*l*59.4%
times-frac66.5%
unpow266.5%
Simplified66.5%
Taylor expanded in k around 0 60.4%
unpow260.4%
Simplified60.4%
Taylor expanded in k around 0 60.4%
associate-/l*61.8%
unpow261.8%
Simplified61.8%
Taylor expanded in k around 0 60.4%
associate-*l/66.9%
unpow266.9%
associate-*l/69.9%
associate-/r/69.9%
*-commutative69.9%
associate-/r/69.9%
Simplified60.7%
if 1.34999999999999999e-224 < k < 2.05000000000000005e-135Initial program 73.8%
associate-/r*73.8%
associate-*l*51.7%
sqr-neg51.7%
associate-*l*73.8%
*-commutative73.8%
sqr-neg73.8%
associate-/r*73.8%
Simplified82.3%
div-inv82.3%
associate-/r/82.4%
Applied egg-rr82.4%
associate-*r/82.4%
*-rgt-identity82.4%
*-commutative82.4%
associate-/l*82.2%
associate-/l/82.5%
Simplified82.5%
Taylor expanded in k around 0 82.5%
*-commutative82.5%
associate-/r*82.4%
Simplified82.4%
if 2.05000000000000005e-135 < k Initial program 44.3%
Taylor expanded in t around 0 67.5%
associate-*r*67.5%
unpow267.5%
associate-*l*67.5%
times-frac71.5%
unpow271.5%
Simplified71.5%
Taylor expanded in k around inf 67.5%
associate-*r*67.5%
unpow267.5%
associate-*r*69.8%
unpow269.8%
associate-*r*69.8%
times-frac73.8%
associate-*r*71.5%
unpow271.5%
associate-/l*76.7%
unpow276.7%
associate-/r*76.7%
Simplified76.7%
Taylor expanded in k around 0 71.5%
associate-*l/76.7%
unpow276.7%
associate-*l/81.3%
associate-/r/81.3%
*-commutative81.3%
associate-/r/81.3%
Simplified81.3%
Taylor expanded in t around 0 71.5%
associate-*l/76.7%
unpow276.7%
associate-*r/81.3%
associate-*l*83.6%
Simplified83.6%
Final simplification69.2%
(FPCore (t l k)
:precision binary64
(if (<= k 7.5e-134)
(/
2.0
(*
(+ 1.0 (+ (pow (/ k t) 2.0) 1.0))
(* (tan k) (* (/ k l) (/ (pow t 3.0) l)))))
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 7.5e-134) {
tmp = 2.0 / ((1.0 + (pow((k / t), 2.0) + 1.0)) * (tan(k) * ((k / l) * (pow(t, 3.0) / l))));
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / 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) :: tmp
if (k <= 7.5d-134) then
tmp = 2.0d0 / ((1.0d0 + (((k / t) ** 2.0d0) + 1.0d0)) * (tan(k) * ((k / l) * ((t ** 3.0d0) / l))))
else
tmp = 2.0d0 / ((k * (t * (k / l))) * (((sin(k) ** 2.0d0) / l) / cos(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 7.5e-134) {
tmp = 2.0 / ((1.0 + (Math.pow((k / t), 2.0) + 1.0)) * (Math.tan(k) * ((k / l) * (Math.pow(t, 3.0) / l))));
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 7.5e-134: tmp = 2.0 / ((1.0 + (math.pow((k / t), 2.0) + 1.0)) * (math.tan(k) * ((k / l) * (math.pow(t, 3.0) / l)))) else: tmp = 2.0 / ((k * (t * (k / l))) * ((math.pow(math.sin(k), 2.0) / l) / math.cos(k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 7.5e-134) tmp = Float64(2.0 / Float64(Float64(1.0 + Float64((Float64(k / t) ^ 2.0) + 1.0)) * Float64(tan(k) * Float64(Float64(k / l) * Float64((t ^ 3.0) / l))))); else tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / cos(k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 7.5e-134) tmp = 2.0 / ((1.0 + (((k / t) ^ 2.0) + 1.0)) * (tan(k) * ((k / l) * ((t ^ 3.0) / l)))); else tmp = 2.0 / ((k * (t * (k / l))) * (((sin(k) ^ 2.0) / l) / cos(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 7.5e-134], N[(2.0 / N[(N[(1.0 + N[(N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 7.5 \cdot 10^{-134}:\\
\;\;\;\;\frac{2}{\left(1 + \left({\left(\frac{k}{t}\right)}^{2} + 1\right)\right) \cdot \left(\tan k \cdot \left(\frac{k}{\ell} \cdot \frac{{t}^{3}}{\ell}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\end{array}
\end{array}
if k < 7.50000000000000048e-134Initial program 51.8%
Taylor expanded in k around 0 50.4%
*-commutative50.4%
unpow250.4%
times-frac55.6%
Simplified55.6%
if 7.50000000000000048e-134 < k Initial program 44.3%
Taylor expanded in t around 0 67.5%
associate-*r*67.5%
unpow267.5%
associate-*l*67.5%
times-frac71.5%
unpow271.5%
Simplified71.5%
Taylor expanded in k around inf 67.5%
associate-*r*67.5%
unpow267.5%
associate-*r*69.8%
unpow269.8%
associate-*r*69.8%
times-frac73.8%
associate-*r*71.5%
unpow271.5%
associate-/l*76.7%
unpow276.7%
associate-/r*76.7%
Simplified76.7%
Taylor expanded in k around 0 71.5%
associate-*l/76.7%
unpow276.7%
associate-*l/81.3%
associate-/r/81.3%
*-commutative81.3%
associate-/r/81.3%
Simplified81.3%
Taylor expanded in t around 0 71.5%
associate-*l/76.7%
unpow276.7%
associate-*r/81.3%
associate-*l*83.6%
Simplified83.6%
Final simplification64.8%
(FPCore (t l k)
:precision binary64
(if (<= k 6.6e-136)
(/
2.0
(*
(+ 1.0 (+ (pow (/ k t) 2.0) 1.0))
(* (tan k) (/ (* k (/ (pow t 3.0) l)) l))))
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 6.6e-136) {
tmp = 2.0 / ((1.0 + (pow((k / t), 2.0) + 1.0)) * (tan(k) * ((k * (pow(t, 3.0) / l)) / l)));
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / 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) :: tmp
if (k <= 6.6d-136) then
tmp = 2.0d0 / ((1.0d0 + (((k / t) ** 2.0d0) + 1.0d0)) * (tan(k) * ((k * ((t ** 3.0d0) / l)) / l)))
else
tmp = 2.0d0 / ((k * (t * (k / l))) * (((sin(k) ** 2.0d0) / l) / cos(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 6.6e-136) {
tmp = 2.0 / ((1.0 + (Math.pow((k / t), 2.0) + 1.0)) * (Math.tan(k) * ((k * (Math.pow(t, 3.0) / l)) / l)));
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 6.6e-136: tmp = 2.0 / ((1.0 + (math.pow((k / t), 2.0) + 1.0)) * (math.tan(k) * ((k * (math.pow(t, 3.0) / l)) / l))) else: tmp = 2.0 / ((k * (t * (k / l))) * ((math.pow(math.sin(k), 2.0) / l) / math.cos(k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 6.6e-136) tmp = Float64(2.0 / Float64(Float64(1.0 + Float64((Float64(k / t) ^ 2.0) + 1.0)) * Float64(tan(k) * Float64(Float64(k * Float64((t ^ 3.0) / l)) / l)))); else tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / cos(k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 6.6e-136) tmp = 2.0 / ((1.0 + (((k / t) ^ 2.0) + 1.0)) * (tan(k) * ((k * ((t ^ 3.0) / l)) / l))); else tmp = 2.0 / ((k * (t * (k / l))) * (((sin(k) ^ 2.0) / l) / cos(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 6.6e-136], N[(2.0 / N[(N[(1.0 + N[(N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[(k * N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 6.6 \cdot 10^{-136}:\\
\;\;\;\;\frac{2}{\left(1 + \left({\left(\frac{k}{t}\right)}^{2} + 1\right)\right) \cdot \left(\tan k \cdot \frac{k \cdot \frac{{t}^{3}}{\ell}}{\ell}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\end{array}
\end{array}
if k < 6.60000000000000035e-136Initial program 51.8%
Taylor expanded in k around 0 50.4%
*-commutative50.4%
unpow250.4%
times-frac55.6%
Simplified55.6%
associate-*r/55.7%
Applied egg-rr55.7%
if 6.60000000000000035e-136 < k Initial program 44.3%
Taylor expanded in t around 0 67.5%
associate-*r*67.5%
unpow267.5%
associate-*l*67.5%
times-frac71.5%
unpow271.5%
Simplified71.5%
Taylor expanded in k around inf 67.5%
associate-*r*67.5%
unpow267.5%
associate-*r*69.8%
unpow269.8%
associate-*r*69.8%
times-frac73.8%
associate-*r*71.5%
unpow271.5%
associate-/l*76.7%
unpow276.7%
associate-/r*76.7%
Simplified76.7%
Taylor expanded in k around 0 71.5%
associate-*l/76.7%
unpow276.7%
associate-*l/81.3%
associate-/r/81.3%
*-commutative81.3%
associate-/r/81.3%
Simplified81.3%
Taylor expanded in t around 0 71.5%
associate-*l/76.7%
unpow276.7%
associate-*r/81.3%
associate-*l*83.6%
Simplified83.6%
Final simplification64.9%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ (* k k) l)))
(if (<= k 2.8e-224)
(/ 2.0 (* (* t (* k (/ k l))) t_1))
(if (<= k 1.36e-133)
(* (/ (/ (* l l) k) (pow t 3.0)) (/ (cos k) (sin k)))
(if (<= k 1.8e+16)
(/ 2.0 (* (/ (* k k) (/ l t)) (/ t_1 (cos k))))
(*
2.0
(* (* l (/ l (* k k))) (/ (cos k) (* t (pow (sin k) 2.0))))))))))
double code(double t, double l, double k) {
double t_1 = (k * k) / l;
double tmp;
if (k <= 2.8e-224) {
tmp = 2.0 / ((t * (k * (k / l))) * t_1);
} else if (k <= 1.36e-133) {
tmp = (((l * l) / k) / pow(t, 3.0)) * (cos(k) / sin(k));
} else if (k <= 1.8e+16) {
tmp = 2.0 / (((k * k) / (l / t)) * (t_1 / cos(k)));
} else {
tmp = 2.0 * ((l * (l / (k * k))) * (cos(k) / (t * 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) :: t_1
real(8) :: tmp
t_1 = (k * k) / l
if (k <= 2.8d-224) then
tmp = 2.0d0 / ((t * (k * (k / l))) * t_1)
else if (k <= 1.36d-133) then
tmp = (((l * l) / k) / (t ** 3.0d0)) * (cos(k) / sin(k))
else if (k <= 1.8d+16) then
tmp = 2.0d0 / (((k * k) / (l / t)) * (t_1 / cos(k)))
else
tmp = 2.0d0 * ((l * (l / (k * k))) * (cos(k) / (t * (sin(k) ** 2.0d0))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = (k * k) / l;
double tmp;
if (k <= 2.8e-224) {
tmp = 2.0 / ((t * (k * (k / l))) * t_1);
} else if (k <= 1.36e-133) {
tmp = (((l * l) / k) / Math.pow(t, 3.0)) * (Math.cos(k) / Math.sin(k));
} else if (k <= 1.8e+16) {
tmp = 2.0 / (((k * k) / (l / t)) * (t_1 / Math.cos(k)));
} else {
tmp = 2.0 * ((l * (l / (k * k))) * (Math.cos(k) / (t * Math.pow(Math.sin(k), 2.0))));
}
return tmp;
}
def code(t, l, k): t_1 = (k * k) / l tmp = 0 if k <= 2.8e-224: tmp = 2.0 / ((t * (k * (k / l))) * t_1) elif k <= 1.36e-133: tmp = (((l * l) / k) / math.pow(t, 3.0)) * (math.cos(k) / math.sin(k)) elif k <= 1.8e+16: tmp = 2.0 / (((k * k) / (l / t)) * (t_1 / math.cos(k))) else: tmp = 2.0 * ((l * (l / (k * k))) * (math.cos(k) / (t * math.pow(math.sin(k), 2.0)))) return tmp
function code(t, l, k) t_1 = Float64(Float64(k * k) / l) tmp = 0.0 if (k <= 2.8e-224) tmp = Float64(2.0 / Float64(Float64(t * Float64(k * Float64(k / l))) * t_1)); elseif (k <= 1.36e-133) tmp = Float64(Float64(Float64(Float64(l * l) / k) / (t ^ 3.0)) * Float64(cos(k) / sin(k))); elseif (k <= 1.8e+16) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / Float64(l / t)) * Float64(t_1 / cos(k)))); else tmp = Float64(2.0 * Float64(Float64(l * Float64(l / Float64(k * k))) * Float64(cos(k) / Float64(t * (sin(k) ^ 2.0))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (k * k) / l; tmp = 0.0; if (k <= 2.8e-224) tmp = 2.0 / ((t * (k * (k / l))) * t_1); elseif (k <= 1.36e-133) tmp = (((l * l) / k) / (t ^ 3.0)) * (cos(k) / sin(k)); elseif (k <= 1.8e+16) tmp = 2.0 / (((k * k) / (l / t)) * (t_1 / cos(k))); else tmp = 2.0 * ((l * (l / (k * k))) * (cos(k) / (t * (sin(k) ^ 2.0)))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision]}, If[LessEqual[k, 2.8e-224], N[(2.0 / N[(N[(t * N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.36e-133], N[(N[(N[(N[(l * l), $MachinePrecision] / k), $MachinePrecision] / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] * N[(N[Cos[k], $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.8e+16], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / N[(l / t), $MachinePrecision]), $MachinePrecision] * N[(t$95$1 / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(l * N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Cos[k], $MachinePrecision] / N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{k \cdot k}{\ell}\\
\mathbf{if}\;k \leq 2.8 \cdot 10^{-224}:\\
\;\;\;\;\frac{2}{\left(t \cdot \left(k \cdot \frac{k}{\ell}\right)\right) \cdot t_1}\\
\mathbf{elif}\;k \leq 1.36 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{\ell \cdot \ell}{k}}{{t}^{3}} \cdot \frac{\cos k}{\sin k}\\
\mathbf{elif}\;k \leq 1.8 \cdot 10^{+16}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\frac{\ell}{t}} \cdot \frac{t_1}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\left(\ell \cdot \frac{\ell}{k \cdot k}\right) \cdot \frac{\cos k}{t \cdot {\sin k}^{2}}\right)\\
\end{array}
\end{array}
if k < 2.7999999999999998e-224Initial program 50.3%
Taylor expanded in t around 0 59.4%
associate-*r*59.4%
unpow259.4%
associate-*l*59.4%
times-frac66.5%
unpow266.5%
Simplified66.5%
Taylor expanded in k around 0 60.4%
unpow260.4%
Simplified60.4%
Taylor expanded in k around 0 60.4%
associate-/l*61.8%
unpow261.8%
Simplified61.8%
Taylor expanded in k around 0 60.4%
associate-*l/66.9%
unpow266.9%
associate-*l/69.9%
associate-/r/69.9%
*-commutative69.9%
associate-/r/69.9%
Simplified60.7%
if 2.7999999999999998e-224 < k < 1.35999999999999991e-133Initial program 73.8%
associate-/r*73.8%
associate-*l*51.7%
sqr-neg51.7%
associate-*l*73.8%
*-commutative73.8%
sqr-neg73.8%
associate-*l/82.5%
associate-*r/82.3%
associate-/r/82.3%
Simplified82.3%
Taylor expanded in k around 0 82.3%
*-commutative82.3%
Simplified82.3%
Taylor expanded in t around inf 82.5%
associate-*r*82.5%
times-frac82.4%
associate-/r*82.2%
unpow282.2%
Simplified82.2%
if 1.35999999999999991e-133 < k < 1.8e16Initial program 50.5%
Taylor expanded in t around 0 58.2%
associate-*r*58.2%
unpow258.2%
associate-*l*58.2%
times-frac64.4%
unpow264.4%
Simplified64.4%
Taylor expanded in k around inf 58.2%
associate-*r*58.2%
unpow258.2%
associate-*r*58.2%
unpow258.2%
associate-*r*58.2%
times-frac64.4%
associate-*r*64.4%
unpow264.4%
associate-/l*77.3%
unpow277.3%
associate-/r*77.3%
Simplified77.3%
Taylor expanded in k around 0 72.9%
unpow272.9%
Simplified72.9%
if 1.8e16 < k Initial program 40.1%
associate-/r*40.1%
associate-*l*40.1%
sqr-neg40.1%
associate-*l*40.1%
*-commutative40.1%
sqr-neg40.1%
associate-/r*40.0%
Simplified40.0%
div-inv40.0%
associate-/r/40.1%
Applied egg-rr40.1%
associate-*r/40.0%
*-rgt-identity40.0%
*-commutative40.0%
associate-/l*40.1%
associate-/l/40.0%
Simplified40.0%
Taylor expanded in k around inf 74.3%
times-frac70.2%
unpow270.2%
associate-*r/74.4%
unpow274.4%
Simplified74.4%
Final simplification65.9%
(FPCore (t l k)
:precision binary64
(if (<= k 8e-226)
(/ 2.0 (* (* t (* k (/ k l))) (/ (* k k) l)))
(if (<= k 1.25e-134)
(* (/ (/ (* l l) k) (pow t 3.0)) (/ (cos k) (sin k)))
(/ 2.0 (* (* k (* t (/ k l))) (/ (/ (pow (sin k) 2.0) l) (cos k)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 8e-226) {
tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l));
} else if (k <= 1.25e-134) {
tmp = (((l * l) / k) / pow(t, 3.0)) * (cos(k) / sin(k));
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((pow(sin(k), 2.0) / l) / 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) :: tmp
if (k <= 8d-226) then
tmp = 2.0d0 / ((t * (k * (k / l))) * ((k * k) / l))
else if (k <= 1.25d-134) then
tmp = (((l * l) / k) / (t ** 3.0d0)) * (cos(k) / sin(k))
else
tmp = 2.0d0 / ((k * (t * (k / l))) * (((sin(k) ** 2.0d0) / l) / cos(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 8e-226) {
tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l));
} else if (k <= 1.25e-134) {
tmp = (((l * l) / k) / Math.pow(t, 3.0)) * (Math.cos(k) / Math.sin(k));
} else {
tmp = 2.0 / ((k * (t * (k / l))) * ((Math.pow(Math.sin(k), 2.0) / l) / Math.cos(k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 8e-226: tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l)) elif k <= 1.25e-134: tmp = (((l * l) / k) / math.pow(t, 3.0)) * (math.cos(k) / math.sin(k)) else: tmp = 2.0 / ((k * (t * (k / l))) * ((math.pow(math.sin(k), 2.0) / l) / math.cos(k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 8e-226) tmp = Float64(2.0 / Float64(Float64(t * Float64(k * Float64(k / l))) * Float64(Float64(k * k) / l))); elseif (k <= 1.25e-134) tmp = Float64(Float64(Float64(Float64(l * l) / k) / (t ^ 3.0)) * Float64(cos(k) / sin(k))); else tmp = Float64(2.0 / Float64(Float64(k * Float64(t * Float64(k / l))) * Float64(Float64((sin(k) ^ 2.0) / l) / cos(k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 8e-226) tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l)); elseif (k <= 1.25e-134) tmp = (((l * l) / k) / (t ^ 3.0)) * (cos(k) / sin(k)); else tmp = 2.0 / ((k * (t * (k / l))) * (((sin(k) ^ 2.0) / l) / cos(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 8e-226], N[(2.0 / N[(N[(t * N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.25e-134], N[(N[(N[(N[(l * l), $MachinePrecision] / k), $MachinePrecision] / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] * N[(N[Cos[k], $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k * N[(t * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 8 \cdot 10^{-226}:\\
\;\;\;\;\frac{2}{\left(t \cdot \left(k \cdot \frac{k}{\ell}\right)\right) \cdot \frac{k \cdot k}{\ell}}\\
\mathbf{elif}\;k \leq 1.25 \cdot 10^{-134}:\\
\;\;\;\;\frac{\frac{\ell \cdot \ell}{k}}{{t}^{3}} \cdot \frac{\cos k}{\sin k}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(k \cdot \left(t \cdot \frac{k}{\ell}\right)\right) \cdot \frac{\frac{{\sin k}^{2}}{\ell}}{\cos k}}\\
\end{array}
\end{array}
if k < 7.99999999999999937e-226Initial program 50.3%
Taylor expanded in t around 0 59.4%
associate-*r*59.4%
unpow259.4%
associate-*l*59.4%
times-frac66.5%
unpow266.5%
Simplified66.5%
Taylor expanded in k around 0 60.4%
unpow260.4%
Simplified60.4%
Taylor expanded in k around 0 60.4%
associate-/l*61.8%
unpow261.8%
Simplified61.8%
Taylor expanded in k around 0 60.4%
associate-*l/66.9%
unpow266.9%
associate-*l/69.9%
associate-/r/69.9%
*-commutative69.9%
associate-/r/69.9%
Simplified60.7%
if 7.99999999999999937e-226 < k < 1.2500000000000001e-134Initial program 73.8%
associate-/r*73.8%
associate-*l*51.7%
sqr-neg51.7%
associate-*l*73.8%
*-commutative73.8%
sqr-neg73.8%
associate-*l/82.5%
associate-*r/82.3%
associate-/r/82.3%
Simplified82.3%
Taylor expanded in k around 0 82.3%
*-commutative82.3%
Simplified82.3%
Taylor expanded in t around inf 82.5%
associate-*r*82.5%
times-frac82.4%
associate-/r*82.2%
unpow282.2%
Simplified82.2%
if 1.2500000000000001e-134 < k Initial program 44.3%
Taylor expanded in t around 0 67.5%
associate-*r*67.5%
unpow267.5%
associate-*l*67.5%
times-frac71.5%
unpow271.5%
Simplified71.5%
Taylor expanded in k around inf 67.5%
associate-*r*67.5%
unpow267.5%
associate-*r*69.8%
unpow269.8%
associate-*r*69.8%
times-frac73.8%
associate-*r*71.5%
unpow271.5%
associate-/l*76.7%
unpow276.7%
associate-/r*76.7%
Simplified76.7%
Taylor expanded in k around 0 71.5%
associate-*l/76.7%
unpow276.7%
associate-*l/81.3%
associate-/r/81.3%
*-commutative81.3%
associate-/r/81.3%
Simplified81.3%
Taylor expanded in t around 0 71.5%
associate-*l/76.7%
unpow276.7%
associate-*r/81.3%
associate-*l*83.6%
Simplified83.6%
Final simplification69.2%
(FPCore (t l k) :precision binary64 (if (<= t 3800000000000.0) (* 2.0 (* (/ l (* t (* k k))) (/ (* l (cos k)) (pow (sin k) 2.0)))) (* (/ (/ l k) k) (/ l (pow t 3.0)))))
double code(double t, double l, double k) {
double tmp;
if (t <= 3800000000000.0) {
tmp = 2.0 * ((l / (t * (k * k))) * ((l * cos(k)) / pow(sin(k), 2.0)));
} else {
tmp = ((l / k) / k) * (l / pow(t, 3.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 (t <= 3800000000000.0d0) then
tmp = 2.0d0 * ((l / (t * (k * k))) * ((l * cos(k)) / (sin(k) ** 2.0d0)))
else
tmp = ((l / k) / k) * (l / (t ** 3.0d0))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= 3800000000000.0) {
tmp = 2.0 * ((l / (t * (k * k))) * ((l * Math.cos(k)) / Math.pow(Math.sin(k), 2.0)));
} else {
tmp = ((l / k) / k) * (l / Math.pow(t, 3.0));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= 3800000000000.0: tmp = 2.0 * ((l / (t * (k * k))) * ((l * math.cos(k)) / math.pow(math.sin(k), 2.0))) else: tmp = ((l / k) / k) * (l / math.pow(t, 3.0)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= 3800000000000.0) tmp = Float64(2.0 * Float64(Float64(l / Float64(t * Float64(k * k))) * Float64(Float64(l * cos(k)) / (sin(k) ^ 2.0)))); else tmp = Float64(Float64(Float64(l / k) / k) * Float64(l / (t ^ 3.0))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= 3800000000000.0) tmp = 2.0 * ((l / (t * (k * k))) * ((l * cos(k)) / (sin(k) ^ 2.0))); else tmp = ((l / k) / k) * (l / (t ^ 3.0)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, 3800000000000.0], N[(2.0 * N[(N[(l / N[(t * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(l / k), $MachinePrecision] / k), $MachinePrecision] * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq 3800000000000:\\
\;\;\;\;2 \cdot \left(\frac{\ell}{t \cdot \left(k \cdot k\right)} \cdot \frac{\ell \cdot \cos k}{{\sin k}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{k} \cdot \frac{\ell}{{t}^{3}}\\
\end{array}
\end{array}
if t < 3.8e12Initial program 46.3%
associate-/r*46.3%
associate-*l*44.9%
sqr-neg44.9%
associate-*l*46.3%
*-commutative46.3%
sqr-neg46.3%
associate-*l/46.2%
associate-*r/46.2%
associate-/r/45.7%
Simplified45.7%
Taylor expanded in k around inf 67.6%
unpow267.6%
associate-*l*67.6%
associate-*r*67.6%
times-frac74.1%
unpow274.1%
Simplified74.1%
if 3.8e12 < t Initial program 58.7%
associate-/r*59.0%
associate-*l*52.2%
sqr-neg52.2%
associate-*l*59.0%
*-commutative59.0%
sqr-neg59.0%
associate-*l/63.0%
associate-*r/61.4%
associate-/r/61.5%
Simplified61.5%
Taylor expanded in k around 0 48.9%
unpow248.9%
times-frac53.9%
unpow253.9%
Simplified53.9%
Taylor expanded in l around 0 53.9%
unpow253.9%
associate-/r*57.1%
Simplified57.1%
Final simplification70.0%
(FPCore (t l k) :precision binary64 (if (<= l 4.7e-181) (/ 2.0 (* (/ (* k k) l) (* (* k k) (/ 1.0 (/ l t))))) (* 2.0 (* (/ (/ l k) k) (/ (* l (cos k)) (* t (pow (sin k) 2.0)))))))
double code(double t, double l, double k) {
double tmp;
if (l <= 4.7e-181) {
tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t))));
} else {
tmp = 2.0 * (((l / k) / k) * ((l * cos(k)) / (t * 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 (l <= 4.7d-181) then
tmp = 2.0d0 / (((k * k) / l) * ((k * k) * (1.0d0 / (l / t))))
else
tmp = 2.0d0 * (((l / k) / k) * ((l * cos(k)) / (t * (sin(k) ** 2.0d0))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (l <= 4.7e-181) {
tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t))));
} else {
tmp = 2.0 * (((l / k) / k) * ((l * Math.cos(k)) / (t * Math.pow(Math.sin(k), 2.0))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if l <= 4.7e-181: tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t)))) else: tmp = 2.0 * (((l / k) / k) * ((l * math.cos(k)) / (t * math.pow(math.sin(k), 2.0)))) return tmp
function code(t, l, k) tmp = 0.0 if (l <= 4.7e-181) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / l) * Float64(Float64(k * k) * Float64(1.0 / Float64(l / t))))); else tmp = Float64(2.0 * Float64(Float64(Float64(l / k) / k) * Float64(Float64(l * cos(k)) / Float64(t * (sin(k) ^ 2.0))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (l <= 4.7e-181) tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t)))); else tmp = 2.0 * (((l / k) / k) * ((l * cos(k)) / (t * (sin(k) ^ 2.0)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[l, 4.7e-181], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * N[(1.0 / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] / k), $MachinePrecision] * N[(N[(l * N[Cos[k], $MachinePrecision]), $MachinePrecision] / N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;\ell \leq 4.7 \cdot 10^{-181}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\ell} \cdot \left(\left(k \cdot k\right) \cdot \frac{1}{\frac{\ell}{t}}\right)}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{k}}{k} \cdot \frac{\ell \cdot \cos k}{t \cdot {\sin k}^{2}}\right)\\
\end{array}
\end{array}
if l < 4.6999999999999998e-181Initial program 49.0%
Taylor expanded in t around 0 58.7%
associate-*r*58.7%
unpow258.7%
associate-*l*58.7%
times-frac65.0%
unpow265.0%
Simplified65.0%
Taylor expanded in k around 0 56.7%
unpow256.7%
Simplified56.7%
Taylor expanded in k around 0 56.7%
associate-/l*61.9%
unpow261.9%
Simplified61.9%
div-inv62.5%
Applied egg-rr62.5%
if 4.6999999999999998e-181 < l Initial program 49.7%
associate-/r*49.7%
associate-*l*47.5%
sqr-neg47.5%
associate-*l*49.7%
*-commutative49.7%
sqr-neg49.7%
associate-/r*49.7%
Simplified51.0%
div-inv51.0%
associate-/r/51.0%
Applied egg-rr51.0%
associate-*r/51.0%
*-rgt-identity51.0%
*-commutative51.0%
associate-/l*51.4%
associate-/l/51.4%
Simplified51.4%
Taylor expanded in k around inf 63.2%
unpow263.2%
associate-*r*63.2%
times-frac67.4%
unpow267.4%
associate-/r*69.3%
Simplified69.3%
Final simplification65.3%
(FPCore (t l k) :precision binary64 (if (<= t 7.2e-76) (/ 2.0 (* (/ (* k k) (/ l t)) (/ (/ (* k k) l) (cos k)))) (* (/ (/ l k) k) (/ l (pow t 3.0)))))
double code(double t, double l, double k) {
double tmp;
if (t <= 7.2e-76) {
tmp = 2.0 / (((k * k) / (l / t)) * (((k * k) / l) / cos(k)));
} else {
tmp = ((l / k) / k) * (l / pow(t, 3.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 (t <= 7.2d-76) then
tmp = 2.0d0 / (((k * k) / (l / t)) * (((k * k) / l) / cos(k)))
else
tmp = ((l / k) / k) * (l / (t ** 3.0d0))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= 7.2e-76) {
tmp = 2.0 / (((k * k) / (l / t)) * (((k * k) / l) / Math.cos(k)));
} else {
tmp = ((l / k) / k) * (l / Math.pow(t, 3.0));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= 7.2e-76: tmp = 2.0 / (((k * k) / (l / t)) * (((k * k) / l) / math.cos(k))) else: tmp = ((l / k) / k) * (l / math.pow(t, 3.0)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= 7.2e-76) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / Float64(l / t)) * Float64(Float64(Float64(k * k) / l) / cos(k)))); else tmp = Float64(Float64(Float64(l / k) / k) * Float64(l / (t ^ 3.0))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= 7.2e-76) tmp = 2.0 / (((k * k) / (l / t)) * (((k * k) / l) / cos(k))); else tmp = ((l / k) / k) * (l / (t ^ 3.0)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, 7.2e-76], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / N[(l / t), $MachinePrecision]), $MachinePrecision] * N[(N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(l / k), $MachinePrecision] / k), $MachinePrecision] * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq 7.2 \cdot 10^{-76}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\frac{\ell}{t}} \cdot \frac{\frac{k \cdot k}{\ell}}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{k} \cdot \frac{\ell}{{t}^{3}}\\
\end{array}
\end{array}
if t < 7.2000000000000001e-76Initial program 43.6%
Taylor expanded in t around 0 66.8%
associate-*r*66.8%
unpow266.8%
associate-*l*66.7%
times-frac73.4%
unpow273.4%
Simplified73.4%
Taylor expanded in k around inf 66.8%
associate-*r*66.8%
unpow266.8%
associate-*r*71.1%
unpow271.1%
associate-*r*71.1%
times-frac78.3%
associate-*r*73.4%
unpow273.4%
associate-/l*76.2%
unpow276.2%
associate-/r*76.2%
Simplified76.2%
Taylor expanded in k around 0 67.6%
unpow267.6%
Simplified67.6%
if 7.2000000000000001e-76 < t Initial program 61.9%
associate-/r*62.0%
associate-*l*56.7%
sqr-neg56.7%
associate-*l*62.0%
*-commutative62.0%
sqr-neg62.0%
associate-*l/65.1%
associate-*r/63.9%
associate-/r/63.9%
Simplified63.9%
Taylor expanded in k around 0 51.8%
unpow251.8%
times-frac55.8%
unpow255.8%
Simplified55.8%
Taylor expanded in l around 0 55.8%
unpow255.8%
associate-/r*59.5%
Simplified59.5%
Final simplification65.0%
(FPCore (t l k) :precision binary64 (if (<= t 1.95e-28) (/ 2.0 (* (/ (* k k) l) (/ (* k k) (/ l t)))) (* (/ l (pow t 3.0)) (/ l (* k k)))))
double code(double t, double l, double k) {
double tmp;
if (t <= 1.95e-28) {
tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t)));
} else {
tmp = (l / pow(t, 3.0)) * (l / (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 (t <= 1.95d-28) then
tmp = 2.0d0 / (((k * k) / l) * ((k * k) / (l / t)))
else
tmp = (l / (t ** 3.0d0)) * (l / (k * k))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= 1.95e-28) {
tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t)));
} else {
tmp = (l / Math.pow(t, 3.0)) * (l / (k * k));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= 1.95e-28: tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t))) else: tmp = (l / math.pow(t, 3.0)) * (l / (k * k)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= 1.95e-28) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / l) * Float64(Float64(k * k) / Float64(l / t)))); else tmp = Float64(Float64(l / (t ^ 3.0)) * Float64(l / Float64(k * k))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= 1.95e-28) tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t))); else tmp = (l / (t ^ 3.0)) * (l / (k * k)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, 1.95e-28], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] * N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.95 \cdot 10^{-28}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\ell} \cdot \frac{k \cdot k}{\frac{\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{{t}^{3}} \cdot \frac{\ell}{k \cdot k}\\
\end{array}
\end{array}
if t < 1.94999999999999999e-28Initial program 44.7%
Taylor expanded in t around 0 67.4%
associate-*r*67.4%
unpow267.4%
associate-*l*67.3%
times-frac73.8%
unpow273.8%
Simplified73.8%
Taylor expanded in k around 0 63.4%
unpow263.4%
Simplified63.4%
Taylor expanded in k around 0 63.4%
associate-/l*67.0%
unpow267.0%
Simplified67.0%
if 1.94999999999999999e-28 < t Initial program 61.0%
associate-/r*61.2%
associate-*l*55.4%
sqr-neg55.4%
associate-*l*61.2%
*-commutative61.2%
sqr-neg61.2%
associate-*l/64.6%
associate-*r/63.3%
associate-/r/63.3%
Simplified63.3%
Taylor expanded in k around 0 50.1%
unpow250.1%
times-frac54.4%
unpow254.4%
Simplified54.4%
Final simplification63.4%
(FPCore (t l k) :precision binary64 (if (<= t 7.5e-76) (/ 2.0 (* (/ (* k k) l) (/ (* k k) (/ l t)))) (* (/ (/ l k) k) (/ l (pow t 3.0)))))
double code(double t, double l, double k) {
double tmp;
if (t <= 7.5e-76) {
tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t)));
} else {
tmp = ((l / k) / k) * (l / pow(t, 3.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 (t <= 7.5d-76) then
tmp = 2.0d0 / (((k * k) / l) * ((k * k) / (l / t)))
else
tmp = ((l / k) / k) * (l / (t ** 3.0d0))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= 7.5e-76) {
tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t)));
} else {
tmp = ((l / k) / k) * (l / Math.pow(t, 3.0));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= 7.5e-76: tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t))) else: tmp = ((l / k) / k) * (l / math.pow(t, 3.0)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= 7.5e-76) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / l) * Float64(Float64(k * k) / Float64(l / t)))); else tmp = Float64(Float64(Float64(l / k) / k) * Float64(l / (t ^ 3.0))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= 7.5e-76) tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t))); else tmp = ((l / k) / k) * (l / (t ^ 3.0)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, 7.5e-76], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(l / k), $MachinePrecision] / k), $MachinePrecision] * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq 7.5 \cdot 10^{-76}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\ell} \cdot \frac{k \cdot k}{\frac{\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{k} \cdot \frac{\ell}{{t}^{3}}\\
\end{array}
\end{array}
if t < 7.4999999999999997e-76Initial program 43.6%
Taylor expanded in t around 0 66.8%
associate-*r*66.8%
unpow266.8%
associate-*l*66.7%
times-frac73.4%
unpow273.4%
Simplified73.4%
Taylor expanded in k around 0 63.1%
unpow263.1%
Simplified63.1%
Taylor expanded in k around 0 63.1%
associate-/l*66.9%
unpow266.9%
Simplified66.9%
if 7.4999999999999997e-76 < t Initial program 61.9%
associate-/r*62.0%
associate-*l*56.7%
sqr-neg56.7%
associate-*l*62.0%
*-commutative62.0%
sqr-neg62.0%
associate-*l/65.1%
associate-*r/63.9%
associate-/r/63.9%
Simplified63.9%
Taylor expanded in k around 0 51.8%
unpow251.8%
times-frac55.8%
unpow255.8%
Simplified55.8%
Taylor expanded in l around 0 55.8%
unpow255.8%
associate-/r*59.5%
Simplified59.5%
Final simplification64.6%
(FPCore (t l k) :precision binary64 (/ 2.0 (* (/ (* k k) l) (* (* k k) (/ 1.0 (/ l t))))))
double code(double t, double l, double k) {
return 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / 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 / (((k * k) / l) * ((k * k) * (1.0d0 / (l / t))))
end function
public static double code(double t, double l, double k) {
return 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t))));
}
def code(t, l, k): return 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t))))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(k * k) / l) * Float64(Float64(k * k) * Float64(1.0 / Float64(l / t))))) end
function tmp = code(t, l, k) tmp = 2.0 / (((k * k) / l) * ((k * k) * (1.0 / (l / t)))); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * N[(1.0 / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\frac{k \cdot k}{\ell} \cdot \left(\left(k \cdot k\right) \cdot \frac{1}{\frac{\ell}{t}}\right)}
\end{array}
Initial program 49.3%
Taylor expanded in t around 0 60.8%
associate-*r*60.8%
unpow260.8%
associate-*l*60.8%
times-frac66.6%
unpow266.6%
Simplified66.6%
Taylor expanded in k around 0 57.7%
unpow257.7%
Simplified57.7%
Taylor expanded in k around 0 57.7%
associate-/l*61.1%
unpow261.1%
Simplified61.1%
div-inv61.4%
Applied egg-rr61.4%
Final simplification61.4%
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* t (* k (/ k l))) (/ (* k k) l))))
double code(double t, double l, double k) {
return 2.0 / ((t * (k * (k / l))) * ((k * k) / l));
}
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 * (k * (k / l))) * ((k * k) / l))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((t * (k * (k / l))) * ((k * k) / l));
}
def code(t, l, k): return 2.0 / ((t * (k * (k / l))) * ((k * k) / l))
function code(t, l, k) return Float64(2.0 / Float64(Float64(t * Float64(k * Float64(k / l))) * Float64(Float64(k * k) / l))) end
function tmp = code(t, l, k) tmp = 2.0 / ((t * (k * (k / l))) * ((k * k) / l)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(t * N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(t \cdot \left(k \cdot \frac{k}{\ell}\right)\right) \cdot \frac{k \cdot k}{\ell}}
\end{array}
Initial program 49.3%
Taylor expanded in t around 0 60.8%
associate-*r*60.8%
unpow260.8%
associate-*l*60.8%
times-frac66.6%
unpow266.6%
Simplified66.6%
Taylor expanded in k around 0 57.7%
unpow257.7%
Simplified57.7%
Taylor expanded in k around 0 57.7%
associate-/l*61.1%
unpow261.1%
Simplified61.1%
Taylor expanded in k around 0 57.7%
associate-*l/68.5%
unpow268.5%
associate-*l/71.9%
associate-/r/71.9%
*-commutative71.9%
associate-/r/71.9%
Simplified59.7%
Final simplification59.7%
(FPCore (t l k) :precision binary64 (/ 2.0 (* (/ (* k k) l) (/ (* k k) (/ l t)))))
double code(double t, double l, double k) {
return 2.0 / (((k * k) / l) * ((k * k) / (l / 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 / (((k * k) / l) * ((k * k) / (l / t)))
end function
public static double code(double t, double l, double k) {
return 2.0 / (((k * k) / l) * ((k * k) / (l / t)));
}
def code(t, l, k): return 2.0 / (((k * k) / l) * ((k * k) / (l / t)))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(k * k) / l) * Float64(Float64(k * k) / Float64(l / t)))) end
function tmp = code(t, l, k) tmp = 2.0 / (((k * k) / l) * ((k * k) / (l / t))); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\frac{k \cdot k}{\ell} \cdot \frac{k \cdot k}{\frac{\ell}{t}}}
\end{array}
Initial program 49.3%
Taylor expanded in t around 0 60.8%
associate-*r*60.8%
unpow260.8%
associate-*l*60.8%
times-frac66.6%
unpow266.6%
Simplified66.6%
Taylor expanded in k around 0 57.7%
unpow257.7%
Simplified57.7%
Taylor expanded in k around 0 57.7%
associate-/l*61.1%
unpow261.1%
Simplified61.1%
Final simplification61.1%
herbie shell --seed 2023285
(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))))