
(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 16 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 (* (sin k) (tan k))) (t_2 (/ 1.0 (/ t (pow (cbrt (/ l k)) 2.0)))))
(if (<= k -6.5e+47)
(/ 2.0 (* (/ (* k t) (* l (/ l k))) t_1))
(if (<= k 5.7e-5)
(* t_2 (pow t_2 2.0))
(/ 2.0 (* t_1 (/ (* k (/ (* k t) l)) l)))))))
double code(double t, double l, double k) {
double t_1 = sin(k) * tan(k);
double t_2 = 1.0 / (t / pow(cbrt((l / k)), 2.0));
double tmp;
if (k <= -6.5e+47) {
tmp = 2.0 / (((k * t) / (l * (l / k))) * t_1);
} else if (k <= 5.7e-5) {
tmp = t_2 * pow(t_2, 2.0);
} else {
tmp = 2.0 / (t_1 * ((k * ((k * t) / l)) / l));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.sin(k) * Math.tan(k);
double t_2 = 1.0 / (t / Math.pow(Math.cbrt((l / k)), 2.0));
double tmp;
if (k <= -6.5e+47) {
tmp = 2.0 / (((k * t) / (l * (l / k))) * t_1);
} else if (k <= 5.7e-5) {
tmp = t_2 * Math.pow(t_2, 2.0);
} else {
tmp = 2.0 / (t_1 * ((k * ((k * t) / l)) / l));
}
return tmp;
}
function code(t, l, k) t_1 = Float64(sin(k) * tan(k)) t_2 = Float64(1.0 / Float64(t / (cbrt(Float64(l / k)) ^ 2.0))) tmp = 0.0 if (k <= -6.5e+47) tmp = Float64(2.0 / Float64(Float64(Float64(k * t) / Float64(l * Float64(l / k))) * t_1)); elseif (k <= 5.7e-5) tmp = Float64(t_2 * (t_2 ^ 2.0)); else tmp = Float64(2.0 / Float64(t_1 * Float64(Float64(k * Float64(Float64(k * t) / l)) / l))); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(1.0 / N[(t / N[Power[N[Power[N[(l / k), $MachinePrecision], 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -6.5e+47], N[(2.0 / N[(N[(N[(k * t), $MachinePrecision] / N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 5.7e-5], N[(t$95$2 * N[Power[t$95$2, 2.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$1 * N[(N[(k * N[(N[(k * t), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \sin k \cdot \tan k\\
t_2 := \frac{1}{\frac{t}{{\left(\sqrt[3]{\frac{\ell}{k}}\right)}^{2}}}\\
\mathbf{if}\;k \leq -6.5 \cdot 10^{+47}:\\
\;\;\;\;\frac{2}{\frac{k \cdot t}{\ell \cdot \frac{\ell}{k}} \cdot t_1}\\
\mathbf{elif}\;k \leq 5.7 \cdot 10^{-5}:\\
\;\;\;\;t_2 \cdot {t_2}^{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_1 \cdot \frac{k \cdot \frac{k \cdot t}{\ell}}{\ell}}\\
\end{array}
\end{array}
if k < -6.49999999999999988e47Initial program 37.9%
*-commutative37.9%
associate-*l*37.9%
associate-*r*37.9%
+-commutative37.9%
associate-+r+37.9%
metadata-eval37.9%
Simplified37.9%
Taylor expanded in k around inf 74.5%
*-commutative74.5%
unpow274.5%
times-frac71.8%
unpow271.8%
Simplified71.8%
associate-*l/71.9%
associate-/l*77.0%
Applied egg-rr77.0%
associate-*r/83.5%
Applied egg-rr83.5%
*-un-lft-identity83.5%
associate-/l/84.8%
Applied egg-rr84.8%
if -6.49999999999999988e47 < k < 5.7000000000000003e-5Initial program 69.8%
associate-*l*69.8%
+-commutative69.8%
Simplified69.8%
Taylor expanded in k around 0 62.3%
*-commutative62.3%
unpow262.3%
times-frac66.5%
unpow266.5%
Simplified66.5%
associate-*l/66.6%
associate-/l*75.0%
Applied egg-rr75.0%
add-cube-cbrt74.9%
Applied egg-rr90.6%
if 5.7000000000000003e-5 < k Initial program 38.5%
*-commutative38.5%
associate-*l*38.5%
associate-*r*38.5%
+-commutative38.5%
associate-+r+38.5%
metadata-eval38.5%
Simplified38.5%
Taylor expanded in k around inf 64.7%
*-commutative64.7%
unpow264.7%
times-frac65.1%
unpow265.1%
Simplified65.1%
associate-*l/72.2%
associate-/l*84.8%
Applied egg-rr84.8%
associate-*r/90.3%
Applied egg-rr90.3%
associate-/r/90.3%
Applied egg-rr90.3%
Final simplification89.2%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (* (sin k) (tan k))))
(if (<= k -6.5e+47)
(/ 2.0 (* (/ (* k t) (* l (/ l k))) t_1))
(if (<= k 3.8e-5)
(pow (/ 1.0 (/ t (pow (cbrt (/ l k)) 2.0))) 3.0)
(/ 2.0 (* t_1 (/ (* k (/ (* k t) l)) l)))))))
double code(double t, double l, double k) {
double t_1 = sin(k) * tan(k);
double tmp;
if (k <= -6.5e+47) {
tmp = 2.0 / (((k * t) / (l * (l / k))) * t_1);
} else if (k <= 3.8e-5) {
tmp = pow((1.0 / (t / pow(cbrt((l / k)), 2.0))), 3.0);
} else {
tmp = 2.0 / (t_1 * ((k * ((k * t) / l)) / l));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.sin(k) * Math.tan(k);
double tmp;
if (k <= -6.5e+47) {
tmp = 2.0 / (((k * t) / (l * (l / k))) * t_1);
} else if (k <= 3.8e-5) {
tmp = Math.pow((1.0 / (t / Math.pow(Math.cbrt((l / k)), 2.0))), 3.0);
} else {
tmp = 2.0 / (t_1 * ((k * ((k * t) / l)) / l));
}
return tmp;
}
function code(t, l, k) t_1 = Float64(sin(k) * tan(k)) tmp = 0.0 if (k <= -6.5e+47) tmp = Float64(2.0 / Float64(Float64(Float64(k * t) / Float64(l * Float64(l / k))) * t_1)); elseif (k <= 3.8e-5) tmp = Float64(1.0 / Float64(t / (cbrt(Float64(l / k)) ^ 2.0))) ^ 3.0; else tmp = Float64(2.0 / Float64(t_1 * Float64(Float64(k * Float64(Float64(k * t) / l)) / l))); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, -6.5e+47], N[(2.0 / N[(N[(N[(k * t), $MachinePrecision] / N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 3.8e-5], N[Power[N[(1.0 / N[(t / N[Power[N[Power[N[(l / k), $MachinePrecision], 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision], N[(2.0 / N[(t$95$1 * N[(N[(k * N[(N[(k * t), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \sin k \cdot \tan k\\
\mathbf{if}\;k \leq -6.5 \cdot 10^{+47}:\\
\;\;\;\;\frac{2}{\frac{k \cdot t}{\ell \cdot \frac{\ell}{k}} \cdot t_1}\\
\mathbf{elif}\;k \leq 3.8 \cdot 10^{-5}:\\
\;\;\;\;{\left(\frac{1}{\frac{t}{{\left(\sqrt[3]{\frac{\ell}{k}}\right)}^{2}}}\right)}^{3}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_1 \cdot \frac{k \cdot \frac{k \cdot t}{\ell}}{\ell}}\\
\end{array}
\end{array}
if k < -6.49999999999999988e47Initial program 37.9%
*-commutative37.9%
associate-*l*37.9%
associate-*r*37.9%
+-commutative37.9%
associate-+r+37.9%
metadata-eval37.9%
Simplified37.9%
Taylor expanded in k around inf 74.5%
*-commutative74.5%
unpow274.5%
times-frac71.8%
unpow271.8%
Simplified71.8%
associate-*l/71.9%
associate-/l*77.0%
Applied egg-rr77.0%
associate-*r/83.5%
Applied egg-rr83.5%
*-un-lft-identity83.5%
associate-/l/84.8%
Applied egg-rr84.8%
if -6.49999999999999988e47 < k < 3.8000000000000002e-5Initial program 69.8%
associate-*l*69.8%
+-commutative69.8%
Simplified69.8%
Taylor expanded in k around 0 62.3%
*-commutative62.3%
unpow262.3%
times-frac66.5%
unpow266.5%
Simplified66.5%
associate-*l/66.6%
associate-/l*75.0%
Applied egg-rr75.0%
add-cube-cbrt74.9%
pow374.9%
Applied egg-rr90.6%
if 3.8000000000000002e-5 < k Initial program 38.5%
*-commutative38.5%
associate-*l*38.5%
associate-*r*38.5%
+-commutative38.5%
associate-+r+38.5%
metadata-eval38.5%
Simplified38.5%
Taylor expanded in k around inf 64.7%
*-commutative64.7%
unpow264.7%
times-frac65.1%
unpow265.1%
Simplified65.1%
associate-*l/72.2%
associate-/l*84.8%
Applied egg-rr84.8%
associate-*r/90.3%
Applied egg-rr90.3%
associate-/r/90.3%
Applied egg-rr90.3%
Final simplification89.2%
(FPCore (t l k)
:precision binary64
(if (<= t -0.034)
(/ 2.0 (* 2.0 (/ (/ (* k (pow t 3.0)) (/ l k)) l)))
(if (<= t 3.8e-78)
(* (* l l) (/ 2.0 (* (tan k) (* (* k k) (* t (sin k))))))
(pow (* (/ l k) (/ 1.0 (pow t 1.5))) 2.0))))
double code(double t, double l, double k) {
double tmp;
if (t <= -0.034) {
tmp = 2.0 / (2.0 * (((k * pow(t, 3.0)) / (l / k)) / l));
} else if (t <= 3.8e-78) {
tmp = (l * l) * (2.0 / (tan(k) * ((k * k) * (t * sin(k)))));
} else {
tmp = pow(((l / k) * (1.0 / pow(t, 1.5))), 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 (t <= (-0.034d0)) then
tmp = 2.0d0 / (2.0d0 * (((k * (t ** 3.0d0)) / (l / k)) / l))
else if (t <= 3.8d-78) then
tmp = (l * l) * (2.0d0 / (tan(k) * ((k * k) * (t * sin(k)))))
else
tmp = ((l / k) * (1.0d0 / (t ** 1.5d0))) ** 2.0d0
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -0.034) {
tmp = 2.0 / (2.0 * (((k * Math.pow(t, 3.0)) / (l / k)) / l));
} else if (t <= 3.8e-78) {
tmp = (l * l) * (2.0 / (Math.tan(k) * ((k * k) * (t * Math.sin(k)))));
} else {
tmp = Math.pow(((l / k) * (1.0 / Math.pow(t, 1.5))), 2.0);
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -0.034: tmp = 2.0 / (2.0 * (((k * math.pow(t, 3.0)) / (l / k)) / l)) elif t <= 3.8e-78: tmp = (l * l) * (2.0 / (math.tan(k) * ((k * k) * (t * math.sin(k))))) else: tmp = math.pow(((l / k) * (1.0 / math.pow(t, 1.5))), 2.0) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -0.034) tmp = Float64(2.0 / Float64(2.0 * Float64(Float64(Float64(k * (t ^ 3.0)) / Float64(l / k)) / l))); elseif (t <= 3.8e-78) tmp = Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(Float64(k * k) * Float64(t * sin(k)))))); else tmp = Float64(Float64(l / k) * Float64(1.0 / (t ^ 1.5))) ^ 2.0; end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -0.034) tmp = 2.0 / (2.0 * (((k * (t ^ 3.0)) / (l / k)) / l)); elseif (t <= 3.8e-78) tmp = (l * l) * (2.0 / (tan(k) * ((k * k) * (t * sin(k))))); else tmp = ((l / k) * (1.0 / (t ^ 1.5))) ^ 2.0; end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -0.034], N[(2.0 / N[(2.0 * N[(N[(N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3.8e-78], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * N[(t * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(l / k), $MachinePrecision] * N[(1.0 / N[Power[t, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -0.034:\\
\;\;\;\;\frac{2}{2 \cdot \frac{\frac{k \cdot {t}^{3}}{\frac{\ell}{k}}}{\ell}}\\
\mathbf{elif}\;t \leq 3.8 \cdot 10^{-78}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(\left(k \cdot k\right) \cdot \left(t \cdot \sin k\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\ell}{k} \cdot \frac{1}{{t}^{1.5}}\right)}^{2}\\
\end{array}
\end{array}
if t < -0.034000000000000002Initial program 66.6%
associate-*l*66.6%
+-commutative66.6%
Simplified66.6%
Taylor expanded in k around 0 54.8%
*-commutative54.8%
unpow254.8%
times-frac57.1%
unpow257.1%
Simplified57.1%
associate-*l/58.6%
associate-/l*66.8%
Applied egg-rr66.8%
associate-*r/74.8%
Applied egg-rr74.8%
if -0.034000000000000002 < t < 3.7999999999999999e-78Initial program 34.5%
associate-/l/34.5%
associate-*l/33.6%
associate-*l/33.6%
associate-/r/34.2%
*-commutative34.2%
associate-/l/34.2%
associate-*r*34.2%
*-commutative34.2%
associate-*r*34.2%
*-commutative34.2%
Simplified34.2%
Taylor expanded in k around inf 73.4%
unpow273.4%
Simplified73.4%
if 3.7999999999999999e-78 < t Initial program 71.2%
associate-*l*71.2%
+-commutative71.2%
Simplified71.2%
Taylor expanded in k around 0 62.5%
*-commutative62.5%
unpow262.5%
times-frac66.6%
unpow266.6%
Simplified66.6%
associate-*l/66.6%
associate-/l*74.0%
Applied egg-rr74.0%
expm1-log1p-u73.9%
expm1-udef69.5%
Applied egg-rr74.0%
expm1-def80.8%
expm1-log1p81.2%
associate-/r/81.2%
Simplified81.2%
Final simplification76.2%
(FPCore (t l k)
:precision binary64
(if (<= t -8.6e+36)
(/ l (/ (* k (* k (pow t 3.0))) l))
(if (<= t 6.2e-77)
(/ 2.0 (* (sin k) (* (tan k) (/ t (* (/ l k) (/ l k))))))
(pow (* (/ l k) (/ 1.0 (pow t 1.5))) 2.0))))
double code(double t, double l, double k) {
double tmp;
if (t <= -8.6e+36) {
tmp = l / ((k * (k * pow(t, 3.0))) / l);
} else if (t <= 6.2e-77) {
tmp = 2.0 / (sin(k) * (tan(k) * (t / ((l / k) * (l / k)))));
} else {
tmp = pow(((l / k) * (1.0 / pow(t, 1.5))), 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 (t <= (-8.6d+36)) then
tmp = l / ((k * (k * (t ** 3.0d0))) / l)
else if (t <= 6.2d-77) then
tmp = 2.0d0 / (sin(k) * (tan(k) * (t / ((l / k) * (l / k)))))
else
tmp = ((l / k) * (1.0d0 / (t ** 1.5d0))) ** 2.0d0
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -8.6e+36) {
tmp = l / ((k * (k * Math.pow(t, 3.0))) / l);
} else if (t <= 6.2e-77) {
tmp = 2.0 / (Math.sin(k) * (Math.tan(k) * (t / ((l / k) * (l / k)))));
} else {
tmp = Math.pow(((l / k) * (1.0 / Math.pow(t, 1.5))), 2.0);
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -8.6e+36: tmp = l / ((k * (k * math.pow(t, 3.0))) / l) elif t <= 6.2e-77: tmp = 2.0 / (math.sin(k) * (math.tan(k) * (t / ((l / k) * (l / k))))) else: tmp = math.pow(((l / k) * (1.0 / math.pow(t, 1.5))), 2.0) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -8.6e+36) tmp = Float64(l / Float64(Float64(k * Float64(k * (t ^ 3.0))) / l)); elseif (t <= 6.2e-77) tmp = Float64(2.0 / Float64(sin(k) * Float64(tan(k) * Float64(t / Float64(Float64(l / k) * Float64(l / k)))))); else tmp = Float64(Float64(l / k) * Float64(1.0 / (t ^ 1.5))) ^ 2.0; end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -8.6e+36) tmp = l / ((k * (k * (t ^ 3.0))) / l); elseif (t <= 6.2e-77) tmp = 2.0 / (sin(k) * (tan(k) * (t / ((l / k) * (l / k))))); else tmp = ((l / k) * (1.0 / (t ^ 1.5))) ^ 2.0; end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -8.6e+36], N[(l / N[(N[(k * N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.2e-77], N[(2.0 / N[(N[Sin[k], $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(t / N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(l / k), $MachinePrecision] * N[(1.0 / N[Power[t, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -8.6 \cdot 10^{+36}:\\
\;\;\;\;\frac{\ell}{\frac{k \cdot \left(k \cdot {t}^{3}\right)}{\ell}}\\
\mathbf{elif}\;t \leq 6.2 \cdot 10^{-77}:\\
\;\;\;\;\frac{2}{\sin k \cdot \left(\tan k \cdot \frac{t}{\frac{\ell}{k} \cdot \frac{\ell}{k}}\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\ell}{k} \cdot \frac{1}{{t}^{1.5}}\right)}^{2}\\
\end{array}
\end{array}
if t < -8.6000000000000001e36Initial program 65.3%
associate-/l/65.3%
associate-*l/69.0%
associate-*l/70.4%
associate-/r/70.4%
*-commutative70.4%
associate-/l/70.4%
associate-*r*70.4%
*-commutative70.4%
associate-*r*70.4%
*-commutative70.4%
Simplified70.4%
Taylor expanded in k around 0 56.7%
unpow256.7%
unpow256.7%
Simplified56.7%
*-un-lft-identity56.7%
associate-/l*63.0%
associate-*l*78.4%
Applied egg-rr78.4%
if -8.6000000000000001e36 < t < 6.20000000000000016e-77Initial program 37.9%
*-commutative37.9%
associate-*l*37.1%
associate-*r*37.1%
+-commutative37.1%
associate-+r+37.1%
metadata-eval37.1%
Simplified37.1%
Taylor expanded in k around inf 71.8%
*-commutative71.8%
unpow271.8%
times-frac75.0%
unpow275.0%
Simplified75.0%
associate-*l/78.1%
associate-/l*86.8%
Applied egg-rr86.8%
associate-/l*78.1%
associate-*l/75.0%
associate-*l/80.9%
associate-*r*80.6%
expm1-log1p-u63.9%
expm1-udef27.6%
Applied egg-rr27.7%
expm1-def71.8%
expm1-log1p86.9%
associate-*l*87.4%
Simplified87.4%
unpow287.4%
Applied egg-rr87.4%
if 6.20000000000000016e-77 < t Initial program 71.2%
associate-*l*71.2%
+-commutative71.2%
Simplified71.2%
Taylor expanded in k around 0 62.5%
*-commutative62.5%
unpow262.5%
times-frac66.6%
unpow266.6%
Simplified66.6%
associate-*l/66.6%
associate-/l*74.0%
Applied egg-rr74.0%
expm1-log1p-u73.9%
expm1-udef69.5%
Applied egg-rr74.0%
expm1-def80.8%
expm1-log1p81.2%
associate-/r/81.2%
Simplified81.2%
Final simplification83.6%
(FPCore (t l k)
:precision binary64
(if (<= t -5.8e+37)
(/ l (/ (* k (* k (pow t 3.0))) l))
(if (<= t 6.2e-77)
(/ 2.0 (* (* (sin k) (tan k)) (/ (* k (/ (* k t) l)) l)))
(pow (* (/ l k) (/ 1.0 (pow t 1.5))) 2.0))))
double code(double t, double l, double k) {
double tmp;
if (t <= -5.8e+37) {
tmp = l / ((k * (k * pow(t, 3.0))) / l);
} else if (t <= 6.2e-77) {
tmp = 2.0 / ((sin(k) * tan(k)) * ((k * ((k * t) / l)) / l));
} else {
tmp = pow(((l / k) * (1.0 / pow(t, 1.5))), 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 (t <= (-5.8d+37)) then
tmp = l / ((k * (k * (t ** 3.0d0))) / l)
else if (t <= 6.2d-77) then
tmp = 2.0d0 / ((sin(k) * tan(k)) * ((k * ((k * t) / l)) / l))
else
tmp = ((l / k) * (1.0d0 / (t ** 1.5d0))) ** 2.0d0
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -5.8e+37) {
tmp = l / ((k * (k * Math.pow(t, 3.0))) / l);
} else if (t <= 6.2e-77) {
tmp = 2.0 / ((Math.sin(k) * Math.tan(k)) * ((k * ((k * t) / l)) / l));
} else {
tmp = Math.pow(((l / k) * (1.0 / Math.pow(t, 1.5))), 2.0);
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -5.8e+37: tmp = l / ((k * (k * math.pow(t, 3.0))) / l) elif t <= 6.2e-77: tmp = 2.0 / ((math.sin(k) * math.tan(k)) * ((k * ((k * t) / l)) / l)) else: tmp = math.pow(((l / k) * (1.0 / math.pow(t, 1.5))), 2.0) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -5.8e+37) tmp = Float64(l / Float64(Float64(k * Float64(k * (t ^ 3.0))) / l)); elseif (t <= 6.2e-77) tmp = Float64(2.0 / Float64(Float64(sin(k) * tan(k)) * Float64(Float64(k * Float64(Float64(k * t) / l)) / l))); else tmp = Float64(Float64(l / k) * Float64(1.0 / (t ^ 1.5))) ^ 2.0; end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -5.8e+37) tmp = l / ((k * (k * (t ^ 3.0))) / l); elseif (t <= 6.2e-77) tmp = 2.0 / ((sin(k) * tan(k)) * ((k * ((k * t) / l)) / l)); else tmp = ((l / k) * (1.0 / (t ^ 1.5))) ^ 2.0; end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -5.8e+37], N[(l / N[(N[(k * N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.2e-77], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(k * N[(N[(k * t), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(l / k), $MachinePrecision] * N[(1.0 / N[Power[t, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -5.8 \cdot 10^{+37}:\\
\;\;\;\;\frac{\ell}{\frac{k \cdot \left(k \cdot {t}^{3}\right)}{\ell}}\\
\mathbf{elif}\;t \leq 6.2 \cdot 10^{-77}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \tan k\right) \cdot \frac{k \cdot \frac{k \cdot t}{\ell}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\ell}{k} \cdot \frac{1}{{t}^{1.5}}\right)}^{2}\\
\end{array}
\end{array}
if t < -5.79999999999999957e37Initial program 65.3%
associate-/l/65.3%
associate-*l/69.0%
associate-*l/70.4%
associate-/r/70.4%
*-commutative70.4%
associate-/l/70.4%
associate-*r*70.4%
*-commutative70.4%
associate-*r*70.4%
*-commutative70.4%
Simplified70.4%
Taylor expanded in k around 0 56.7%
unpow256.7%
unpow256.7%
Simplified56.7%
*-un-lft-identity56.7%
associate-/l*63.0%
associate-*l*78.4%
Applied egg-rr78.4%
if -5.79999999999999957e37 < t < 6.20000000000000016e-77Initial program 37.9%
*-commutative37.9%
associate-*l*37.1%
associate-*r*37.1%
+-commutative37.1%
associate-+r+37.1%
metadata-eval37.1%
Simplified37.1%
Taylor expanded in k around inf 71.8%
*-commutative71.8%
unpow271.8%
times-frac75.0%
unpow275.0%
Simplified75.0%
associate-*l/78.1%
associate-/l*86.8%
Applied egg-rr86.8%
associate-*r/92.1%
Applied egg-rr92.1%
associate-/r/92.1%
Applied egg-rr92.1%
if 6.20000000000000016e-77 < t Initial program 71.2%
associate-*l*71.2%
+-commutative71.2%
Simplified71.2%
Taylor expanded in k around 0 62.5%
*-commutative62.5%
unpow262.5%
times-frac66.6%
unpow266.6%
Simplified66.6%
associate-*l/66.6%
associate-/l*74.0%
Applied egg-rr74.0%
expm1-log1p-u73.9%
expm1-udef69.5%
Applied egg-rr74.0%
expm1-def80.8%
expm1-log1p81.2%
associate-/r/81.2%
Simplified81.2%
Final simplification85.9%
(FPCore (t l k)
:precision binary64
(if (<= t -0.0055)
(/ 2.0 (* 2.0 (/ (/ (* k (pow t 3.0)) (/ l k)) l)))
(if (<= t 6.2e-77)
(/ 2.0 (* (* (/ t l) (/ (* k k) l)) (/ (* k k) (cos k))))
(pow (* (/ l k) (/ 1.0 (pow t 1.5))) 2.0))))
double code(double t, double l, double k) {
double tmp;
if (t <= -0.0055) {
tmp = 2.0 / (2.0 * (((k * pow(t, 3.0)) / (l / k)) / l));
} else if (t <= 6.2e-77) {
tmp = 2.0 / (((t / l) * ((k * k) / l)) * ((k * k) / cos(k)));
} else {
tmp = pow(((l / k) * (1.0 / pow(t, 1.5))), 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 (t <= (-0.0055d0)) then
tmp = 2.0d0 / (2.0d0 * (((k * (t ** 3.0d0)) / (l / k)) / l))
else if (t <= 6.2d-77) then
tmp = 2.0d0 / (((t / l) * ((k * k) / l)) * ((k * k) / cos(k)))
else
tmp = ((l / k) * (1.0d0 / (t ** 1.5d0))) ** 2.0d0
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -0.0055) {
tmp = 2.0 / (2.0 * (((k * Math.pow(t, 3.0)) / (l / k)) / l));
} else if (t <= 6.2e-77) {
tmp = 2.0 / (((t / l) * ((k * k) / l)) * ((k * k) / Math.cos(k)));
} else {
tmp = Math.pow(((l / k) * (1.0 / Math.pow(t, 1.5))), 2.0);
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -0.0055: tmp = 2.0 / (2.0 * (((k * math.pow(t, 3.0)) / (l / k)) / l)) elif t <= 6.2e-77: tmp = 2.0 / (((t / l) * ((k * k) / l)) * ((k * k) / math.cos(k))) else: tmp = math.pow(((l / k) * (1.0 / math.pow(t, 1.5))), 2.0) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -0.0055) tmp = Float64(2.0 / Float64(2.0 * Float64(Float64(Float64(k * (t ^ 3.0)) / Float64(l / k)) / l))); elseif (t <= 6.2e-77) tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * Float64(Float64(k * k) / l)) * Float64(Float64(k * k) / cos(k)))); else tmp = Float64(Float64(l / k) * Float64(1.0 / (t ^ 1.5))) ^ 2.0; end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -0.0055) tmp = 2.0 / (2.0 * (((k * (t ^ 3.0)) / (l / k)) / l)); elseif (t <= 6.2e-77) tmp = 2.0 / (((t / l) * ((k * k) / l)) * ((k * k) / cos(k))); else tmp = ((l / k) * (1.0 / (t ^ 1.5))) ^ 2.0; end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -0.0055], N[(2.0 / N[(2.0 * N[(N[(N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 6.2e-77], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[Power[N[(N[(l / k), $MachinePrecision] * N[(1.0 / N[Power[t, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -0.0055:\\
\;\;\;\;\frac{2}{2 \cdot \frac{\frac{k \cdot {t}^{3}}{\frac{\ell}{k}}}{\ell}}\\
\mathbf{elif}\;t \leq 6.2 \cdot 10^{-77}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot \frac{k \cdot k}{\ell}\right) \cdot \frac{k \cdot k}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{\ell}{k} \cdot \frac{1}{{t}^{1.5}}\right)}^{2}\\
\end{array}
\end{array}
if t < -0.0054999999999999997Initial program 66.6%
associate-*l*66.6%
+-commutative66.6%
Simplified66.6%
Taylor expanded in k around 0 54.8%
*-commutative54.8%
unpow254.8%
times-frac57.1%
unpow257.1%
Simplified57.1%
associate-*l/58.6%
associate-/l*66.8%
Applied egg-rr66.8%
associate-*r/74.8%
Applied egg-rr74.8%
if -0.0054999999999999997 < t < 6.20000000000000016e-77Initial program 34.5%
*-commutative34.5%
associate-*l*34.5%
associate-*r*34.5%
+-commutative34.5%
associate-+r+34.5%
metadata-eval34.5%
Simplified34.5%
Taylor expanded in k around inf 73.4%
*-commutative73.4%
unpow273.4%
times-frac76.0%
unpow276.0%
Simplified76.0%
Taylor expanded in k around inf 76.0%
Taylor expanded in k around 0 67.4%
unpow267.4%
Simplified67.4%
if 6.20000000000000016e-77 < t Initial program 71.2%
associate-*l*71.2%
+-commutative71.2%
Simplified71.2%
Taylor expanded in k around 0 62.5%
*-commutative62.5%
unpow262.5%
times-frac66.6%
unpow266.6%
Simplified66.6%
associate-*l/66.6%
associate-/l*74.0%
Applied egg-rr74.0%
expm1-log1p-u73.9%
expm1-udef69.5%
Applied egg-rr74.0%
expm1-def80.8%
expm1-log1p81.2%
associate-/r/81.2%
Simplified81.2%
Final simplification73.6%
(FPCore (t l k)
:precision binary64
(if (<= t -0.0055)
(/ 2.0 (* 2.0 (/ (/ (* k (pow t 3.0)) (/ l k)) l)))
(if (<= t 1.15e-96)
(/ 2.0 (* (* (/ t l) (/ (* k k) l)) (/ (* k k) (cos k))))
(/ 2.0 (* 2.0 (* (pow t 3.0) (* (/ k l) (/ k l))))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -0.0055) {
tmp = 2.0 / (2.0 * (((k * pow(t, 3.0)) / (l / k)) / l));
} else if (t <= 1.15e-96) {
tmp = 2.0 / (((t / l) * ((k * k) / l)) * ((k * k) / cos(k)));
} else {
tmp = 2.0 / (2.0 * (pow(t, 3.0) * ((k / l) * (k / l))));
}
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 <= (-0.0055d0)) then
tmp = 2.0d0 / (2.0d0 * (((k * (t ** 3.0d0)) / (l / k)) / l))
else if (t <= 1.15d-96) then
tmp = 2.0d0 / (((t / l) * ((k * k) / l)) * ((k * k) / cos(k)))
else
tmp = 2.0d0 / (2.0d0 * ((t ** 3.0d0) * ((k / l) * (k / l))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -0.0055) {
tmp = 2.0 / (2.0 * (((k * Math.pow(t, 3.0)) / (l / k)) / l));
} else if (t <= 1.15e-96) {
tmp = 2.0 / (((t / l) * ((k * k) / l)) * ((k * k) / Math.cos(k)));
} else {
tmp = 2.0 / (2.0 * (Math.pow(t, 3.0) * ((k / l) * (k / l))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -0.0055: tmp = 2.0 / (2.0 * (((k * math.pow(t, 3.0)) / (l / k)) / l)) elif t <= 1.15e-96: tmp = 2.0 / (((t / l) * ((k * k) / l)) * ((k * k) / math.cos(k))) else: tmp = 2.0 / (2.0 * (math.pow(t, 3.0) * ((k / l) * (k / l)))) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -0.0055) tmp = Float64(2.0 / Float64(2.0 * Float64(Float64(Float64(k * (t ^ 3.0)) / Float64(l / k)) / l))); elseif (t <= 1.15e-96) tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * Float64(Float64(k * k) / l)) * Float64(Float64(k * k) / cos(k)))); else tmp = Float64(2.0 / Float64(2.0 * Float64((t ^ 3.0) * Float64(Float64(k / l) * Float64(k / l))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -0.0055) tmp = 2.0 / (2.0 * (((k * (t ^ 3.0)) / (l / k)) / l)); elseif (t <= 1.15e-96) tmp = 2.0 / (((t / l) * ((k * k) / l)) * ((k * k) / cos(k))); else tmp = 2.0 / (2.0 * ((t ^ 3.0) * ((k / l) * (k / l)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -0.0055], N[(2.0 / N[(2.0 * N[(N[(N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.15e-96], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(2.0 * N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -0.0055:\\
\;\;\;\;\frac{2}{2 \cdot \frac{\frac{k \cdot {t}^{3}}{\frac{\ell}{k}}}{\ell}}\\
\mathbf{elif}\;t \leq 1.15 \cdot 10^{-96}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot \frac{k \cdot k}{\ell}\right) \cdot \frac{k \cdot k}{\cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{2 \cdot \left({t}^{3} \cdot \left(\frac{k}{\ell} \cdot \frac{k}{\ell}\right)\right)}\\
\end{array}
\end{array}
if t < -0.0054999999999999997Initial program 66.6%
associate-*l*66.6%
+-commutative66.6%
Simplified66.6%
Taylor expanded in k around 0 54.8%
*-commutative54.8%
unpow254.8%
times-frac57.1%
unpow257.1%
Simplified57.1%
associate-*l/58.6%
associate-/l*66.8%
Applied egg-rr66.8%
associate-*r/74.8%
Applied egg-rr74.8%
if -0.0054999999999999997 < t < 1.15e-96Initial program 32.9%
*-commutative32.9%
associate-*l*32.9%
associate-*r*32.9%
+-commutative32.9%
associate-+r+32.9%
metadata-eval32.9%
Simplified32.9%
Taylor expanded in k around inf 74.0%
*-commutative74.0%
unpow274.0%
times-frac76.8%
unpow276.8%
Simplified76.8%
Taylor expanded in k around inf 76.8%
Taylor expanded in k around 0 68.2%
unpow268.2%
Simplified68.2%
if 1.15e-96 < t Initial program 69.0%
associate-*l*69.0%
+-commutative69.0%
Simplified69.0%
Taylor expanded in k around 0 61.0%
*-commutative61.0%
unpow261.0%
times-frac65.7%
unpow265.7%
Simplified65.7%
Taylor expanded in t around 0 61.0%
unpow261.0%
associate-/l*61.1%
associate-/r/63.0%
unpow263.0%
times-frac76.3%
Simplified76.3%
Final simplification72.7%
(FPCore (t l k)
:precision binary64
(if (<= t -24000.0)
(/ l (/ (* k (* k (pow t 3.0))) l))
(if (<= t 8e-100)
(/ 2.0 (* (* k k) (/ (* t (/ k (/ l k))) l)))
(/ 2.0 (* 2.0 (* (pow t 3.0) (* (/ k l) (/ k l))))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -24000.0) {
tmp = l / ((k * (k * pow(t, 3.0))) / l);
} else if (t <= 8e-100) {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
} else {
tmp = 2.0 / (2.0 * (pow(t, 3.0) * ((k / l) * (k / l))));
}
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 <= (-24000.0d0)) then
tmp = l / ((k * (k * (t ** 3.0d0))) / l)
else if (t <= 8d-100) then
tmp = 2.0d0 / ((k * k) * ((t * (k / (l / k))) / l))
else
tmp = 2.0d0 / (2.0d0 * ((t ** 3.0d0) * ((k / l) * (k / l))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -24000.0) {
tmp = l / ((k * (k * Math.pow(t, 3.0))) / l);
} else if (t <= 8e-100) {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
} else {
tmp = 2.0 / (2.0 * (Math.pow(t, 3.0) * ((k / l) * (k / l))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -24000.0: tmp = l / ((k * (k * math.pow(t, 3.0))) / l) elif t <= 8e-100: tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)) else: tmp = 2.0 / (2.0 * (math.pow(t, 3.0) * ((k / l) * (k / l)))) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -24000.0) tmp = Float64(l / Float64(Float64(k * Float64(k * (t ^ 3.0))) / l)); elseif (t <= 8e-100) tmp = Float64(2.0 / Float64(Float64(k * k) * Float64(Float64(t * Float64(k / Float64(l / k))) / l))); else tmp = Float64(2.0 / Float64(2.0 * Float64((t ^ 3.0) * Float64(Float64(k / l) * Float64(k / l))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -24000.0) tmp = l / ((k * (k * (t ^ 3.0))) / l); elseif (t <= 8e-100) tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)); else tmp = 2.0 / (2.0 * ((t ^ 3.0) * ((k / l) * (k / l)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -24000.0], N[(l / N[(N[(k * N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 8e-100], N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(N[(t * N[(k / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(2.0 * N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -24000:\\
\;\;\;\;\frac{\ell}{\frac{k \cdot \left(k \cdot {t}^{3}\right)}{\ell}}\\
\mathbf{elif}\;t \leq 8 \cdot 10^{-100}:\\
\;\;\;\;\frac{2}{\left(k \cdot k\right) \cdot \frac{t \cdot \frac{k}{\frac{\ell}{k}}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{2 \cdot \left({t}^{3} \cdot \left(\frac{k}{\ell} \cdot \frac{k}{\ell}\right)\right)}\\
\end{array}
\end{array}
if t < -24000Initial program 67.8%
associate-/l/67.8%
associate-*l/71.1%
associate-*l/71.6%
associate-/r/70.6%
*-commutative70.6%
associate-/l/70.5%
associate-*r*70.5%
*-commutative70.5%
associate-*r*70.6%
*-commutative70.6%
Simplified70.6%
Taylor expanded in k around 0 55.2%
unpow255.2%
unpow255.2%
Simplified55.2%
*-un-lft-identity55.2%
associate-/l*60.7%
associate-*l*75.3%
Applied egg-rr75.3%
if -24000 < t < 8.0000000000000002e-100Initial program 33.5%
*-commutative33.5%
associate-*l*33.5%
associate-*r*33.5%
+-commutative33.5%
associate-+r+33.5%
metadata-eval33.5%
Simplified33.5%
Taylor expanded in k around inf 73.1%
*-commutative73.1%
unpow273.1%
times-frac75.8%
unpow275.8%
Simplified75.8%
associate-*l/79.4%
associate-/l*87.7%
Applied egg-rr87.7%
Taylor expanded in k around 0 62.7%
unpow262.6%
Simplified62.7%
if 8.0000000000000002e-100 < t Initial program 69.0%
associate-*l*69.0%
+-commutative69.0%
Simplified69.0%
Taylor expanded in k around 0 61.0%
*-commutative61.0%
unpow261.0%
times-frac65.7%
unpow265.7%
Simplified65.7%
Taylor expanded in t around 0 61.0%
unpow261.0%
associate-/l*61.1%
associate-/r/63.0%
unpow263.0%
times-frac76.3%
Simplified76.3%
Final simplification70.5%
(FPCore (t l k)
:precision binary64
(if (<= t -0.0055)
(/ 2.0 (* 2.0 (/ (/ (* k (pow t 3.0)) (/ l k)) l)))
(if (<= t 4.2e-100)
(/ 2.0 (* (* k k) (/ (* t (/ k (/ l k))) l)))
(/ 2.0 (* 2.0 (* (pow t 3.0) (* (/ k l) (/ k l))))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -0.0055) {
tmp = 2.0 / (2.0 * (((k * pow(t, 3.0)) / (l / k)) / l));
} else if (t <= 4.2e-100) {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
} else {
tmp = 2.0 / (2.0 * (pow(t, 3.0) * ((k / l) * (k / l))));
}
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 <= (-0.0055d0)) then
tmp = 2.0d0 / (2.0d0 * (((k * (t ** 3.0d0)) / (l / k)) / l))
else if (t <= 4.2d-100) then
tmp = 2.0d0 / ((k * k) * ((t * (k / (l / k))) / l))
else
tmp = 2.0d0 / (2.0d0 * ((t ** 3.0d0) * ((k / l) * (k / l))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -0.0055) {
tmp = 2.0 / (2.0 * (((k * Math.pow(t, 3.0)) / (l / k)) / l));
} else if (t <= 4.2e-100) {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
} else {
tmp = 2.0 / (2.0 * (Math.pow(t, 3.0) * ((k / l) * (k / l))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -0.0055: tmp = 2.0 / (2.0 * (((k * math.pow(t, 3.0)) / (l / k)) / l)) elif t <= 4.2e-100: tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)) else: tmp = 2.0 / (2.0 * (math.pow(t, 3.0) * ((k / l) * (k / l)))) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -0.0055) tmp = Float64(2.0 / Float64(2.0 * Float64(Float64(Float64(k * (t ^ 3.0)) / Float64(l / k)) / l))); elseif (t <= 4.2e-100) tmp = Float64(2.0 / Float64(Float64(k * k) * Float64(Float64(t * Float64(k / Float64(l / k))) / l))); else tmp = Float64(2.0 / Float64(2.0 * Float64((t ^ 3.0) * Float64(Float64(k / l) * Float64(k / l))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -0.0055) tmp = 2.0 / (2.0 * (((k * (t ^ 3.0)) / (l / k)) / l)); elseif (t <= 4.2e-100) tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)); else tmp = 2.0 / (2.0 * ((t ^ 3.0) * ((k / l) * (k / l)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -0.0055], N[(2.0 / N[(2.0 * N[(N[(N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.2e-100], N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(N[(t * N[(k / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(2.0 * N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -0.0055:\\
\;\;\;\;\frac{2}{2 \cdot \frac{\frac{k \cdot {t}^{3}}{\frac{\ell}{k}}}{\ell}}\\
\mathbf{elif}\;t \leq 4.2 \cdot 10^{-100}:\\
\;\;\;\;\frac{2}{\left(k \cdot k\right) \cdot \frac{t \cdot \frac{k}{\frac{\ell}{k}}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{2 \cdot \left({t}^{3} \cdot \left(\frac{k}{\ell} \cdot \frac{k}{\ell}\right)\right)}\\
\end{array}
\end{array}
if t < -0.0054999999999999997Initial program 66.6%
associate-*l*66.6%
+-commutative66.6%
Simplified66.6%
Taylor expanded in k around 0 54.8%
*-commutative54.8%
unpow254.8%
times-frac57.1%
unpow257.1%
Simplified57.1%
associate-*l/58.6%
associate-/l*66.8%
Applied egg-rr66.8%
associate-*r/74.8%
Applied egg-rr74.8%
if -0.0054999999999999997 < t < 4.20000000000000019e-100Initial program 32.9%
*-commutative32.9%
associate-*l*32.9%
associate-*r*32.9%
+-commutative32.9%
associate-+r+32.9%
metadata-eval32.9%
Simplified32.9%
Taylor expanded in k around inf 74.0%
*-commutative74.0%
unpow274.0%
times-frac76.8%
unpow276.8%
Simplified76.8%
associate-*l/80.5%
associate-/l*87.2%
Applied egg-rr87.2%
Taylor expanded in k around 0 63.2%
unpow263.0%
Simplified63.2%
if 4.20000000000000019e-100 < t Initial program 69.0%
associate-*l*69.0%
+-commutative69.0%
Simplified69.0%
Taylor expanded in k around 0 61.0%
*-commutative61.0%
unpow261.0%
times-frac65.7%
unpow265.7%
Simplified65.7%
Taylor expanded in t around 0 61.0%
unpow261.0%
associate-/l*61.1%
associate-/r/63.0%
unpow263.0%
times-frac76.3%
Simplified76.3%
Final simplification70.7%
(FPCore (t l k) :precision binary64 (if (or (<= t -56.0) (not (<= t 1.9e-107))) (* l (/ (/ l (* k k)) (pow t 3.0))) (/ 2.0 (* (* k k) (/ (* t (/ k (/ l k))) l)))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -56.0) || !(t <= 1.9e-107)) {
tmp = l * ((l / (k * k)) / pow(t, 3.0));
} else {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
}
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 <= (-56.0d0)) .or. (.not. (t <= 1.9d-107))) then
tmp = l * ((l / (k * k)) / (t ** 3.0d0))
else
tmp = 2.0d0 / ((k * k) * ((t * (k / (l / k))) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -56.0) || !(t <= 1.9e-107)) {
tmp = l * ((l / (k * k)) / Math.pow(t, 3.0));
} else {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -56.0) or not (t <= 1.9e-107): tmp = l * ((l / (k * k)) / math.pow(t, 3.0)) else: tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -56.0) || !(t <= 1.9e-107)) tmp = Float64(l * Float64(Float64(l / Float64(k * k)) / (t ^ 3.0))); else tmp = Float64(2.0 / Float64(Float64(k * k) * Float64(Float64(t * Float64(k / Float64(l / k))) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -56.0) || ~((t <= 1.9e-107))) tmp = l * ((l / (k * k)) / (t ^ 3.0)); else tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -56.0], N[Not[LessEqual[t, 1.9e-107]], $MachinePrecision]], N[(l * N[(N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision] / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(N[(t * N[(k / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -56 \lor \neg \left(t \leq 1.9 \cdot 10^{-107}\right):\\
\;\;\;\;\ell \cdot \frac{\frac{\ell}{k \cdot k}}{{t}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(k \cdot k\right) \cdot \frac{t \cdot \frac{k}{\frac{\ell}{k}}}{\ell}}\\
\end{array}
\end{array}
if t < -56 or 1.9000000000000001e-107 < t Initial program 68.0%
associate-/l/68.0%
associate-*l/68.7%
associate-*l/68.9%
associate-/r/68.4%
*-commutative68.4%
associate-/l/68.4%
associate-*r*68.4%
*-commutative68.4%
associate-*r*68.4%
*-commutative68.4%
Simplified68.4%
Taylor expanded in k around 0 58.5%
unpow258.5%
unpow258.5%
Simplified58.5%
Taylor expanded in l around 0 58.5%
unpow258.5%
unpow258.5%
associate-*r*65.2%
associate-*l/70.9%
*-commutative70.9%
associate-*r*63.0%
associate-/r*63.6%
Simplified63.6%
if -56 < t < 1.9000000000000001e-107Initial program 32.9%
*-commutative32.9%
associate-*l*32.9%
associate-*r*32.9%
+-commutative32.9%
associate-+r+32.9%
metadata-eval32.9%
Simplified32.9%
Taylor expanded in k around inf 74.0%
*-commutative74.0%
unpow274.0%
times-frac76.7%
unpow276.7%
Simplified76.7%
associate-*l/80.4%
associate-/l*88.1%
Applied egg-rr88.1%
Taylor expanded in k around 0 63.1%
unpow263.0%
Simplified63.1%
Final simplification63.4%
(FPCore (t l k) :precision binary64 (if (or (<= t -28000.0) (not (<= t 3.2e-49))) (/ (* l l) (* k (* k (pow t 3.0)))) (/ 2.0 (* (* k k) (/ (* t (/ k (/ l k))) l)))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -28000.0) || !(t <= 3.2e-49)) {
tmp = (l * l) / (k * (k * pow(t, 3.0)));
} else {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
}
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 <= (-28000.0d0)) .or. (.not. (t <= 3.2d-49))) then
tmp = (l * l) / (k * (k * (t ** 3.0d0)))
else
tmp = 2.0d0 / ((k * k) * ((t * (k / (l / k))) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -28000.0) || !(t <= 3.2e-49)) {
tmp = (l * l) / (k * (k * Math.pow(t, 3.0)));
} else {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -28000.0) or not (t <= 3.2e-49): tmp = (l * l) / (k * (k * math.pow(t, 3.0))) else: tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -28000.0) || !(t <= 3.2e-49)) tmp = Float64(Float64(l * l) / Float64(k * Float64(k * (t ^ 3.0)))); else tmp = Float64(2.0 / Float64(Float64(k * k) * Float64(Float64(t * Float64(k / Float64(l / k))) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -28000.0) || ~((t <= 3.2e-49))) tmp = (l * l) / (k * (k * (t ^ 3.0))); else tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -28000.0], N[Not[LessEqual[t, 3.2e-49]], $MachinePrecision]], N[(N[(l * l), $MachinePrecision] / N[(k * N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(N[(t * N[(k / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -28000 \lor \neg \left(t \leq 3.2 \cdot 10^{-49}\right):\\
\;\;\;\;\frac{\ell \cdot \ell}{k \cdot \left(k \cdot {t}^{3}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(k \cdot k\right) \cdot \frac{t \cdot \frac{k}{\frac{\ell}{k}}}{\ell}}\\
\end{array}
\end{array}
if t < -28000 or 3.20000000000000002e-49 < t Initial program 70.5%
associate-/l/70.5%
associate-*l/71.9%
associate-*l/72.2%
associate-/r/71.1%
*-commutative71.1%
associate-/l/71.0%
associate-*r*71.0%
*-commutative71.0%
associate-*r*71.1%
*-commutative71.1%
Simplified71.1%
Taylor expanded in k around 0 60.6%
unpow260.6%
unpow260.6%
Simplified60.6%
Taylor expanded in k around 0 60.6%
unpow260.6%
associate-*r*70.0%
Simplified70.0%
if -28000 < t < 3.20000000000000002e-49Initial program 35.0%
*-commutative35.0%
associate-*l*35.0%
associate-*r*35.0%
+-commutative35.0%
associate-+r+35.0%
metadata-eval35.0%
Simplified35.0%
Taylor expanded in k around inf 70.8%
*-commutative70.8%
unpow270.8%
times-frac73.4%
unpow273.4%
Simplified73.4%
associate-*l/76.6%
associate-/l*86.5%
Applied egg-rr86.5%
Taylor expanded in k around 0 61.0%
unpow260.9%
Simplified61.0%
Final simplification65.9%
(FPCore (t l k) :precision binary64 (if (or (<= t -24000.0) (not (<= t 3.1e-77))) (/ l (/ (* k (* k (pow t 3.0))) l)) (/ 2.0 (* (* k k) (/ (* t (/ k (/ l k))) l)))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -24000.0) || !(t <= 3.1e-77)) {
tmp = l / ((k * (k * pow(t, 3.0))) / l);
} else {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
}
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 <= (-24000.0d0)) .or. (.not. (t <= 3.1d-77))) then
tmp = l / ((k * (k * (t ** 3.0d0))) / l)
else
tmp = 2.0d0 / ((k * k) * ((t * (k / (l / k))) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -24000.0) || !(t <= 3.1e-77)) {
tmp = l / ((k * (k * Math.pow(t, 3.0))) / l);
} else {
tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -24000.0) or not (t <= 3.1e-77): tmp = l / ((k * (k * math.pow(t, 3.0))) / l) else: tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -24000.0) || !(t <= 3.1e-77)) tmp = Float64(l / Float64(Float64(k * Float64(k * (t ^ 3.0))) / l)); else tmp = Float64(2.0 / Float64(Float64(k * k) * Float64(Float64(t * Float64(k / Float64(l / k))) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -24000.0) || ~((t <= 3.1e-77))) tmp = l / ((k * (k * (t ^ 3.0))) / l); else tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -24000.0], N[Not[LessEqual[t, 3.1e-77]], $MachinePrecision]], N[(l / N[(N[(k * N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(N[(t * N[(k / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -24000 \lor \neg \left(t \leq 3.1 \cdot 10^{-77}\right):\\
\;\;\;\;\frac{\ell}{\frac{k \cdot \left(k \cdot {t}^{3}\right)}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(k \cdot k\right) \cdot \frac{t \cdot \frac{k}{\frac{\ell}{k}}}{\ell}}\\
\end{array}
\end{array}
if t < -24000 or 3.10000000000000008e-77 < t Initial program 69.7%
associate-/l/69.7%
associate-*l/70.5%
associate-*l/70.7%
associate-/r/69.6%
*-commutative69.6%
associate-/l/69.6%
associate-*r*69.6%
*-commutative69.6%
associate-*r*69.6%
*-commutative69.6%
Simplified69.6%
Taylor expanded in k around 0 59.4%
unpow259.4%
unpow259.4%
Simplified59.4%
*-un-lft-identity59.4%
associate-/l*64.4%
associate-*l*74.8%
Applied egg-rr74.8%
if -24000 < t < 3.10000000000000008e-77Initial program 35.0%
*-commutative35.0%
associate-*l*35.0%
associate-*r*35.0%
+-commutative35.0%
associate-+r+35.0%
metadata-eval35.0%
Simplified35.0%
Taylor expanded in k around inf 72.6%
*-commutative72.6%
unpow272.6%
times-frac75.2%
unpow275.2%
Simplified75.2%
associate-*l/78.4%
associate-/l*87.7%
Applied egg-rr87.7%
Taylor expanded in k around 0 62.4%
unpow262.3%
Simplified62.4%
Final simplification69.2%
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* k k) (* t (* (/ k l) (/ k l))))))
double code(double t, double l, double k) {
return 2.0 / ((k * k) * (t * ((k / l) * (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 / ((k * k) * (t * ((k / l) * (k / l))))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((k * k) * (t * ((k / l) * (k / l))));
}
def code(t, l, k): return 2.0 / ((k * k) * (t * ((k / l) * (k / l))))
function code(t, l, k) return Float64(2.0 / Float64(Float64(k * k) * Float64(t * Float64(Float64(k / l) * Float64(k / l))))) end
function tmp = code(t, l, k) tmp = 2.0 / ((k * k) * (t * ((k / l) * (k / l)))); end
code[t_, l_, k_] := N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(t * N[(N[(k / l), $MachinePrecision] * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(k \cdot k\right) \cdot \left(t \cdot \left(\frac{k}{\ell} \cdot \frac{k}{\ell}\right)\right)}
\end{array}
Initial program 54.2%
*-commutative54.2%
associate-*l*49.6%
associate-*r*49.6%
+-commutative49.6%
associate-+r+49.6%
metadata-eval49.6%
Simplified49.6%
Taylor expanded in k around inf 60.8%
*-commutative60.8%
unpow260.8%
times-frac62.9%
unpow262.9%
Simplified62.9%
Taylor expanded in k around 0 57.2%
unpow257.2%
Simplified57.2%
Taylor expanded in t around 0 53.6%
unpow253.6%
*-commutative53.6%
associate-*r/53.3%
unpow253.3%
times-frac56.5%
Simplified56.5%
Final simplification56.5%
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* k k) (* t (/ (* k (/ k l)) l)))))
double code(double t, double l, double k) {
return 2.0 / ((k * k) * (t * ((k * (k / l)) / 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 / ((k * k) * (t * ((k * (k / l)) / l)))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((k * k) * (t * ((k * (k / l)) / l)));
}
def code(t, l, k): return 2.0 / ((k * k) * (t * ((k * (k / l)) / l)))
function code(t, l, k) return Float64(2.0 / Float64(Float64(k * k) * Float64(t * Float64(Float64(k * Float64(k / l)) / l)))) end
function tmp = code(t, l, k) tmp = 2.0 / ((k * k) * (t * ((k * (k / l)) / l))); end
code[t_, l_, k_] := N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(t * N[(N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(k \cdot k\right) \cdot \left(t \cdot \frac{k \cdot \frac{k}{\ell}}{\ell}\right)}
\end{array}
Initial program 54.2%
*-commutative54.2%
associate-*l*49.6%
associate-*r*49.6%
+-commutative49.6%
associate-+r+49.6%
metadata-eval49.6%
Simplified49.6%
Taylor expanded in k around inf 60.8%
*-commutative60.8%
unpow260.8%
times-frac62.9%
unpow262.9%
Simplified62.9%
Taylor expanded in k around 0 57.2%
unpow257.2%
Simplified57.2%
Taylor expanded in t around 0 53.6%
unpow253.6%
*-commutative53.6%
associate-*r/53.3%
unpow253.3%
times-frac56.5%
Simplified56.5%
associate-*l/56.5%
Applied egg-rr56.5%
Final simplification56.5%
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* k k) (* (/ t l) (/ (* k k) l)))))
double code(double t, double l, double k) {
return 2.0 / ((k * k) * ((t / 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 / ((k * k) * ((t / l) * ((k * k) / l)))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((k * k) * ((t / l) * ((k * k) / l)));
}
def code(t, l, k): return 2.0 / ((k * k) * ((t / l) * ((k * k) / l)))
function code(t, l, k) return Float64(2.0 / Float64(Float64(k * k) * Float64(Float64(t / l) * Float64(Float64(k * k) / l)))) end
function tmp = code(t, l, k) tmp = 2.0 / ((k * k) * ((t / l) * ((k * k) / l))); end
code[t_, l_, k_] := N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(k \cdot k\right) \cdot \left(\frac{t}{\ell} \cdot \frac{k \cdot k}{\ell}\right)}
\end{array}
Initial program 54.2%
*-commutative54.2%
associate-*l*49.6%
associate-*r*49.6%
+-commutative49.6%
associate-+r+49.6%
metadata-eval49.6%
Simplified49.6%
Taylor expanded in k around inf 60.8%
*-commutative60.8%
unpow260.8%
times-frac62.9%
unpow262.9%
Simplified62.9%
Taylor expanded in k around 0 57.2%
unpow257.2%
Simplified57.2%
Final simplification57.2%
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* k k) (/ (* t (/ k (/ l k))) l))))
double code(double t, double l, double k) {
return 2.0 / ((k * k) * ((t * (k / (l / 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 / ((k * k) * ((t * (k / (l / k))) / l))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((k * k) * ((t * (k / (l / k))) / l));
}
def code(t, l, k): return 2.0 / ((k * k) * ((t * (k / (l / k))) / l))
function code(t, l, k) return Float64(2.0 / Float64(Float64(k * k) * Float64(Float64(t * Float64(k / Float64(l / k))) / l))) end
function tmp = code(t, l, k) tmp = 2.0 / ((k * k) * ((t * (k / (l / k))) / l)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(k * k), $MachinePrecision] * N[(N[(t * N[(k / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(k \cdot k\right) \cdot \frac{t \cdot \frac{k}{\frac{\ell}{k}}}{\ell}}
\end{array}
Initial program 54.2%
*-commutative54.2%
associate-*l*49.6%
associate-*r*49.6%
+-commutative49.6%
associate-+r+49.6%
metadata-eval49.6%
Simplified49.6%
Taylor expanded in k around inf 60.8%
*-commutative60.8%
unpow260.8%
times-frac62.9%
unpow262.9%
Simplified62.9%
associate-*l/64.9%
associate-/l*69.4%
Applied egg-rr69.4%
Taylor expanded in k around 0 57.3%
unpow257.2%
Simplified57.3%
Final simplification57.3%
herbie shell --seed 2023187
(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))))