
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 15 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ t l) 2.0))
(t_2 (+ 1.0 (+ 1.0 (pow (/ k t) 2.0))))
(t_3 (/ (sin k) l)))
(if (<= t -9.5e+103)
(/ 2.0 (* t_2 (* (* (tan k) (* t (sin k))) t_1)))
(if (<= t -1.2e-40)
(/
(* l (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t 3.0)))))
(+ 2.0 (/ (/ k t) (/ t k))))
(if (<= t 1.58e-58)
(/ 2.0 (* (* (/ t l) (pow k 2.0)) (* (tan k) t_3)))
(if (<= t 1.1e+93)
(/
(/ (* l (/ 2.0 (tan k))) (* (pow t 3.0) t_3))
(+ 2.0 (/ (* k (/ k t)) t)))
(/ 2.0 (* t_2 (/ (* (sin k) (* t t_1)) (/ (cos k) (sin k)))))))))))
double code(double t, double l, double k) {
double t_1 = pow((t / l), 2.0);
double t_2 = 1.0 + (1.0 + pow((k / t), 2.0));
double t_3 = sin(k) / l;
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 / (t_2 * ((tan(k) * (t * sin(k))) * t_1));
} else if (t <= -1.2e-40) {
tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k)));
} else if (t <= 1.58e-58) {
tmp = 2.0 / (((t / l) * pow(k, 2.0)) * (tan(k) * t_3));
} else if (t <= 1.1e+93) {
tmp = ((l * (2.0 / tan(k))) / (pow(t, 3.0) * t_3)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / (t_2 * ((sin(k) * (t * t_1)) / (cos(k) / sin(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) :: t_2
real(8) :: t_3
real(8) :: tmp
t_1 = (t / l) ** 2.0d0
t_2 = 1.0d0 + (1.0d0 + ((k / t) ** 2.0d0))
t_3 = sin(k) / l
if (t <= (-9.5d+103)) then
tmp = 2.0d0 / (t_2 * ((tan(k) * (t * sin(k))) * t_1))
else if (t <= (-1.2d-40)) then
tmp = (l * ((l / sin(k)) * (2.0d0 / (tan(k) * (t ** 3.0d0))))) / (2.0d0 + ((k / t) / (t / k)))
else if (t <= 1.58d-58) then
tmp = 2.0d0 / (((t / l) * (k ** 2.0d0)) * (tan(k) * t_3))
else if (t <= 1.1d+93) then
tmp = ((l * (2.0d0 / tan(k))) / ((t ** 3.0d0) * t_3)) / (2.0d0 + ((k * (k / t)) / t))
else
tmp = 2.0d0 / (t_2 * ((sin(k) * (t * t_1)) / (cos(k) / sin(k))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow((t / l), 2.0);
double t_2 = 1.0 + (1.0 + Math.pow((k / t), 2.0));
double t_3 = Math.sin(k) / l;
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 / (t_2 * ((Math.tan(k) * (t * Math.sin(k))) * t_1));
} else if (t <= -1.2e-40) {
tmp = (l * ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k)));
} else if (t <= 1.58e-58) {
tmp = 2.0 / (((t / l) * Math.pow(k, 2.0)) * (Math.tan(k) * t_3));
} else if (t <= 1.1e+93) {
tmp = ((l * (2.0 / Math.tan(k))) / (Math.pow(t, 3.0) * t_3)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / (t_2 * ((Math.sin(k) * (t * t_1)) / (Math.cos(k) / Math.sin(k))));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow((t / l), 2.0) t_2 = 1.0 + (1.0 + math.pow((k / t), 2.0)) t_3 = math.sin(k) / l tmp = 0 if t <= -9.5e+103: tmp = 2.0 / (t_2 * ((math.tan(k) * (t * math.sin(k))) * t_1)) elif t <= -1.2e-40: tmp = (l * ((l / math.sin(k)) * (2.0 / (math.tan(k) * math.pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k))) elif t <= 1.58e-58: tmp = 2.0 / (((t / l) * math.pow(k, 2.0)) * (math.tan(k) * t_3)) elif t <= 1.1e+93: tmp = ((l * (2.0 / math.tan(k))) / (math.pow(t, 3.0) * t_3)) / (2.0 + ((k * (k / t)) / t)) else: tmp = 2.0 / (t_2 * ((math.sin(k) * (t * t_1)) / (math.cos(k) / math.sin(k)))) return tmp
function code(t, l, k) t_1 = Float64(t / l) ^ 2.0 t_2 = Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0))) t_3 = Float64(sin(k) / l) tmp = 0.0 if (t <= -9.5e+103) tmp = Float64(2.0 / Float64(t_2 * Float64(Float64(tan(k) * Float64(t * sin(k))) * t_1))); elseif (t <= -1.2e-40) tmp = Float64(Float64(l * Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t ^ 3.0))))) / Float64(2.0 + Float64(Float64(k / t) / Float64(t / k)))); elseif (t <= 1.58e-58) tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * (k ^ 2.0)) * Float64(tan(k) * t_3))); elseif (t <= 1.1e+93) tmp = Float64(Float64(Float64(l * Float64(2.0 / tan(k))) / Float64((t ^ 3.0) * t_3)) / Float64(2.0 + Float64(Float64(k * Float64(k / t)) / t))); else tmp = Float64(2.0 / Float64(t_2 * Float64(Float64(sin(k) * Float64(t * t_1)) / Float64(cos(k) / sin(k))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (t / l) ^ 2.0; t_2 = 1.0 + (1.0 + ((k / t) ^ 2.0)); t_3 = sin(k) / l; tmp = 0.0; if (t <= -9.5e+103) tmp = 2.0 / (t_2 * ((tan(k) * (t * sin(k))) * t_1)); elseif (t <= -1.2e-40) tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * (t ^ 3.0))))) / (2.0 + ((k / t) / (t / k))); elseif (t <= 1.58e-58) tmp = 2.0 / (((t / l) * (k ^ 2.0)) * (tan(k) * t_3)); elseif (t <= 1.1e+93) tmp = ((l * (2.0 / tan(k))) / ((t ^ 3.0) * t_3)) / (2.0 + ((k * (k / t)) / t)); else tmp = 2.0 / (t_2 * ((sin(k) * (t * t_1)) / (cos(k) / sin(k)))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(t / l), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$2 = N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]}, If[LessEqual[t, -9.5e+103], N[(2.0 / N[(t$95$2 * N[(N[(N[Tan[k], $MachinePrecision] * N[(t * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.2e-40], N[(N[(l * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k / t), $MachinePrecision] / N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.58e-58], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * t$95$3), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.1e+93], N[(N[(N[(l * N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * t$95$3), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k * N[(k / t), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$2 * N[(N[(N[Sin[k], $MachinePrecision] * N[(t * t$95$1), $MachinePrecision]), $MachinePrecision] / N[(N[Cos[k], $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{t}{\ell}\right)}^{2}\\
t_2 := 1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\\
t_3 := \frac{\sin k}{\ell}\\
\mathbf{if}\;t \leq -9.5 \cdot 10^{+103}:\\
\;\;\;\;\frac{2}{t_2 \cdot \left(\left(\tan k \cdot \left(t \cdot \sin k\right)\right) \cdot t_1\right)}\\
\mathbf{elif}\;t \leq -1.2 \cdot 10^{-40}:\\
\;\;\;\;\frac{\ell \cdot \left(\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t}^{3}}\right)}{2 + \frac{\frac{k}{t}}{\frac{t}{k}}}\\
\mathbf{elif}\;t \leq 1.58 \cdot 10^{-58}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot {k}^{2}\right) \cdot \left(\tan k \cdot t_3\right)}\\
\mathbf{elif}\;t \leq 1.1 \cdot 10^{+93}:\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{2}{\tan k}}{{t}^{3} \cdot t_3}}{2 + \frac{k \cdot \frac{k}{t}}{t}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_2 \cdot \frac{\sin k \cdot \left(t \cdot t_1\right)}{\frac{\cos k}{\sin k}}}\\
\end{array}
\end{array}
if t < -9.49999999999999922e103Initial program 53.7%
unpow353.7%
times-frac71.8%
pow171.8%
pow171.8%
pow-sqr71.8%
metadata-eval71.8%
Applied egg-rr71.8%
unpow271.8%
add-sqr-sqrt52.4%
times-frac67.5%
Applied egg-rr67.5%
Applied egg-rr94.1%
distribute-rgt1-in94.1%
associate-*r*99.0%
*-commutative99.0%
Simplified99.0%
if -9.49999999999999922e103 < t < -1.19999999999999996e-40Initial program 75.3%
associate-/r*75.2%
sqr-neg75.2%
Simplified91.8%
unpow291.8%
clear-num91.8%
un-div-inv91.8%
Applied egg-rr91.8%
associate-*r/96.2%
div-inv96.1%
associate-/r*96.3%
*-commutative96.3%
Applied egg-rr96.3%
associate-/r/96.2%
associate-/l*85.7%
associate-/r/96.2%
associate-/l/96.4%
Simplified96.4%
if -1.19999999999999996e-40 < t < 1.57999999999999997e-58Initial program 38.0%
Taylor expanded in t around 0 75.4%
times-frac72.1%
Simplified72.1%
associate-*l/75.5%
unpow275.5%
clear-num75.5%
unpow275.5%
associate-/l*75.5%
associate-*r/75.5%
clear-num75.5%
unpow275.5%
associate-*r/75.5%
tan-quot75.4%
Applied egg-rr75.4%
associate-/l*75.4%
unpow275.4%
*-un-lft-identity75.4%
associate-/r/75.4%
/-rgt-identity75.4%
times-frac84.4%
*-commutative84.4%
Applied egg-rr84.4%
associate-/l*84.7%
associate-/r/86.8%
associate-/l*86.8%
associate-/r/86.7%
Simplified86.7%
if 1.57999999999999997e-58 < t < 1.10000000000000011e93Initial program 78.0%
associate-/r*78.6%
sqr-neg78.6%
Simplified87.8%
frac-times90.2%
*-commutative90.2%
Applied egg-rr90.2%
unpow290.2%
associate-*r/90.3%
Applied egg-rr90.3%
if 1.10000000000000011e93 < t Initial program 61.1%
unpow361.1%
times-frac80.6%
pow180.6%
pow180.6%
pow-sqr80.6%
metadata-eval80.6%
Applied egg-rr80.6%
unpow280.6%
add-sqr-sqrt48.1%
times-frac57.6%
Applied egg-rr57.6%
frac-times48.1%
unpow248.1%
add-sqr-sqrt80.6%
tan-quot80.6%
associate-*r/80.6%
Applied egg-rr95.1%
associate-/l*95.0%
associate-*l*95.0%
Simplified95.0%
Final simplification91.4%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ (/ k t) (/ t k))) (t_2 (/ (sin k) l)))
(if (<= t -9.5e+103)
(/
2.0
(*
(+ 1.0 (+ 1.0 (pow (/ k t) 2.0)))
(* (* (tan k) (* t (sin k))) (pow (/ t l) 2.0))))
(if (<= t -1.7e-41)
(/ (* l (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t 3.0))))) (+ 2.0 t_1))
(if (<= t 7.8e-59)
(/ 2.0 (* (* (/ t l) (pow k 2.0)) (* (tan k) t_2)))
(if (<= t 4.4e+91)
(/
(/ (* l (/ 2.0 (tan k))) (* (pow t 3.0) t_2))
(+ 2.0 (/ (* k (/ k t)) t)))
(/
2.0
(*
(* (tan k) (* (sin k) (* (/ t l) (pow (/ t (sqrt l)) 2.0))))
(+ 1.0 (+ 1.0 t_1))))))))))
double code(double t, double l, double k) {
double t_1 = (k / t) / (t / k);
double t_2 = sin(k) / l;
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 / ((1.0 + (1.0 + pow((k / t), 2.0))) * ((tan(k) * (t * sin(k))) * pow((t / l), 2.0)));
} else if (t <= -1.7e-41) {
tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * pow(t, 3.0))))) / (2.0 + t_1);
} else if (t <= 7.8e-59) {
tmp = 2.0 / (((t / l) * pow(k, 2.0)) * (tan(k) * t_2));
} else if (t <= 4.4e+91) {
tmp = ((l * (2.0 / tan(k))) / (pow(t, 3.0) * t_2)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / ((tan(k) * (sin(k) * ((t / l) * pow((t / sqrt(l)), 2.0)))) * (1.0 + (1.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) :: t_2
real(8) :: tmp
t_1 = (k / t) / (t / k)
t_2 = sin(k) / l
if (t <= (-9.5d+103)) then
tmp = 2.0d0 / ((1.0d0 + (1.0d0 + ((k / t) ** 2.0d0))) * ((tan(k) * (t * sin(k))) * ((t / l) ** 2.0d0)))
else if (t <= (-1.7d-41)) then
tmp = (l * ((l / sin(k)) * (2.0d0 / (tan(k) * (t ** 3.0d0))))) / (2.0d0 + t_1)
else if (t <= 7.8d-59) then
tmp = 2.0d0 / (((t / l) * (k ** 2.0d0)) * (tan(k) * t_2))
else if (t <= 4.4d+91) then
tmp = ((l * (2.0d0 / tan(k))) / ((t ** 3.0d0) * t_2)) / (2.0d0 + ((k * (k / t)) / t))
else
tmp = 2.0d0 / ((tan(k) * (sin(k) * ((t / l) * ((t / sqrt(l)) ** 2.0d0)))) * (1.0d0 + (1.0d0 + t_1)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = (k / t) / (t / k);
double t_2 = Math.sin(k) / l;
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 / ((1.0 + (1.0 + Math.pow((k / t), 2.0))) * ((Math.tan(k) * (t * Math.sin(k))) * Math.pow((t / l), 2.0)));
} else if (t <= -1.7e-41) {
tmp = (l * ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t, 3.0))))) / (2.0 + t_1);
} else if (t <= 7.8e-59) {
tmp = 2.0 / (((t / l) * Math.pow(k, 2.0)) * (Math.tan(k) * t_2));
} else if (t <= 4.4e+91) {
tmp = ((l * (2.0 / Math.tan(k))) / (Math.pow(t, 3.0) * t_2)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / ((Math.tan(k) * (Math.sin(k) * ((t / l) * Math.pow((t / Math.sqrt(l)), 2.0)))) * (1.0 + (1.0 + t_1)));
}
return tmp;
}
def code(t, l, k): t_1 = (k / t) / (t / k) t_2 = math.sin(k) / l tmp = 0 if t <= -9.5e+103: tmp = 2.0 / ((1.0 + (1.0 + math.pow((k / t), 2.0))) * ((math.tan(k) * (t * math.sin(k))) * math.pow((t / l), 2.0))) elif t <= -1.7e-41: tmp = (l * ((l / math.sin(k)) * (2.0 / (math.tan(k) * math.pow(t, 3.0))))) / (2.0 + t_1) elif t <= 7.8e-59: tmp = 2.0 / (((t / l) * math.pow(k, 2.0)) * (math.tan(k) * t_2)) elif t <= 4.4e+91: tmp = ((l * (2.0 / math.tan(k))) / (math.pow(t, 3.0) * t_2)) / (2.0 + ((k * (k / t)) / t)) else: tmp = 2.0 / ((math.tan(k) * (math.sin(k) * ((t / l) * math.pow((t / math.sqrt(l)), 2.0)))) * (1.0 + (1.0 + t_1))) return tmp
function code(t, l, k) t_1 = Float64(Float64(k / t) / Float64(t / k)) t_2 = Float64(sin(k) / l) tmp = 0.0 if (t <= -9.5e+103) tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0))) * Float64(Float64(tan(k) * Float64(t * sin(k))) * (Float64(t / l) ^ 2.0)))); elseif (t <= -1.7e-41) tmp = Float64(Float64(l * Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t ^ 3.0))))) / Float64(2.0 + t_1)); elseif (t <= 7.8e-59) tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * (k ^ 2.0)) * Float64(tan(k) * t_2))); elseif (t <= 4.4e+91) tmp = Float64(Float64(Float64(l * Float64(2.0 / tan(k))) / Float64((t ^ 3.0) * t_2)) / Float64(2.0 + Float64(Float64(k * Float64(k / t)) / t))); else tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(sin(k) * Float64(Float64(t / l) * (Float64(t / sqrt(l)) ^ 2.0)))) * Float64(1.0 + Float64(1.0 + t_1)))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (k / t) / (t / k); t_2 = sin(k) / l; tmp = 0.0; if (t <= -9.5e+103) tmp = 2.0 / ((1.0 + (1.0 + ((k / t) ^ 2.0))) * ((tan(k) * (t * sin(k))) * ((t / l) ^ 2.0))); elseif (t <= -1.7e-41) tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * (t ^ 3.0))))) / (2.0 + t_1); elseif (t <= 7.8e-59) tmp = 2.0 / (((t / l) * (k ^ 2.0)) * (tan(k) * t_2)); elseif (t <= 4.4e+91) tmp = ((l * (2.0 / tan(k))) / ((t ^ 3.0) * t_2)) / (2.0 + ((k * (k / t)) / t)); else tmp = 2.0 / ((tan(k) * (sin(k) * ((t / l) * ((t / sqrt(l)) ^ 2.0)))) * (1.0 + (1.0 + t_1))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[(k / t), $MachinePrecision] / N[(t / k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]}, If[LessEqual[t, -9.5e+103], N[(2.0 / N[(N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Tan[k], $MachinePrecision] * N[(t * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[N[(t / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.7e-41], N[(N[(l * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 7.8e-59], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.4e+91], N[(N[(N[(l * N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k * N[(k / t), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[Power[N[(t / N[Sqrt[l], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\frac{k}{t}}{\frac{t}{k}}\\
t_2 := \frac{\sin k}{\ell}\\
\mathbf{if}\;t \leq -9.5 \cdot 10^{+103}:\\
\;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right) \cdot \left(\left(\tan k \cdot \left(t \cdot \sin k\right)\right) \cdot {\left(\frac{t}{\ell}\right)}^{2}\right)}\\
\mathbf{elif}\;t \leq -1.7 \cdot 10^{-41}:\\
\;\;\;\;\frac{\ell \cdot \left(\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t}^{3}}\right)}{2 + t_1}\\
\mathbf{elif}\;t \leq 7.8 \cdot 10^{-59}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot {k}^{2}\right) \cdot \left(\tan k \cdot t_2\right)}\\
\mathbf{elif}\;t \leq 4.4 \cdot 10^{+91}:\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{2}{\tan k}}{{t}^{3} \cdot t_2}}{2 + \frac{k \cdot \frac{k}{t}}{t}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(\sin k \cdot \left(\frac{t}{\ell} \cdot {\left(\frac{t}{\sqrt{\ell}}\right)}^{2}\right)\right)\right) \cdot \left(1 + \left(1 + t_1\right)\right)}\\
\end{array}
\end{array}
if t < -9.49999999999999922e103Initial program 53.7%
unpow353.7%
times-frac71.8%
pow171.8%
pow171.8%
pow-sqr71.8%
metadata-eval71.8%
Applied egg-rr71.8%
unpow271.8%
add-sqr-sqrt52.4%
times-frac67.5%
Applied egg-rr67.5%
Applied egg-rr94.1%
distribute-rgt1-in94.1%
associate-*r*99.0%
*-commutative99.0%
Simplified99.0%
if -9.49999999999999922e103 < t < -1.6999999999999999e-41Initial program 75.3%
associate-/r*75.2%
sqr-neg75.2%
Simplified91.8%
unpow291.8%
clear-num91.8%
un-div-inv91.8%
Applied egg-rr91.8%
associate-*r/96.2%
div-inv96.1%
associate-/r*96.3%
*-commutative96.3%
Applied egg-rr96.3%
associate-/r/96.2%
associate-/l*85.7%
associate-/r/96.2%
associate-/l/96.4%
Simplified96.4%
if -1.6999999999999999e-41 < t < 7.80000000000000038e-59Initial program 38.0%
Taylor expanded in t around 0 75.4%
times-frac72.1%
Simplified72.1%
associate-*l/75.5%
unpow275.5%
clear-num75.5%
unpow275.5%
associate-/l*75.5%
associate-*r/75.5%
clear-num75.5%
unpow275.5%
associate-*r/75.5%
tan-quot75.4%
Applied egg-rr75.4%
associate-/l*75.4%
unpow275.4%
*-un-lft-identity75.4%
associate-/r/75.4%
/-rgt-identity75.4%
times-frac84.4%
*-commutative84.4%
Applied egg-rr84.4%
associate-/l*84.7%
associate-/r/86.8%
associate-/l*86.8%
associate-/r/86.7%
Simplified86.7%
if 7.80000000000000038e-59 < t < 4.39999999999999999e91Initial program 78.0%
associate-/r*78.6%
sqr-neg78.6%
Simplified87.8%
frac-times90.2%
*-commutative90.2%
Applied egg-rr90.2%
unpow290.2%
associate-*r/90.3%
Applied egg-rr90.3%
if 4.39999999999999999e91 < t Initial program 61.1%
unpow361.1%
times-frac80.6%
pow180.6%
pow180.6%
pow-sqr80.6%
metadata-eval80.6%
Applied egg-rr80.6%
unpow260.9%
clear-num60.9%
un-div-inv60.9%
Applied egg-rr80.6%
unpow280.6%
add-sqr-sqrt48.0%
frac-times57.5%
associate-*l*57.5%
clear-num57.5%
associate-*l/57.5%
*-un-lft-identity57.5%
frac-times45.2%
unpow245.2%
*-commutative45.2%
Applied egg-rr45.2%
associate-/l/45.2%
associate-/r*36.0%
associate-/l*33.5%
*-commutative33.5%
associate-*r/36.0%
times-frac48.0%
unpow248.0%
associate-*r/52.8%
associate-*l/57.5%
unpow257.5%
Simplified57.5%
Final simplification85.6%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ (sin k) l)))
(if (<= t -9.5e+103)
(/
2.0
(*
(+ 1.0 (+ 1.0 (pow (/ k t) 2.0)))
(* (* (tan k) (* t (sin k))) (pow (/ t l) 2.0))))
(if (<= t -7.5e-37)
(/
(* l (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t 3.0)))))
(+ 2.0 (/ (/ k t) (/ t k))))
(if (<= t 1.15e-58)
(/ 2.0 (* (* (/ t l) (pow k 2.0)) (* (tan k) t_1)))
(if (<= t 1.1e+93)
(/
(/ (* l (/ 2.0 (tan k))) (* (pow t 3.0) t_1))
(+ 2.0 (/ (* k (/ k t)) t)))
(/
2.0
(*
(* (tan k) (* (sin k) (* (/ t l) (* t (/ t l)))))
(+ 1.0 (+ 1.0 (/ k (* t (/ t k)))))))))))))
double code(double t, double l, double k) {
double t_1 = sin(k) / l;
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 / ((1.0 + (1.0 + pow((k / t), 2.0))) * ((tan(k) * (t * sin(k))) * pow((t / l), 2.0)));
} else if (t <= -7.5e-37) {
tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k)));
} else if (t <= 1.15e-58) {
tmp = 2.0 / (((t / l) * pow(k, 2.0)) * (tan(k) * t_1));
} else if (t <= 1.1e+93) {
tmp = ((l * (2.0 / tan(k))) / (pow(t, 3.0) * t_1)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = sin(k) / l
if (t <= (-9.5d+103)) then
tmp = 2.0d0 / ((1.0d0 + (1.0d0 + ((k / t) ** 2.0d0))) * ((tan(k) * (t * sin(k))) * ((t / l) ** 2.0d0)))
else if (t <= (-7.5d-37)) then
tmp = (l * ((l / sin(k)) * (2.0d0 / (tan(k) * (t ** 3.0d0))))) / (2.0d0 + ((k / t) / (t / k)))
else if (t <= 1.15d-58) then
tmp = 2.0d0 / (((t / l) * (k ** 2.0d0)) * (tan(k) * t_1))
else if (t <= 1.1d+93) then
tmp = ((l * (2.0d0 / tan(k))) / ((t ** 3.0d0) * t_1)) / (2.0d0 + ((k * (k / t)) / t))
else
tmp = 2.0d0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0d0 + (1.0d0 + (k / (t * (t / k))))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.sin(k) / l;
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 / ((1.0 + (1.0 + Math.pow((k / t), 2.0))) * ((Math.tan(k) * (t * Math.sin(k))) * Math.pow((t / l), 2.0)));
} else if (t <= -7.5e-37) {
tmp = (l * ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k)));
} else if (t <= 1.15e-58) {
tmp = 2.0 / (((t / l) * Math.pow(k, 2.0)) * (Math.tan(k) * t_1));
} else if (t <= 1.1e+93) {
tmp = ((l * (2.0 / Math.tan(k))) / (Math.pow(t, 3.0) * t_1)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / ((Math.tan(k) * (Math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
}
return tmp;
}
def code(t, l, k): t_1 = math.sin(k) / l tmp = 0 if t <= -9.5e+103: tmp = 2.0 / ((1.0 + (1.0 + math.pow((k / t), 2.0))) * ((math.tan(k) * (t * math.sin(k))) * math.pow((t / l), 2.0))) elif t <= -7.5e-37: tmp = (l * ((l / math.sin(k)) * (2.0 / (math.tan(k) * math.pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k))) elif t <= 1.15e-58: tmp = 2.0 / (((t / l) * math.pow(k, 2.0)) * (math.tan(k) * t_1)) elif t <= 1.1e+93: tmp = ((l * (2.0 / math.tan(k))) / (math.pow(t, 3.0) * t_1)) / (2.0 + ((k * (k / t)) / t)) else: tmp = 2.0 / ((math.tan(k) * (math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))) return tmp
function code(t, l, k) t_1 = Float64(sin(k) / l) tmp = 0.0 if (t <= -9.5e+103) tmp = Float64(2.0 / Float64(Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0))) * Float64(Float64(tan(k) * Float64(t * sin(k))) * (Float64(t / l) ^ 2.0)))); elseif (t <= -7.5e-37) tmp = Float64(Float64(l * Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t ^ 3.0))))) / Float64(2.0 + Float64(Float64(k / t) / Float64(t / k)))); elseif (t <= 1.15e-58) tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * (k ^ 2.0)) * Float64(tan(k) * t_1))); elseif (t <= 1.1e+93) tmp = Float64(Float64(Float64(l * Float64(2.0 / tan(k))) / Float64((t ^ 3.0) * t_1)) / Float64(2.0 + Float64(Float64(k * Float64(k / t)) / t))); else tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(sin(k) * Float64(Float64(t / l) * Float64(t * Float64(t / l))))) * Float64(1.0 + Float64(1.0 + Float64(k / Float64(t * Float64(t / k))))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) / l; tmp = 0.0; if (t <= -9.5e+103) tmp = 2.0 / ((1.0 + (1.0 + ((k / t) ^ 2.0))) * ((tan(k) * (t * sin(k))) * ((t / l) ^ 2.0))); elseif (t <= -7.5e-37) tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * (t ^ 3.0))))) / (2.0 + ((k / t) / (t / k))); elseif (t <= 1.15e-58) tmp = 2.0 / (((t / l) * (k ^ 2.0)) * (tan(k) * t_1)); elseif (t <= 1.1e+93) tmp = ((l * (2.0 / tan(k))) / ((t ^ 3.0) * t_1)) / (2.0 + ((k * (k / t)) / t)); else tmp = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]}, If[LessEqual[t, -9.5e+103], N[(2.0 / N[(N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Tan[k], $MachinePrecision] * N[(t * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[N[(t / l), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -7.5e-37], N[(N[(l * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k / t), $MachinePrecision] / N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.15e-58], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.1e+93], N[(N[(N[(l * N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k * N[(k / t), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + N[(k / N[(t * N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\sin k}{\ell}\\
\mathbf{if}\;t \leq -9.5 \cdot 10^{+103}:\\
\;\;\;\;\frac{2}{\left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right) \cdot \left(\left(\tan k \cdot \left(t \cdot \sin k\right)\right) \cdot {\left(\frac{t}{\ell}\right)}^{2}\right)}\\
\mathbf{elif}\;t \leq -7.5 \cdot 10^{-37}:\\
\;\;\;\;\frac{\ell \cdot \left(\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t}^{3}}\right)}{2 + \frac{\frac{k}{t}}{\frac{t}{k}}}\\
\mathbf{elif}\;t \leq 1.15 \cdot 10^{-58}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot {k}^{2}\right) \cdot \left(\tan k \cdot t_1\right)}\\
\mathbf{elif}\;t \leq 1.1 \cdot 10^{+93}:\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{2}{\tan k}}{{t}^{3} \cdot t_1}}{2 + \frac{k \cdot \frac{k}{t}}{t}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(\sin k \cdot \left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right)\right)\right) \cdot \left(1 + \left(1 + \frac{k}{t \cdot \frac{t}{k}}\right)\right)}\\
\end{array}
\end{array}
if t < -9.49999999999999922e103Initial program 53.7%
unpow353.7%
times-frac71.8%
pow171.8%
pow171.8%
pow-sqr71.8%
metadata-eval71.8%
Applied egg-rr71.8%
unpow271.8%
add-sqr-sqrt52.4%
times-frac67.5%
Applied egg-rr67.5%
Applied egg-rr94.1%
distribute-rgt1-in94.1%
associate-*r*99.0%
*-commutative99.0%
Simplified99.0%
if -9.49999999999999922e103 < t < -7.5000000000000004e-37Initial program 75.3%
associate-/r*75.2%
sqr-neg75.2%
Simplified91.8%
unpow291.8%
clear-num91.8%
un-div-inv91.8%
Applied egg-rr91.8%
associate-*r/96.2%
div-inv96.1%
associate-/r*96.3%
*-commutative96.3%
Applied egg-rr96.3%
associate-/r/96.2%
associate-/l*85.7%
associate-/r/96.2%
associate-/l/96.4%
Simplified96.4%
if -7.5000000000000004e-37 < t < 1.1499999999999999e-58Initial program 38.0%
Taylor expanded in t around 0 75.4%
times-frac72.1%
Simplified72.1%
associate-*l/75.5%
unpow275.5%
clear-num75.5%
unpow275.5%
associate-/l*75.5%
associate-*r/75.5%
clear-num75.5%
unpow275.5%
associate-*r/75.5%
tan-quot75.4%
Applied egg-rr75.4%
associate-/l*75.4%
unpow275.4%
*-un-lft-identity75.4%
associate-/r/75.4%
/-rgt-identity75.4%
times-frac84.4%
*-commutative84.4%
Applied egg-rr84.4%
associate-/l*84.7%
associate-/r/86.8%
associate-/l*86.8%
associate-/r/86.7%
Simplified86.7%
if 1.1499999999999999e-58 < t < 1.10000000000000011e93Initial program 78.0%
associate-/r*78.6%
sqr-neg78.6%
Simplified87.8%
frac-times90.2%
*-commutative90.2%
Applied egg-rr90.2%
unpow290.2%
associate-*r/90.3%
Applied egg-rr90.3%
if 1.10000000000000011e93 < t Initial program 61.1%
unpow361.1%
times-frac80.6%
pow180.6%
pow180.6%
pow-sqr80.6%
metadata-eval80.6%
Applied egg-rr80.6%
div-inv58.9%
unpow258.9%
associate-*l*64.8%
div-inv64.8%
Applied egg-rr94.8%
unpow294.8%
clear-num94.8%
frac-times94.9%
*-un-lft-identity94.9%
Applied egg-rr94.9%
Final simplification91.4%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ (sin k) l))
(t_2
(/
2.0
(*
(* (tan k) (* (sin k) (* (/ t l) (* t (/ t l)))))
(+ 1.0 (+ 1.0 (/ k (* t (/ t k))))))))
(t_3
(/
(/ (* l (/ 2.0 (tan k))) (* (pow t 3.0) t_1))
(+ 2.0 (/ (* k (/ k t)) t)))))
(if (<= t -9.5e+103)
t_2
(if (<= t -1.05e-58)
t_3
(if (<= t -2.5e-303)
(/ 2.0 (* (* (/ k l) (/ k l)) (/ (* t (pow (sin k) 2.0)) (cos k))))
(if (<= t 2.95e-58)
(/ 2.0 (* (* (/ t l) (pow k 2.0)) (* (tan k) t_1)))
(if (<= t 8.8e+92) t_3 t_2)))))))
double code(double t, double l, double k) {
double t_1 = sin(k) / l;
double t_2 = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
double t_3 = ((l * (2.0 / tan(k))) / (pow(t, 3.0) * t_1)) / (2.0 + ((k * (k / t)) / t));
double tmp;
if (t <= -9.5e+103) {
tmp = t_2;
} else if (t <= -1.05e-58) {
tmp = t_3;
} else if (t <= -2.5e-303) {
tmp = 2.0 / (((k / l) * (k / l)) * ((t * pow(sin(k), 2.0)) / cos(k)));
} else if (t <= 2.95e-58) {
tmp = 2.0 / (((t / l) * pow(k, 2.0)) * (tan(k) * t_1));
} else if (t <= 8.8e+92) {
tmp = t_3;
} else {
tmp = t_2;
}
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) :: t_3
real(8) :: tmp
t_1 = sin(k) / l
t_2 = 2.0d0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0d0 + (1.0d0 + (k / (t * (t / k))))))
t_3 = ((l * (2.0d0 / tan(k))) / ((t ** 3.0d0) * t_1)) / (2.0d0 + ((k * (k / t)) / t))
if (t <= (-9.5d+103)) then
tmp = t_2
else if (t <= (-1.05d-58)) then
tmp = t_3
else if (t <= (-2.5d-303)) then
tmp = 2.0d0 / (((k / l) * (k / l)) * ((t * (sin(k) ** 2.0d0)) / cos(k)))
else if (t <= 2.95d-58) then
tmp = 2.0d0 / (((t / l) * (k ** 2.0d0)) * (tan(k) * t_1))
else if (t <= 8.8d+92) then
tmp = t_3
else
tmp = t_2
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.sin(k) / l;
double t_2 = 2.0 / ((Math.tan(k) * (Math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
double t_3 = ((l * (2.0 / Math.tan(k))) / (Math.pow(t, 3.0) * t_1)) / (2.0 + ((k * (k / t)) / t));
double tmp;
if (t <= -9.5e+103) {
tmp = t_2;
} else if (t <= -1.05e-58) {
tmp = t_3;
} else if (t <= -2.5e-303) {
tmp = 2.0 / (((k / l) * (k / l)) * ((t * Math.pow(Math.sin(k), 2.0)) / Math.cos(k)));
} else if (t <= 2.95e-58) {
tmp = 2.0 / (((t / l) * Math.pow(k, 2.0)) * (Math.tan(k) * t_1));
} else if (t <= 8.8e+92) {
tmp = t_3;
} else {
tmp = t_2;
}
return tmp;
}
def code(t, l, k): t_1 = math.sin(k) / l t_2 = 2.0 / ((math.tan(k) * (math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))) t_3 = ((l * (2.0 / math.tan(k))) / (math.pow(t, 3.0) * t_1)) / (2.0 + ((k * (k / t)) / t)) tmp = 0 if t <= -9.5e+103: tmp = t_2 elif t <= -1.05e-58: tmp = t_3 elif t <= -2.5e-303: tmp = 2.0 / (((k / l) * (k / l)) * ((t * math.pow(math.sin(k), 2.0)) / math.cos(k))) elif t <= 2.95e-58: tmp = 2.0 / (((t / l) * math.pow(k, 2.0)) * (math.tan(k) * t_1)) elif t <= 8.8e+92: tmp = t_3 else: tmp = t_2 return tmp
function code(t, l, k) t_1 = Float64(sin(k) / l) t_2 = Float64(2.0 / Float64(Float64(tan(k) * Float64(sin(k) * Float64(Float64(t / l) * Float64(t * Float64(t / l))))) * Float64(1.0 + Float64(1.0 + Float64(k / Float64(t * Float64(t / k))))))) t_3 = Float64(Float64(Float64(l * Float64(2.0 / tan(k))) / Float64((t ^ 3.0) * t_1)) / Float64(2.0 + Float64(Float64(k * Float64(k / t)) / t))) tmp = 0.0 if (t <= -9.5e+103) tmp = t_2; elseif (t <= -1.05e-58) tmp = t_3; elseif (t <= -2.5e-303) tmp = Float64(2.0 / Float64(Float64(Float64(k / l) * Float64(k / l)) * Float64(Float64(t * (sin(k) ^ 2.0)) / cos(k)))); elseif (t <= 2.95e-58) tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * (k ^ 2.0)) * Float64(tan(k) * t_1))); elseif (t <= 8.8e+92) tmp = t_3; else tmp = t_2; end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) / l; t_2 = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))); t_3 = ((l * (2.0 / tan(k))) / ((t ^ 3.0) * t_1)) / (2.0 + ((k * (k / t)) / t)); tmp = 0.0; if (t <= -9.5e+103) tmp = t_2; elseif (t <= -1.05e-58) tmp = t_3; elseif (t <= -2.5e-303) tmp = 2.0 / (((k / l) * (k / l)) * ((t * (sin(k) ^ 2.0)) / cos(k))); elseif (t <= 2.95e-58) tmp = 2.0 / (((t / l) * (k ^ 2.0)) * (tan(k) * t_1)); elseif (t <= 8.8e+92) tmp = t_3; else tmp = t_2; end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]}, Block[{t$95$2 = N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + N[(k / N[(t * N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[(N[(l * N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k * N[(k / t), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -9.5e+103], t$95$2, If[LessEqual[t, -1.05e-58], t$95$3, If[LessEqual[t, -2.5e-303], N[(2.0 / N[(N[(N[(k / l), $MachinePrecision] * N[(k / l), $MachinePrecision]), $MachinePrecision] * N[(N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.95e-58], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 8.8e+92], t$95$3, t$95$2]]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\sin k}{\ell}\\
t_2 := \frac{2}{\left(\tan k \cdot \left(\sin k \cdot \left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right)\right)\right) \cdot \left(1 + \left(1 + \frac{k}{t \cdot \frac{t}{k}}\right)\right)}\\
t_3 := \frac{\frac{\ell \cdot \frac{2}{\tan k}}{{t}^{3} \cdot t_1}}{2 + \frac{k \cdot \frac{k}{t}}{t}}\\
\mathbf{if}\;t \leq -9.5 \cdot 10^{+103}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -1.05 \cdot 10^{-58}:\\
\;\;\;\;t_3\\
\mathbf{elif}\;t \leq -2.5 \cdot 10^{-303}:\\
\;\;\;\;\frac{2}{\left(\frac{k}{\ell} \cdot \frac{k}{\ell}\right) \cdot \frac{t \cdot {\sin k}^{2}}{\cos k}}\\
\mathbf{elif}\;t \leq 2.95 \cdot 10^{-58}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot {k}^{2}\right) \cdot \left(\tan k \cdot t_1\right)}\\
\mathbf{elif}\;t \leq 8.8 \cdot 10^{+92}:\\
\;\;\;\;t_3\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if t < -9.49999999999999922e103 or 8.79999999999999969e92 < t Initial program 57.5%
unpow357.5%
times-frac76.3%
pow176.3%
pow176.3%
pow-sqr76.3%
metadata-eval76.3%
Applied egg-rr76.3%
div-inv61.3%
unpow261.3%
associate-*l*69.9%
div-inv69.9%
Applied egg-rr93.3%
unpow293.3%
clear-num93.3%
frac-times93.3%
*-un-lft-identity93.3%
Applied egg-rr93.3%
if -9.49999999999999922e103 < t < -1.04999999999999994e-58 or 2.95e-58 < t < 8.79999999999999969e92Initial program 76.2%
associate-/r*76.5%
sqr-neg76.5%
Simplified88.4%
frac-times92.9%
*-commutative92.9%
Applied egg-rr92.9%
unpow292.9%
associate-*r/91.5%
Applied egg-rr91.5%
if -1.04999999999999994e-58 < t < -2.4999999999999999e-303Initial program 52.1%
Taylor expanded in t around 0 75.2%
times-frac75.2%
Simplified75.2%
unpow275.2%
unpow275.2%
times-frac90.0%
Applied egg-rr90.0%
if -2.4999999999999999e-303 < t < 2.95e-58Initial program 26.5%
Taylor expanded in t around 0 76.3%
times-frac70.4%
Simplified70.4%
associate-*l/76.4%
unpow276.4%
clear-num76.4%
unpow276.4%
associate-/l*76.4%
associate-*r/76.4%
clear-num76.4%
unpow276.4%
associate-*r/76.4%
tan-quot76.4%
Applied egg-rr76.4%
associate-/l*76.3%
unpow276.3%
*-un-lft-identity76.3%
associate-/r/76.3%
/-rgt-identity76.3%
times-frac87.5%
*-commutative87.5%
Applied egg-rr87.5%
associate-/l*84.9%
associate-/r/88.8%
associate-/l*88.8%
associate-/r/88.8%
Simplified88.8%
Final simplification91.1%
(FPCore (t l k)
:precision binary64
(let* ((t_1
(/
2.0
(*
(* (tan k) (* (sin k) (* (/ t l) (* t (/ t l)))))
(+ 1.0 (+ 1.0 (/ k (* t (/ t k))))))))
(t_2 (/ (sin k) l)))
(if (<= t -9.5e+103)
t_1
(if (<= t -5e-40)
(/
(* l (* (/ l (sin k)) (/ 2.0 (* (tan k) (pow t 3.0)))))
(+ 2.0 (/ (/ k t) (/ t k))))
(if (<= t 2.5e-58)
(/ 2.0 (* (* (/ t l) (pow k 2.0)) (* (tan k) t_2)))
(if (<= t 1.1e+93)
(/
(/ (* l (/ 2.0 (tan k))) (* (pow t 3.0) t_2))
(+ 2.0 (/ (* k (/ k t)) t)))
t_1))))))
double code(double t, double l, double k) {
double t_1 = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
double t_2 = sin(k) / l;
double tmp;
if (t <= -9.5e+103) {
tmp = t_1;
} else if (t <= -5e-40) {
tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k)));
} else if (t <= 2.5e-58) {
tmp = 2.0 / (((t / l) * pow(k, 2.0)) * (tan(k) * t_2));
} else if (t <= 1.1e+93) {
tmp = ((l * (2.0 / tan(k))) / (pow(t, 3.0) * t_2)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 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) :: t_2
real(8) :: tmp
t_1 = 2.0d0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0d0 + (1.0d0 + (k / (t * (t / k))))))
t_2 = sin(k) / l
if (t <= (-9.5d+103)) then
tmp = t_1
else if (t <= (-5d-40)) then
tmp = (l * ((l / sin(k)) * (2.0d0 / (tan(k) * (t ** 3.0d0))))) / (2.0d0 + ((k / t) / (t / k)))
else if (t <= 2.5d-58) then
tmp = 2.0d0 / (((t / l) * (k ** 2.0d0)) * (tan(k) * t_2))
else if (t <= 1.1d+93) then
tmp = ((l * (2.0d0 / tan(k))) / ((t ** 3.0d0) * t_2)) / (2.0d0 + ((k * (k / t)) / t))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = 2.0 / ((Math.tan(k) * (Math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
double t_2 = Math.sin(k) / l;
double tmp;
if (t <= -9.5e+103) {
tmp = t_1;
} else if (t <= -5e-40) {
tmp = (l * ((l / Math.sin(k)) * (2.0 / (Math.tan(k) * Math.pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k)));
} else if (t <= 2.5e-58) {
tmp = 2.0 / (((t / l) * Math.pow(k, 2.0)) * (Math.tan(k) * t_2));
} else if (t <= 1.1e+93) {
tmp = ((l * (2.0 / Math.tan(k))) / (Math.pow(t, 3.0) * t_2)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = t_1;
}
return tmp;
}
def code(t, l, k): t_1 = 2.0 / ((math.tan(k) * (math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))) t_2 = math.sin(k) / l tmp = 0 if t <= -9.5e+103: tmp = t_1 elif t <= -5e-40: tmp = (l * ((l / math.sin(k)) * (2.0 / (math.tan(k) * math.pow(t, 3.0))))) / (2.0 + ((k / t) / (t / k))) elif t <= 2.5e-58: tmp = 2.0 / (((t / l) * math.pow(k, 2.0)) * (math.tan(k) * t_2)) elif t <= 1.1e+93: tmp = ((l * (2.0 / math.tan(k))) / (math.pow(t, 3.0) * t_2)) / (2.0 + ((k * (k / t)) / t)) else: tmp = t_1 return tmp
function code(t, l, k) t_1 = Float64(2.0 / Float64(Float64(tan(k) * Float64(sin(k) * Float64(Float64(t / l) * Float64(t * Float64(t / l))))) * Float64(1.0 + Float64(1.0 + Float64(k / Float64(t * Float64(t / k))))))) t_2 = Float64(sin(k) / l) tmp = 0.0 if (t <= -9.5e+103) tmp = t_1; elseif (t <= -5e-40) tmp = Float64(Float64(l * Float64(Float64(l / sin(k)) * Float64(2.0 / Float64(tan(k) * (t ^ 3.0))))) / Float64(2.0 + Float64(Float64(k / t) / Float64(t / k)))); elseif (t <= 2.5e-58) tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * (k ^ 2.0)) * Float64(tan(k) * t_2))); elseif (t <= 1.1e+93) tmp = Float64(Float64(Float64(l * Float64(2.0 / tan(k))) / Float64((t ^ 3.0) * t_2)) / Float64(2.0 + Float64(Float64(k * Float64(k / t)) / t))); else tmp = t_1; end return tmp end
function tmp_2 = code(t, l, k) t_1 = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))); t_2 = sin(k) / l; tmp = 0.0; if (t <= -9.5e+103) tmp = t_1; elseif (t <= -5e-40) tmp = (l * ((l / sin(k)) * (2.0 / (tan(k) * (t ^ 3.0))))) / (2.0 + ((k / t) / (t / k))); elseif (t <= 2.5e-58) tmp = 2.0 / (((t / l) * (k ^ 2.0)) * (tan(k) * t_2)); elseif (t <= 1.1e+93) tmp = ((l * (2.0 / tan(k))) / ((t ^ 3.0) * t_2)) / (2.0 + ((k * (k / t)) / t)); else tmp = t_1; end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + N[(k / N[(t * N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]}, If[LessEqual[t, -9.5e+103], t$95$1, If[LessEqual[t, -5e-40], N[(N[(l * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k / t), $MachinePrecision] / N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.5e-58], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.1e+93], N[(N[(N[(l * N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k * N[(k / t), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{2}{\left(\tan k \cdot \left(\sin k \cdot \left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right)\right)\right) \cdot \left(1 + \left(1 + \frac{k}{t \cdot \frac{t}{k}}\right)\right)}\\
t_2 := \frac{\sin k}{\ell}\\
\mathbf{if}\;t \leq -9.5 \cdot 10^{+103}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -5 \cdot 10^{-40}:\\
\;\;\;\;\frac{\ell \cdot \left(\frac{\ell}{\sin k} \cdot \frac{2}{\tan k \cdot {t}^{3}}\right)}{2 + \frac{\frac{k}{t}}{\frac{t}{k}}}\\
\mathbf{elif}\;t \leq 2.5 \cdot 10^{-58}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot {k}^{2}\right) \cdot \left(\tan k \cdot t_2\right)}\\
\mathbf{elif}\;t \leq 1.1 \cdot 10^{+93}:\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{2}{\tan k}}{{t}^{3} \cdot t_2}}{2 + \frac{k \cdot \frac{k}{t}}{t}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -9.49999999999999922e103 or 1.10000000000000011e93 < t Initial program 57.5%
unpow357.5%
times-frac76.3%
pow176.3%
pow176.3%
pow-sqr76.3%
metadata-eval76.3%
Applied egg-rr76.3%
div-inv61.3%
unpow261.3%
associate-*l*69.9%
div-inv69.9%
Applied egg-rr93.3%
unpow293.3%
clear-num93.3%
frac-times93.3%
*-un-lft-identity93.3%
Applied egg-rr93.3%
if -9.49999999999999922e103 < t < -4.99999999999999965e-40Initial program 75.3%
associate-/r*75.2%
sqr-neg75.2%
Simplified91.8%
unpow291.8%
clear-num91.8%
un-div-inv91.8%
Applied egg-rr91.8%
associate-*r/96.2%
div-inv96.1%
associate-/r*96.3%
*-commutative96.3%
Applied egg-rr96.3%
associate-/r/96.2%
associate-/l*85.7%
associate-/r/96.2%
associate-/l/96.4%
Simplified96.4%
if -4.99999999999999965e-40 < t < 2.49999999999999989e-58Initial program 38.0%
Taylor expanded in t around 0 75.4%
times-frac72.1%
Simplified72.1%
associate-*l/75.5%
unpow275.5%
clear-num75.5%
unpow275.5%
associate-/l*75.5%
associate-*r/75.5%
clear-num75.5%
unpow275.5%
associate-*r/75.5%
tan-quot75.4%
Applied egg-rr75.4%
associate-/l*75.4%
unpow275.4%
*-un-lft-identity75.4%
associate-/r/75.4%
/-rgt-identity75.4%
times-frac84.4%
*-commutative84.4%
Applied egg-rr84.4%
associate-/l*84.7%
associate-/r/86.8%
associate-/l*86.8%
associate-/r/86.7%
Simplified86.7%
if 2.49999999999999989e-58 < t < 1.10000000000000011e93Initial program 78.0%
associate-/r*78.6%
sqr-neg78.6%
Simplified87.8%
frac-times90.2%
*-commutative90.2%
Applied egg-rr90.2%
unpow290.2%
associate-*r/90.3%
Applied egg-rr90.3%
Final simplification90.3%
(FPCore (t l k)
:precision binary64
(if (or (<= t -4.2e-39) (not (<= t 6.5e-17)))
(/
2.0
(*
(* (tan k) (* (sin k) (* (/ t l) (* t (/ t l)))))
(+ 1.0 (+ 1.0 (/ k (* t (/ t k)))))))
(/ 2.0 (* (* (/ t l) (pow k 2.0)) (* (tan k) (/ (sin k) l))))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -4.2e-39) || !(t <= 6.5e-17)) {
tmp = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
} else {
tmp = 2.0 / (((t / l) * pow(k, 2.0)) * (tan(k) * (sin(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 <= (-4.2d-39)) .or. (.not. (t <= 6.5d-17))) then
tmp = 2.0d0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0d0 + (1.0d0 + (k / (t * (t / k))))))
else
tmp = 2.0d0 / (((t / l) * (k ** 2.0d0)) * (tan(k) * (sin(k) / l)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -4.2e-39) || !(t <= 6.5e-17)) {
tmp = 2.0 / ((Math.tan(k) * (Math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
} else {
tmp = 2.0 / (((t / l) * Math.pow(k, 2.0)) * (Math.tan(k) * (Math.sin(k) / l)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -4.2e-39) or not (t <= 6.5e-17): tmp = 2.0 / ((math.tan(k) * (math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))) else: tmp = 2.0 / (((t / l) * math.pow(k, 2.0)) * (math.tan(k) * (math.sin(k) / l))) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -4.2e-39) || !(t <= 6.5e-17)) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(sin(k) * Float64(Float64(t / l) * Float64(t * Float64(t / l))))) * Float64(1.0 + Float64(1.0 + Float64(k / Float64(t * Float64(t / k))))))); else tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * (k ^ 2.0)) * Float64(tan(k) * Float64(sin(k) / l)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -4.2e-39) || ~((t <= 6.5e-17))) tmp = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))); else tmp = 2.0 / (((t / l) * (k ^ 2.0)) * (tan(k) * (sin(k) / l))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -4.2e-39], N[Not[LessEqual[t, 6.5e-17]], $MachinePrecision]], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + N[(k / N[(t * N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4.2 \cdot 10^{-39} \lor \neg \left(t \leq 6.5 \cdot 10^{-17}\right):\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(\sin k \cdot \left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right)\right)\right) \cdot \left(1 + \left(1 + \frac{k}{t \cdot \frac{t}{k}}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot {k}^{2}\right) \cdot \left(\tan k \cdot \frac{\sin k}{\ell}\right)}\\
\end{array}
\end{array}
if t < -4.19999999999999987e-39 or 6.4999999999999996e-17 < t Initial program 65.9%
unpow365.9%
times-frac77.2%
pow177.2%
pow177.2%
pow-sqr77.2%
metadata-eval77.2%
Applied egg-rr77.2%
div-inv60.8%
unpow260.8%
associate-*l*65.6%
div-inv65.6%
Applied egg-rr86.8%
unpow286.8%
clear-num86.9%
frac-times86.9%
*-un-lft-identity86.9%
Applied egg-rr86.9%
if -4.19999999999999987e-39 < t < 6.4999999999999996e-17Initial program 40.6%
Taylor expanded in t around 0 75.5%
times-frac72.4%
Simplified72.4%
associate-*l/75.5%
unpow275.5%
clear-num75.5%
unpow275.5%
associate-/l*75.5%
associate-*r/75.5%
clear-num75.5%
unpow275.5%
associate-*r/75.5%
tan-quot75.5%
Applied egg-rr75.5%
associate-/l*75.4%
unpow275.4%
*-un-lft-identity75.4%
associate-/r/75.4%
/-rgt-identity75.4%
times-frac84.6%
*-commutative84.6%
Applied egg-rr84.6%
associate-/l*84.9%
associate-/r/86.9%
associate-/l*86.9%
associate-/r/86.8%
Simplified86.8%
Final simplification86.9%
(FPCore (t l k)
:precision binary64
(if (or (<= t -6.8e-124) (not (<= t 8e-94)))
(/
2.0
(*
(* (tan k) (* (sin k) (* (/ t l) (* t (/ t l)))))
(+ 1.0 (+ 1.0 (/ k (* t (/ t k)))))))
(/ 2.0 (* (/ t l) (/ (pow k 4.0) l)))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -6.8e-124) || !(t <= 8e-94)) {
tmp = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
} else {
tmp = 2.0 / ((t / l) * (pow(k, 4.0) / 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 <= (-6.8d-124)) .or. (.not. (t <= 8d-94))) then
tmp = 2.0d0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0d0 + (1.0d0 + (k / (t * (t / k))))))
else
tmp = 2.0d0 / ((t / l) * ((k ** 4.0d0) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -6.8e-124) || !(t <= 8e-94)) {
tmp = 2.0 / ((Math.tan(k) * (Math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k))))));
} else {
tmp = 2.0 / ((t / l) * (Math.pow(k, 4.0) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -6.8e-124) or not (t <= 8e-94): tmp = 2.0 / ((math.tan(k) * (math.sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))) else: tmp = 2.0 / ((t / l) * (math.pow(k, 4.0) / l)) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -6.8e-124) || !(t <= 8e-94)) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(sin(k) * Float64(Float64(t / l) * Float64(t * Float64(t / l))))) * Float64(1.0 + Float64(1.0 + Float64(k / Float64(t * Float64(t / k))))))); else tmp = Float64(2.0 / Float64(Float64(t / l) * Float64((k ^ 4.0) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -6.8e-124) || ~((t <= 8e-94))) tmp = 2.0 / ((tan(k) * (sin(k) * ((t / l) * (t * (t / l))))) * (1.0 + (1.0 + (k / (t * (t / k)))))); else tmp = 2.0 / ((t / l) * ((k ^ 4.0) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -6.8e-124], N[Not[LessEqual[t, 8e-94]], $MachinePrecision]], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + N[(k / N[(t * N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t / l), $MachinePrecision] * N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -6.8 \cdot 10^{-124} \lor \neg \left(t \leq 8 \cdot 10^{-94}\right):\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(\sin k \cdot \left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right)\right)\right) \cdot \left(1 + \left(1 + \frac{k}{t \cdot \frac{t}{k}}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t}{\ell} \cdot \frac{{k}^{4}}{\ell}}\\
\end{array}
\end{array}
if t < -6.8000000000000001e-124 or 7.9999999999999996e-94 < t Initial program 65.6%
unpow365.6%
times-frac75.5%
pow175.5%
pow175.5%
pow-sqr75.5%
metadata-eval75.5%
Applied egg-rr75.5%
div-inv58.0%
unpow258.0%
associate-*l*62.0%
div-inv62.0%
Applied egg-rr83.4%
unpow283.4%
clear-num83.4%
frac-times83.4%
*-un-lft-identity83.4%
Applied egg-rr83.4%
if -6.8000000000000001e-124 < t < 7.9999999999999996e-94Initial program 32.6%
Taylor expanded in t around 0 74.8%
times-frac71.7%
Simplified71.7%
Taylor expanded in k around 0 62.0%
unpow262.0%
times-frac69.8%
Applied egg-rr69.8%
Final simplification78.7%
(FPCore (t l k)
:precision binary64
(if (<= t -1.85e+104)
(* 2.0 (/ 1.0 (* t (* (pow (/ t l) 2.0) (* 2.0 (pow k 2.0))))))
(if (or (<= t -3e-43) (not (<= t 5.6e-83)))
(/
(* (/ 2.0 (* k (pow t 3.0))) (/ l (/ (sin k) l)))
(+ 2.0 (/ (/ k t) (/ t k))))
(/ 2.0 (* (/ t l) (/ (pow k 4.0) l))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -1.85e+104) {
tmp = 2.0 * (1.0 / (t * (pow((t / l), 2.0) * (2.0 * pow(k, 2.0)))));
} else if ((t <= -3e-43) || !(t <= 5.6e-83)) {
tmp = ((2.0 / (k * pow(t, 3.0))) * (l / (sin(k) / l))) / (2.0 + ((k / t) / (t / k)));
} else {
tmp = 2.0 / ((t / l) * (pow(k, 4.0) / 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 <= (-1.85d+104)) then
tmp = 2.0d0 * (1.0d0 / (t * (((t / l) ** 2.0d0) * (2.0d0 * (k ** 2.0d0)))))
else if ((t <= (-3d-43)) .or. (.not. (t <= 5.6d-83))) then
tmp = ((2.0d0 / (k * (t ** 3.0d0))) * (l / (sin(k) / l))) / (2.0d0 + ((k / t) / (t / k)))
else
tmp = 2.0d0 / ((t / l) * ((k ** 4.0d0) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -1.85e+104) {
tmp = 2.0 * (1.0 / (t * (Math.pow((t / l), 2.0) * (2.0 * Math.pow(k, 2.0)))));
} else if ((t <= -3e-43) || !(t <= 5.6e-83)) {
tmp = ((2.0 / (k * Math.pow(t, 3.0))) * (l / (Math.sin(k) / l))) / (2.0 + ((k / t) / (t / k)));
} else {
tmp = 2.0 / ((t / l) * (Math.pow(k, 4.0) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -1.85e+104: tmp = 2.0 * (1.0 / (t * (math.pow((t / l), 2.0) * (2.0 * math.pow(k, 2.0))))) elif (t <= -3e-43) or not (t <= 5.6e-83): tmp = ((2.0 / (k * math.pow(t, 3.0))) * (l / (math.sin(k) / l))) / (2.0 + ((k / t) / (t / k))) else: tmp = 2.0 / ((t / l) * (math.pow(k, 4.0) / l)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -1.85e+104) tmp = Float64(2.0 * Float64(1.0 / Float64(t * Float64((Float64(t / l) ^ 2.0) * Float64(2.0 * (k ^ 2.0)))))); elseif ((t <= -3e-43) || !(t <= 5.6e-83)) tmp = Float64(Float64(Float64(2.0 / Float64(k * (t ^ 3.0))) * Float64(l / Float64(sin(k) / l))) / Float64(2.0 + Float64(Float64(k / t) / Float64(t / k)))); else tmp = Float64(2.0 / Float64(Float64(t / l) * Float64((k ^ 4.0) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -1.85e+104) tmp = 2.0 * (1.0 / (t * (((t / l) ^ 2.0) * (2.0 * (k ^ 2.0))))); elseif ((t <= -3e-43) || ~((t <= 5.6e-83))) tmp = ((2.0 / (k * (t ^ 3.0))) * (l / (sin(k) / l))) / (2.0 + ((k / t) / (t / k))); else tmp = 2.0 / ((t / l) * ((k ^ 4.0) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -1.85e+104], N[(2.0 * N[(1.0 / N[(t * N[(N[Power[N[(t / l), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t, -3e-43], N[Not[LessEqual[t, 5.6e-83]], $MachinePrecision]], N[(N[(N[(2.0 / N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l / N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k / t), $MachinePrecision] / N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t / l), $MachinePrecision] * N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.85 \cdot 10^{+104}:\\
\;\;\;\;2 \cdot \frac{1}{t \cdot \left({\left(\frac{t}{\ell}\right)}^{2} \cdot \left(2 \cdot {k}^{2}\right)\right)}\\
\mathbf{elif}\;t \leq -3 \cdot 10^{-43} \lor \neg \left(t \leq 5.6 \cdot 10^{-83}\right):\\
\;\;\;\;\frac{\frac{2}{k \cdot {t}^{3}} \cdot \frac{\ell}{\frac{\sin k}{\ell}}}{2 + \frac{\frac{k}{t}}{\frac{t}{k}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t}{\ell} \cdot \frac{{k}^{4}}{\ell}}\\
\end{array}
\end{array}
if t < -1.8499999999999999e104Initial program 53.7%
associate-*l*48.2%
associate-*l*48.2%
+-commutative48.2%
unpow248.2%
times-frac37.3%
sqr-neg37.3%
times-frac48.2%
unpow248.2%
+-commutative48.2%
Simplified48.2%
Taylor expanded in k around 0 48.2%
unpow353.7%
times-frac71.8%
pow171.8%
pow171.8%
pow-sqr71.8%
metadata-eval71.8%
Applied egg-rr63.8%
div-inv63.8%
*-commutative63.8%
unpow263.8%
associate-*r/75.2%
associate-*l*75.2%
associate-*l*77.6%
pow177.6%
pow177.6%
pow-sqr77.6%
metadata-eval77.6%
Applied egg-rr77.6%
if -1.8499999999999999e104 < t < -3.00000000000000003e-43 or 5.6000000000000002e-83 < t Initial program 68.3%
associate-/r*68.4%
sqr-neg68.4%
Simplified75.6%
unpow275.6%
clear-num75.6%
un-div-inv75.6%
Applied egg-rr75.6%
Taylor expanded in k around 0 65.9%
*-commutative65.9%
Simplified65.9%
if -3.00000000000000003e-43 < t < 5.6000000000000002e-83Initial program 39.1%
Taylor expanded in t around 0 76.8%
times-frac74.1%
Simplified74.1%
Taylor expanded in k around 0 61.5%
unpow261.5%
times-frac69.0%
Applied egg-rr69.0%
Final simplification68.9%
(FPCore (t l k)
:precision binary64
(if (<= t -9.5e+103)
(* 2.0 (/ 1.0 (* t (* (pow (/ t l) 2.0) (* 2.0 (pow k 2.0))))))
(if (or (<= t -2.8e-58) (not (<= t 2.8e-58)))
(/
(/ (* l (/ 2.0 (tan k))) (* (pow t 3.0) (/ k l)))
(+ 2.0 (/ (* k (/ k t)) t)))
(/ 2.0 (* (/ t l) (/ (pow k 4.0) l))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 * (1.0 / (t * (pow((t / l), 2.0) * (2.0 * pow(k, 2.0)))));
} else if ((t <= -2.8e-58) || !(t <= 2.8e-58)) {
tmp = ((l * (2.0 / tan(k))) / (pow(t, 3.0) * (k / l))) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / ((t / l) * (pow(k, 4.0) / 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 <= (-9.5d+103)) then
tmp = 2.0d0 * (1.0d0 / (t * (((t / l) ** 2.0d0) * (2.0d0 * (k ** 2.0d0)))))
else if ((t <= (-2.8d-58)) .or. (.not. (t <= 2.8d-58))) then
tmp = ((l * (2.0d0 / tan(k))) / ((t ** 3.0d0) * (k / l))) / (2.0d0 + ((k * (k / t)) / t))
else
tmp = 2.0d0 / ((t / l) * ((k ** 4.0d0) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 * (1.0 / (t * (Math.pow((t / l), 2.0) * (2.0 * Math.pow(k, 2.0)))));
} else if ((t <= -2.8e-58) || !(t <= 2.8e-58)) {
tmp = ((l * (2.0 / Math.tan(k))) / (Math.pow(t, 3.0) * (k / l))) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / ((t / l) * (Math.pow(k, 4.0) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -9.5e+103: tmp = 2.0 * (1.0 / (t * (math.pow((t / l), 2.0) * (2.0 * math.pow(k, 2.0))))) elif (t <= -2.8e-58) or not (t <= 2.8e-58): tmp = ((l * (2.0 / math.tan(k))) / (math.pow(t, 3.0) * (k / l))) / (2.0 + ((k * (k / t)) / t)) else: tmp = 2.0 / ((t / l) * (math.pow(k, 4.0) / l)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -9.5e+103) tmp = Float64(2.0 * Float64(1.0 / Float64(t * Float64((Float64(t / l) ^ 2.0) * Float64(2.0 * (k ^ 2.0)))))); elseif ((t <= -2.8e-58) || !(t <= 2.8e-58)) tmp = Float64(Float64(Float64(l * Float64(2.0 / tan(k))) / Float64((t ^ 3.0) * Float64(k / l))) / Float64(2.0 + Float64(Float64(k * Float64(k / t)) / t))); else tmp = Float64(2.0 / Float64(Float64(t / l) * Float64((k ^ 4.0) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -9.5e+103) tmp = 2.0 * (1.0 / (t * (((t / l) ^ 2.0) * (2.0 * (k ^ 2.0))))); elseif ((t <= -2.8e-58) || ~((t <= 2.8e-58))) tmp = ((l * (2.0 / tan(k))) / ((t ^ 3.0) * (k / l))) / (2.0 + ((k * (k / t)) / t)); else tmp = 2.0 / ((t / l) * ((k ^ 4.0) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -9.5e+103], N[(2.0 * N[(1.0 / N[(t * N[(N[Power[N[(t / l), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t, -2.8e-58], N[Not[LessEqual[t, 2.8e-58]], $MachinePrecision]], N[(N[(N[(l * N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k * N[(k / t), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t / l), $MachinePrecision] * N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -9.5 \cdot 10^{+103}:\\
\;\;\;\;2 \cdot \frac{1}{t \cdot \left({\left(\frac{t}{\ell}\right)}^{2} \cdot \left(2 \cdot {k}^{2}\right)\right)}\\
\mathbf{elif}\;t \leq -2.8 \cdot 10^{-58} \lor \neg \left(t \leq 2.8 \cdot 10^{-58}\right):\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{2}{\tan k}}{{t}^{3} \cdot \frac{k}{\ell}}}{2 + \frac{k \cdot \frac{k}{t}}{t}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t}{\ell} \cdot \frac{{k}^{4}}{\ell}}\\
\end{array}
\end{array}
if t < -9.49999999999999922e103Initial program 53.7%
associate-*l*48.2%
associate-*l*48.2%
+-commutative48.2%
unpow248.2%
times-frac37.3%
sqr-neg37.3%
times-frac48.2%
unpow248.2%
+-commutative48.2%
Simplified48.2%
Taylor expanded in k around 0 48.2%
unpow353.7%
times-frac71.8%
pow171.8%
pow171.8%
pow-sqr71.8%
metadata-eval71.8%
Applied egg-rr63.8%
div-inv63.8%
*-commutative63.8%
unpow263.8%
associate-*r/75.2%
associate-*l*75.2%
associate-*l*77.6%
pow177.6%
pow177.6%
pow-sqr77.6%
metadata-eval77.6%
Applied egg-rr77.6%
if -9.49999999999999922e103 < t < -2.8000000000000001e-58 or 2.8000000000000001e-58 < t Initial program 71.3%
associate-/r*71.5%
sqr-neg71.5%
Simplified79.0%
frac-times82.1%
*-commutative82.1%
Applied egg-rr82.1%
unpow282.1%
associate-*r/81.2%
Applied egg-rr81.2%
Taylor expanded in k around 0 71.2%
associate-/l*66.9%
associate-/r/71.2%
Simplified71.2%
if -2.8000000000000001e-58 < t < 2.8000000000000001e-58Initial program 37.5%
Taylor expanded in t around 0 75.2%
times-frac71.9%
Simplified71.9%
Taylor expanded in k around 0 59.8%
unpow259.8%
times-frac66.9%
Applied egg-rr66.9%
Final simplification70.3%
(FPCore (t l k)
:precision binary64
(if (<= t -9.5e+103)
(* 2.0 (/ 1.0 (* t (* (pow (/ t l) 2.0) (* 2.0 (pow k 2.0))))))
(if (or (<= t -2.8e-58) (not (<= t 7.7e-59)))
(/
(/ (* l (/ 2.0 (tan k))) (/ (* k (pow t 3.0)) l))
(+ 2.0 (/ (* k (/ k t)) t)))
(/ 2.0 (* (/ t l) (/ (pow k 4.0) l))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 * (1.0 / (t * (pow((t / l), 2.0) * (2.0 * pow(k, 2.0)))));
} else if ((t <= -2.8e-58) || !(t <= 7.7e-59)) {
tmp = ((l * (2.0 / tan(k))) / ((k * pow(t, 3.0)) / l)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / ((t / l) * (pow(k, 4.0) / 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 <= (-9.5d+103)) then
tmp = 2.0d0 * (1.0d0 / (t * (((t / l) ** 2.0d0) * (2.0d0 * (k ** 2.0d0)))))
else if ((t <= (-2.8d-58)) .or. (.not. (t <= 7.7d-59))) then
tmp = ((l * (2.0d0 / tan(k))) / ((k * (t ** 3.0d0)) / l)) / (2.0d0 + ((k * (k / t)) / t))
else
tmp = 2.0d0 / ((t / l) * ((k ** 4.0d0) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -9.5e+103) {
tmp = 2.0 * (1.0 / (t * (Math.pow((t / l), 2.0) * (2.0 * Math.pow(k, 2.0)))));
} else if ((t <= -2.8e-58) || !(t <= 7.7e-59)) {
tmp = ((l * (2.0 / Math.tan(k))) / ((k * Math.pow(t, 3.0)) / l)) / (2.0 + ((k * (k / t)) / t));
} else {
tmp = 2.0 / ((t / l) * (Math.pow(k, 4.0) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -9.5e+103: tmp = 2.0 * (1.0 / (t * (math.pow((t / l), 2.0) * (2.0 * math.pow(k, 2.0))))) elif (t <= -2.8e-58) or not (t <= 7.7e-59): tmp = ((l * (2.0 / math.tan(k))) / ((k * math.pow(t, 3.0)) / l)) / (2.0 + ((k * (k / t)) / t)) else: tmp = 2.0 / ((t / l) * (math.pow(k, 4.0) / l)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -9.5e+103) tmp = Float64(2.0 * Float64(1.0 / Float64(t * Float64((Float64(t / l) ^ 2.0) * Float64(2.0 * (k ^ 2.0)))))); elseif ((t <= -2.8e-58) || !(t <= 7.7e-59)) tmp = Float64(Float64(Float64(l * Float64(2.0 / tan(k))) / Float64(Float64(k * (t ^ 3.0)) / l)) / Float64(2.0 + Float64(Float64(k * Float64(k / t)) / t))); else tmp = Float64(2.0 / Float64(Float64(t / l) * Float64((k ^ 4.0) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -9.5e+103) tmp = 2.0 * (1.0 / (t * (((t / l) ^ 2.0) * (2.0 * (k ^ 2.0))))); elseif ((t <= -2.8e-58) || ~((t <= 7.7e-59))) tmp = ((l * (2.0 / tan(k))) / ((k * (t ^ 3.0)) / l)) / (2.0 + ((k * (k / t)) / t)); else tmp = 2.0 / ((t / l) * ((k ^ 4.0) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -9.5e+103], N[(2.0 * N[(1.0 / N[(t * N[(N[Power[N[(t / l), $MachinePrecision], 2.0], $MachinePrecision] * N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[Or[LessEqual[t, -2.8e-58], N[Not[LessEqual[t, 7.7e-59]], $MachinePrecision]], N[(N[(N[(l * N[(2.0 / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] / N[(2.0 + N[(N[(k * N[(k / t), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t / l), $MachinePrecision] * N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -9.5 \cdot 10^{+103}:\\
\;\;\;\;2 \cdot \frac{1}{t \cdot \left({\left(\frac{t}{\ell}\right)}^{2} \cdot \left(2 \cdot {k}^{2}\right)\right)}\\
\mathbf{elif}\;t \leq -2.8 \cdot 10^{-58} \lor \neg \left(t \leq 7.7 \cdot 10^{-59}\right):\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{2}{\tan k}}{\frac{k \cdot {t}^{3}}{\ell}}}{2 + \frac{k \cdot \frac{k}{t}}{t}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t}{\ell} \cdot \frac{{k}^{4}}{\ell}}\\
\end{array}
\end{array}
if t < -9.49999999999999922e103Initial program 53.7%
associate-*l*48.2%
associate-*l*48.2%
+-commutative48.2%
unpow248.2%
times-frac37.3%
sqr-neg37.3%
times-frac48.2%
unpow248.2%
+-commutative48.2%
Simplified48.2%
Taylor expanded in k around 0 48.2%
unpow353.7%
times-frac71.8%
pow171.8%
pow171.8%
pow-sqr71.8%
metadata-eval71.8%
Applied egg-rr63.8%
div-inv63.8%
*-commutative63.8%
unpow263.8%
associate-*r/75.2%
associate-*l*75.2%
associate-*l*77.6%
pow177.6%
pow177.6%
pow-sqr77.6%
metadata-eval77.6%
Applied egg-rr77.6%
if -9.49999999999999922e103 < t < -2.8000000000000001e-58 or 7.7e-59 < t Initial program 71.3%
associate-/r*71.5%
sqr-neg71.5%
Simplified79.0%
frac-times82.1%
*-commutative82.1%
Applied egg-rr82.1%
unpow282.1%
associate-*r/81.2%
Applied egg-rr81.2%
Taylor expanded in k around 0 71.2%
if -2.8000000000000001e-58 < t < 7.7e-59Initial program 37.5%
Taylor expanded in t around 0 75.2%
times-frac71.9%
Simplified71.9%
Taylor expanded in k around 0 59.8%
unpow259.8%
times-frac66.9%
Applied egg-rr66.9%
Final simplification70.3%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (* 2.0 (pow k 2.0))))
(if (<= t -9.2e-33)
(* 2.0 (/ 1.0 (* t (* (pow (/ t l) 2.0) t_1))))
(if (<= t 1.9e-43)
(/ 2.0 (* (/ t l) (/ (pow k 4.0) l)))
(/ 2.0 (* (* (/ t l) (* t (/ t l))) t_1))))))
double code(double t, double l, double k) {
double t_1 = 2.0 * pow(k, 2.0);
double tmp;
if (t <= -9.2e-33) {
tmp = 2.0 * (1.0 / (t * (pow((t / l), 2.0) * t_1)));
} else if (t <= 1.9e-43) {
tmp = 2.0 / ((t / l) * (pow(k, 4.0) / l));
} else {
tmp = 2.0 / (((t / l) * (t * (t / l))) * t_1);
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 2.0d0 * (k ** 2.0d0)
if (t <= (-9.2d-33)) then
tmp = 2.0d0 * (1.0d0 / (t * (((t / l) ** 2.0d0) * t_1)))
else if (t <= 1.9d-43) then
tmp = 2.0d0 / ((t / l) * ((k ** 4.0d0) / l))
else
tmp = 2.0d0 / (((t / l) * (t * (t / l))) * t_1)
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = 2.0 * Math.pow(k, 2.0);
double tmp;
if (t <= -9.2e-33) {
tmp = 2.0 * (1.0 / (t * (Math.pow((t / l), 2.0) * t_1)));
} else if (t <= 1.9e-43) {
tmp = 2.0 / ((t / l) * (Math.pow(k, 4.0) / l));
} else {
tmp = 2.0 / (((t / l) * (t * (t / l))) * t_1);
}
return tmp;
}
def code(t, l, k): t_1 = 2.0 * math.pow(k, 2.0) tmp = 0 if t <= -9.2e-33: tmp = 2.0 * (1.0 / (t * (math.pow((t / l), 2.0) * t_1))) elif t <= 1.9e-43: tmp = 2.0 / ((t / l) * (math.pow(k, 4.0) / l)) else: tmp = 2.0 / (((t / l) * (t * (t / l))) * t_1) return tmp
function code(t, l, k) t_1 = Float64(2.0 * (k ^ 2.0)) tmp = 0.0 if (t <= -9.2e-33) tmp = Float64(2.0 * Float64(1.0 / Float64(t * Float64((Float64(t / l) ^ 2.0) * t_1)))); elseif (t <= 1.9e-43) tmp = Float64(2.0 / Float64(Float64(t / l) * Float64((k ^ 4.0) / l))); else tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * Float64(t * Float64(t / l))) * t_1)); end return tmp end
function tmp_2 = code(t, l, k) t_1 = 2.0 * (k ^ 2.0); tmp = 0.0; if (t <= -9.2e-33) tmp = 2.0 * (1.0 / (t * (((t / l) ^ 2.0) * t_1))); elseif (t <= 1.9e-43) tmp = 2.0 / ((t / l) * ((k ^ 4.0) / l)); else tmp = 2.0 / (((t / l) * (t * (t / l))) * t_1); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -9.2e-33], N[(2.0 * N[(1.0 / N[(t * N[(N[Power[N[(t / l), $MachinePrecision], 2.0], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.9e-43], N[(2.0 / N[(N[(t / l), $MachinePrecision] * N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 2 \cdot {k}^{2}\\
\mathbf{if}\;t \leq -9.2 \cdot 10^{-33}:\\
\;\;\;\;2 \cdot \frac{1}{t \cdot \left({\left(\frac{t}{\ell}\right)}^{2} \cdot t_1\right)}\\
\mathbf{elif}\;t \leq 1.9 \cdot 10^{-43}:\\
\;\;\;\;\frac{2}{\frac{t}{\ell} \cdot \frac{{k}^{4}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right) \cdot t_1}\\
\end{array}
\end{array}
if t < -9.19999999999999942e-33Initial program 63.6%
associate-*l*58.6%
associate-*l*58.6%
+-commutative58.6%
unpow258.6%
times-frac50.5%
sqr-neg50.5%
times-frac58.6%
unpow258.6%
+-commutative58.6%
Simplified58.6%
Taylor expanded in k around 0 52.2%
unpow363.6%
times-frac75.7%
pow175.7%
pow175.7%
pow-sqr75.7%
metadata-eval75.7%
Applied egg-rr61.5%
div-inv61.5%
*-commutative61.5%
unpow261.5%
associate-*r/68.2%
associate-*l*68.2%
associate-*l*69.6%
pow169.6%
pow169.6%
pow-sqr69.6%
metadata-eval69.6%
Applied egg-rr69.6%
if -9.19999999999999942e-33 < t < 1.89999999999999985e-43Initial program 39.4%
Taylor expanded in t around 0 75.4%
times-frac72.2%
Simplified72.2%
Taylor expanded in k around 0 58.9%
unpow258.9%
times-frac65.8%
Applied egg-rr65.8%
if 1.89999999999999985e-43 < t Initial program 68.4%
associate-*l*63.0%
associate-*l*63.0%
+-commutative63.0%
unpow263.0%
times-frac52.7%
sqr-neg52.7%
times-frac63.0%
unpow263.0%
+-commutative63.0%
Simplified63.0%
Taylor expanded in k around 0 56.9%
unpow368.4%
times-frac78.5%
pow178.5%
pow178.5%
pow-sqr78.5%
metadata-eval78.5%
Applied egg-rr61.0%
div-inv61.0%
unpow261.0%
associate-*l*64.1%
div-inv64.1%
Applied egg-rr64.1%
Final simplification66.2%
(FPCore (t l k) :precision binary64 (if (or (<= t -3.3e-27) (not (<= t 9.5e-43))) (/ 2.0 (* (* (/ t l) (* t (/ t l))) (* 2.0 (pow k 2.0)))) (/ 2.0 (* (/ t l) (/ (pow k 4.0) l)))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -3.3e-27) || !(t <= 9.5e-43)) {
tmp = 2.0 / (((t / l) * (t * (t / l))) * (2.0 * pow(k, 2.0)));
} else {
tmp = 2.0 / ((t / l) * (pow(k, 4.0) / 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 <= (-3.3d-27)) .or. (.not. (t <= 9.5d-43))) then
tmp = 2.0d0 / (((t / l) * (t * (t / l))) * (2.0d0 * (k ** 2.0d0)))
else
tmp = 2.0d0 / ((t / l) * ((k ** 4.0d0) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -3.3e-27) || !(t <= 9.5e-43)) {
tmp = 2.0 / (((t / l) * (t * (t / l))) * (2.0 * Math.pow(k, 2.0)));
} else {
tmp = 2.0 / ((t / l) * (Math.pow(k, 4.0) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -3.3e-27) or not (t <= 9.5e-43): tmp = 2.0 / (((t / l) * (t * (t / l))) * (2.0 * math.pow(k, 2.0))) else: tmp = 2.0 / ((t / l) * (math.pow(k, 4.0) / l)) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -3.3e-27) || !(t <= 9.5e-43)) tmp = Float64(2.0 / Float64(Float64(Float64(t / l) * Float64(t * Float64(t / l))) * Float64(2.0 * (k ^ 2.0)))); else tmp = Float64(2.0 / Float64(Float64(t / l) * Float64((k ^ 4.0) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -3.3e-27) || ~((t <= 9.5e-43))) tmp = 2.0 / (((t / l) * (t * (t / l))) * (2.0 * (k ^ 2.0))); else tmp = 2.0 / ((t / l) * ((k ^ 4.0) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -3.3e-27], N[Not[LessEqual[t, 9.5e-43]], $MachinePrecision]], N[(2.0 / N[(N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * N[Power[k, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t / l), $MachinePrecision] * N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.3 \cdot 10^{-27} \lor \neg \left(t \leq 9.5 \cdot 10^{-43}\right):\\
\;\;\;\;\frac{2}{\left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right) \cdot \left(2 \cdot {k}^{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t}{\ell} \cdot \frac{{k}^{4}}{\ell}}\\
\end{array}
\end{array}
if t < -3.29999999999999998e-27 or 9.50000000000000044e-43 < t Initial program 66.2%
associate-*l*61.0%
associate-*l*61.0%
+-commutative61.0%
unpow261.0%
times-frac51.7%
sqr-neg51.7%
times-frac61.0%
unpow261.0%
+-commutative61.0%
Simplified61.0%
Taylor expanded in k around 0 54.8%
unpow366.2%
times-frac77.2%
pow177.2%
pow177.2%
pow-sqr77.2%
metadata-eval77.2%
Applied egg-rr61.3%
div-inv61.2%
unpow261.2%
associate-*l*66.0%
div-inv66.0%
Applied egg-rr66.0%
if -3.29999999999999998e-27 < t < 9.50000000000000044e-43Initial program 39.4%
Taylor expanded in t around 0 75.4%
times-frac72.2%
Simplified72.2%
Taylor expanded in k around 0 58.9%
unpow258.9%
times-frac65.8%
Applied egg-rr65.8%
Final simplification65.9%
(FPCore (t l k) :precision binary64 (* l (* l (/ 2.0 (* t (pow k 4.0))))))
double code(double t, double l, double k) {
return l * (l * (2.0 / (t * pow(k, 4.0))));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = l * (l * (2.0d0 / (t * (k ** 4.0d0))))
end function
public static double code(double t, double l, double k) {
return l * (l * (2.0 / (t * Math.pow(k, 4.0))));
}
def code(t, l, k): return l * (l * (2.0 / (t * math.pow(k, 4.0))))
function code(t, l, k) return Float64(l * Float64(l * Float64(2.0 / Float64(t * (k ^ 4.0))))) end
function tmp = code(t, l, k) tmp = l * (l * (2.0 / (t * (k ^ 4.0)))); end
code[t_, l_, k_] := N[(l * N[(l * N[(2.0 / N[(t * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\ell \cdot \left(\ell \cdot \frac{2}{t \cdot {k}^{4}}\right)
\end{array}
Initial program 54.1%
Taylor expanded in t around 0 61.0%
times-frac59.7%
Simplified59.7%
Taylor expanded in k around 0 50.5%
associate-/r/50.5%
unpow250.5%
associate-*r*53.5%
*-commutative53.5%
Applied egg-rr53.5%
Final simplification53.5%
(FPCore (t l k) :precision binary64 (* l (/ 2.0 (/ (* t (pow k 4.0)) l))))
double code(double t, double l, double k) {
return l * (2.0 / ((t * pow(k, 4.0)) / l));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = l * (2.0d0 / ((t * (k ** 4.0d0)) / l))
end function
public static double code(double t, double l, double k) {
return l * (2.0 / ((t * Math.pow(k, 4.0)) / l));
}
def code(t, l, k): return l * (2.0 / ((t * math.pow(k, 4.0)) / l))
function code(t, l, k) return Float64(l * Float64(2.0 / Float64(Float64(t * (k ^ 4.0)) / l))) end
function tmp = code(t, l, k) tmp = l * (2.0 / ((t * (k ^ 4.0)) / l)); end
code[t_, l_, k_] := N[(l * N[(2.0 / N[(N[(t * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\ell \cdot \frac{2}{\frac{t \cdot {k}^{4}}{\ell}}
\end{array}
Initial program 54.1%
Taylor expanded in t around 0 61.0%
times-frac59.7%
Simplified59.7%
Taylor expanded in k around 0 50.5%
associate-/r/50.5%
unpow250.5%
associate-*r*53.5%
*-commutative53.5%
Applied egg-rr53.5%
associate-*l/53.5%
associate-/l*53.5%
Applied egg-rr53.5%
Final simplification53.5%
(FPCore (t l k) :precision binary64 (/ 2.0 (* (/ t l) (/ (pow k 4.0) l))))
double code(double t, double l, double k) {
return 2.0 / ((t / l) * (pow(k, 4.0) / 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 / l) * ((k ** 4.0d0) / l))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((t / l) * (Math.pow(k, 4.0) / l));
}
def code(t, l, k): return 2.0 / ((t / l) * (math.pow(k, 4.0) / l))
function code(t, l, k) return Float64(2.0 / Float64(Float64(t / l) * Float64((k ^ 4.0) / l))) end
function tmp = code(t, l, k) tmp = 2.0 / ((t / l) * ((k ^ 4.0) / l)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(t / l), $MachinePrecision] * N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\frac{t}{\ell} \cdot \frac{{k}^{4}}{\ell}}
\end{array}
Initial program 54.1%
Taylor expanded in t around 0 61.0%
times-frac59.7%
Simplified59.7%
Taylor expanded in k around 0 50.5%
unpow250.5%
times-frac53.7%
Applied egg-rr53.7%
Final simplification53.7%
herbie shell --seed 2023301
(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))))