
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
Sampling outcomes in binary64 precision:
Herbie found 22 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<=
(/
2.0
(*
(* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
(+ 1.0 (+ 1.0 t_1))))
2e+281)
(*
l
(*
l
(/
2.0
(pow (* (cbrt (* (tan k) (+ 2.0 t_1))) (* t (cbrt (sin k)))) 3.0))))
(/ 2.0 (* (/ (pow (sin k) 2.0) (cos k)) (* (/ k l) (/ (* t k) l)))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double tmp;
if ((2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * (1.0 + (1.0 + t_1)))) <= 2e+281) {
tmp = l * (l * (2.0 / pow((cbrt((tan(k) * (2.0 + t_1))) * (t * cbrt(sin(k)))), 3.0)));
} else {
tmp = 2.0 / ((pow(sin(k), 2.0) / cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double tmp;
if ((2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * (1.0 + (1.0 + t_1)))) <= 2e+281) {
tmp = l * (l * (2.0 / Math.pow((Math.cbrt((Math.tan(k) * (2.0 + t_1))) * (t * Math.cbrt(Math.sin(k)))), 3.0)));
} else {
tmp = 2.0 / ((Math.pow(Math.sin(k), 2.0) / Math.cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
function code(t, l, k) t_1 = Float64(k / t) ^ 2.0 tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(1.0 + Float64(1.0 + t_1)))) <= 2e+281) tmp = Float64(l * Float64(l * Float64(2.0 / (Float64(cbrt(Float64(tan(k) * Float64(2.0 + t_1))) * Float64(t * cbrt(sin(k)))) ^ 3.0)))); else tmp = Float64(2.0 / Float64(Float64((sin(k) ^ 2.0) / cos(k)) * Float64(Float64(k / l) * Float64(Float64(t * k) / l)))); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2e+281], N[(l * N[(l * N[(2.0 / N[Power[N[(N[Power[N[(N[Tan[k], $MachinePrecision] * N[(2.0 + t$95$1), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] * N[(t * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(N[(t * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{k}{t}\right)}^{2}\\
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(1 + \left(1 + t_1\right)\right)} \leq 2 \cdot 10^{+281}:\\
\;\;\;\;\ell \cdot \left(\ell \cdot \frac{2}{{\left(\sqrt[3]{\tan k \cdot \left(2 + t_1\right)} \cdot \left(t \cdot \sqrt[3]{\sin k}\right)\right)}^{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{\sin k}^{2}}{\cos k} \cdot \left(\frac{k}{\ell} \cdot \frac{t \cdot k}{\ell}\right)}\\
\end{array}
\end{array}
if (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) < 2.0000000000000001e281Initial program 85.2%
associate-/l/85.2%
associate-*l/84.4%
associate-*l/83.7%
associate-/r/83.7%
*-commutative83.7%
associate-/l/83.7%
associate-*r*84.4%
*-commutative84.4%
associate-*r*84.4%
*-commutative84.4%
Simplified84.4%
add-cube-cbrt84.1%
pow384.1%
Applied egg-rr90.3%
associate-*r/90.3%
Applied egg-rr90.3%
unpow290.3%
associate-*r/90.3%
unpow290.3%
associate-*l*92.1%
Simplified92.1%
if 2.0000000000000001e281 < (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) Initial program 17.4%
*-commutative17.4%
associate-*l*17.4%
associate-*r*17.4%
+-commutative17.4%
associate-+r+17.4%
metadata-eval17.4%
Simplified17.4%
Taylor expanded in k around inf 49.9%
*-commutative49.9%
associate-*l*49.9%
*-commutative49.9%
unpow249.9%
associate-*l*58.3%
unpow258.3%
Simplified58.3%
div-inv58.2%
*-commutative58.2%
*-commutative58.2%
Applied egg-rr58.2%
associate-*r/58.3%
unpow258.3%
*-rgt-identity58.3%
*-commutative58.3%
associate-/r*58.3%
*-commutative58.3%
associate-*l/58.2%
associate-*r/58.4%
associate-/l*58.6%
unpow258.6%
times-frac75.7%
Simplified75.7%
frac-times58.6%
associate-/l*58.4%
times-frac79.5%
Applied egg-rr79.5%
Final simplification86.4%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0))
(t_2
(*
(* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
(+ 1.0 (+ 1.0 t_1)))))
(if (<= t_2 (- INFINITY))
(* (* l l) (/ 2.0 (pow (* (* t (cbrt (sin k))) (cbrt (* 2.0 k))) 3.0)))
(if (<= t_2 INFINITY)
(* (/ 2.0 (sin k)) (/ (* l (* l (pow t -3.0))) (* (tan k) (+ 2.0 t_1))))
(/ 2.0 (* (/ (pow (sin k) 2.0) (cos k)) (* (/ k l) (/ (* t k) l))))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double t_2 = (((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * (1.0 + (1.0 + t_1));
double tmp;
if (t_2 <= -((double) INFINITY)) {
tmp = (l * l) * (2.0 / pow(((t * cbrt(sin(k))) * cbrt((2.0 * k))), 3.0));
} else if (t_2 <= ((double) INFINITY)) {
tmp = (2.0 / sin(k)) * ((l * (l * pow(t, -3.0))) / (tan(k) * (2.0 + t_1)));
} else {
tmp = 2.0 / ((pow(sin(k), 2.0) / cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double t_2 = (((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * (1.0 + (1.0 + t_1));
double tmp;
if (t_2 <= -Double.POSITIVE_INFINITY) {
tmp = (l * l) * (2.0 / Math.pow(((t * Math.cbrt(Math.sin(k))) * Math.cbrt((2.0 * k))), 3.0));
} else if (t_2 <= Double.POSITIVE_INFINITY) {
tmp = (2.0 / Math.sin(k)) * ((l * (l * Math.pow(t, -3.0))) / (Math.tan(k) * (2.0 + t_1)));
} else {
tmp = 2.0 / ((Math.pow(Math.sin(k), 2.0) / Math.cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
function code(t, l, k) t_1 = Float64(k / t) ^ 2.0 t_2 = Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(1.0 + Float64(1.0 + t_1))) tmp = 0.0 if (t_2 <= Float64(-Inf)) tmp = Float64(Float64(l * l) * Float64(2.0 / (Float64(Float64(t * cbrt(sin(k))) * cbrt(Float64(2.0 * k))) ^ 3.0))); elseif (t_2 <= Inf) tmp = Float64(Float64(2.0 / sin(k)) * Float64(Float64(l * Float64(l * (t ^ -3.0))) / Float64(tan(k) * Float64(2.0 + t_1)))); else tmp = Float64(2.0 / Float64(Float64((sin(k) ^ 2.0) / cos(k)) * Float64(Float64(k / l) * Float64(Float64(t * k) / l)))); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, (-Infinity)], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[Power[N[(N[(t * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(2.0 * k), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, Infinity], N[(N[(2.0 / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(N[(l * N[(l * N[Power[t, -3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Tan[k], $MachinePrecision] * N[(2.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(N[(t * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{k}{t}\right)}^{2}\\
t_2 := \left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(1 + \left(1 + t_1\right)\right)\\
\mathbf{if}\;t_2 \leq -\infty:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{{\left(\left(t \cdot \sqrt[3]{\sin k}\right) \cdot \sqrt[3]{2 \cdot k}\right)}^{3}}\\
\mathbf{elif}\;t_2 \leq \infty:\\
\;\;\;\;\frac{2}{\sin k} \cdot \frac{\ell \cdot \left(\ell \cdot {t}^{-3}\right)}{\tan k \cdot \left(2 + t_1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{\sin k}^{2}}{\cos k} \cdot \left(\frac{k}{\ell} \cdot \frac{t \cdot k}{\ell}\right)}\\
\end{array}
\end{array}
if (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) < -inf.0Initial program 78.7%
associate-/l/78.7%
associate-*l/78.7%
associate-*l/80.5%
associate-/r/80.5%
*-commutative80.5%
associate-/l/80.5%
associate-*r*80.5%
*-commutative80.5%
associate-*r*80.5%
*-commutative80.5%
Simplified80.5%
add-cube-cbrt80.5%
pow380.5%
Applied egg-rr92.3%
Taylor expanded in k around 0 92.3%
if -inf.0 < (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) < +inf.0Initial program 90.1%
associate-*l*90.1%
associate-/l/90.0%
*-commutative90.0%
associate-*r/89.1%
associate-/l*90.1%
associate-/r/83.7%
Simplified85.6%
expm1-log1p-u69.7%
expm1-udef63.8%
associate-*l/63.8%
*-commutative63.8%
div-inv63.8%
pow-flip63.8%
metadata-eval63.8%
*-commutative63.8%
Applied egg-rr63.8%
expm1-def69.7%
expm1-log1p86.4%
associate-*r*86.4%
*-commutative86.4%
*-commutative86.4%
times-frac92.7%
Simplified92.7%
if +inf.0 < (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) Initial program 0.0%
*-commutative0.0%
associate-*l*0.0%
associate-*r*0.0%
+-commutative0.0%
associate-+r+0.0%
metadata-eval0.0%
Simplified0.0%
Taylor expanded in k around inf 39.8%
*-commutative39.8%
associate-*l*39.8%
*-commutative39.8%
unpow239.8%
associate-*l*50.0%
unpow250.0%
Simplified50.0%
div-inv50.0%
*-commutative50.0%
*-commutative50.0%
Applied egg-rr50.0%
associate-*r/50.0%
unpow250.0%
*-rgt-identity50.0%
*-commutative50.0%
associate-/r*50.0%
*-commutative50.0%
associate-*l/50.0%
associate-*r/50.2%
associate-/l*50.3%
unpow250.3%
times-frac70.3%
Simplified70.3%
frac-times50.3%
associate-/l*50.2%
times-frac75.0%
Applied egg-rr75.0%
Final simplification86.1%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0)))
(if (<=
(/
2.0
(*
(* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
(+ 1.0 (+ 1.0 t_1))))
INFINITY)
(*
l
(* (/ 2.0 (* (tan k) (+ 2.0 t_1))) (/ l (pow (* t (cbrt (sin k))) 3.0))))
(/ 2.0 (* (/ (pow (sin k) 2.0) (cos k)) (* (/ k l) (/ (* t k) l)))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double tmp;
if ((2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * (1.0 + (1.0 + t_1)))) <= ((double) INFINITY)) {
tmp = l * ((2.0 / (tan(k) * (2.0 + t_1))) * (l / pow((t * cbrt(sin(k))), 3.0)));
} else {
tmp = 2.0 / ((pow(sin(k), 2.0) / cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double tmp;
if ((2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * (1.0 + (1.0 + t_1)))) <= Double.POSITIVE_INFINITY) {
tmp = l * ((2.0 / (Math.tan(k) * (2.0 + t_1))) * (l / Math.pow((t * Math.cbrt(Math.sin(k))), 3.0)));
} else {
tmp = 2.0 / ((Math.pow(Math.sin(k), 2.0) / Math.cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
function code(t, l, k) t_1 = Float64(k / t) ^ 2.0 tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(1.0 + Float64(1.0 + t_1)))) <= Inf) tmp = Float64(l * Float64(Float64(2.0 / Float64(tan(k) * Float64(2.0 + t_1))) * Float64(l / (Float64(t * cbrt(sin(k))) ^ 3.0)))); else tmp = Float64(2.0 / Float64(Float64((sin(k) ^ 2.0) / cos(k)) * Float64(Float64(k / l) * Float64(Float64(t * k) / l)))); end return tmp end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(1.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], Infinity], N[(l * N[(N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(2.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(l / N[Power[N[(t * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(N[(t * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{k}{t}\right)}^{2}\\
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(1 + \left(1 + t_1\right)\right)} \leq \infty:\\
\;\;\;\;\ell \cdot \left(\frac{2}{\tan k \cdot \left(2 + t_1\right)} \cdot \frac{\ell}{{\left(t \cdot \sqrt[3]{\sin k}\right)}^{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{\sin k}^{2}}{\cos k} \cdot \left(\frac{k}{\ell} \cdot \frac{t \cdot k}{\ell}\right)}\\
\end{array}
\end{array}
if (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) < +inf.0Initial program 86.5%
associate-/l/86.5%
associate-*l/85.9%
associate-*l/85.2%
associate-/r/85.2%
*-commutative85.2%
associate-/l/85.2%
associate-*r*85.8%
*-commutative85.8%
associate-*r*85.8%
*-commutative85.8%
Simplified85.8%
add-cube-cbrt85.6%
pow385.6%
Applied egg-rr91.0%
associate-*r/91.0%
Applied egg-rr91.0%
unpow291.0%
associate-*r/91.0%
unpow291.0%
associate-*l*92.5%
Simplified92.5%
pow192.5%
Applied egg-rr92.5%
unpow192.5%
associate-*r/92.5%
*-commutative92.5%
cube-prod89.7%
rem-cube-cbrt89.8%
times-frac91.8%
Simplified91.8%
if +inf.0 < (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) Initial program 0.0%
*-commutative0.0%
associate-*l*0.0%
associate-*r*0.0%
+-commutative0.0%
associate-+r+0.0%
metadata-eval0.0%
Simplified0.0%
Taylor expanded in k around inf 39.8%
*-commutative39.8%
associate-*l*39.8%
*-commutative39.8%
unpow239.8%
associate-*l*50.0%
unpow250.0%
Simplified50.0%
div-inv50.0%
*-commutative50.0%
*-commutative50.0%
Applied egg-rr50.0%
associate-*r/50.0%
unpow250.0%
*-rgt-identity50.0%
*-commutative50.0%
associate-/r*50.0%
*-commutative50.0%
associate-*l/50.0%
associate-*r/50.2%
associate-/l*50.3%
unpow250.3%
times-frac70.3%
Simplified70.3%
frac-times50.3%
associate-/l*50.2%
times-frac75.0%
Applied egg-rr75.0%
Final simplification85.6%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (+ 1.0 (+ 1.0 (pow (/ k t) 2.0)))))
(if (<=
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) t_1))
INFINITY)
(/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* (tan k) t_1)))
(/ 2.0 (* (/ (pow (sin k) 2.0) (cos k)) (* (/ k l) (/ (* t k) l)))))))
double code(double t, double l, double k) {
double t_1 = 1.0 + (1.0 + pow((k / t), 2.0));
double tmp;
if ((2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * t_1)) <= ((double) INFINITY)) {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (tan(k) * t_1));
} else {
tmp = 2.0 / ((pow(sin(k), 2.0) / cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = 1.0 + (1.0 + Math.pow((k / t), 2.0));
double tmp;
if ((2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * t_1)) <= Double.POSITIVE_INFINITY) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (Math.tan(k) * t_1));
} else {
tmp = 2.0 / ((Math.pow(Math.sin(k), 2.0) / Math.cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
def code(t, l, k): t_1 = 1.0 + (1.0 + math.pow((k / t), 2.0)) tmp = 0 if (2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * t_1)) <= math.inf: tmp = 2.0 / (((math.pow(t, 3.0) / l) * (math.sin(k) / l)) * (math.tan(k) * t_1)) else: tmp = 2.0 / ((math.pow(math.sin(k), 2.0) / math.cos(k)) * ((k / l) * ((t * k) / l))) return tmp
function code(t, l, k) t_1 = Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0))) tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * t_1)) <= Inf) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(tan(k) * t_1))); else tmp = Float64(2.0 / Float64(Float64((sin(k) ^ 2.0) / cos(k)) * Float64(Float64(k / l) * Float64(Float64(t * k) / l)))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = 1.0 + (1.0 + ((k / t) ^ 2.0)); tmp = 0.0; if ((2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * t_1)) <= Inf) tmp = 2.0 / ((((t ^ 3.0) / l) * (sin(k) / l)) * (tan(k) * t_1)); else tmp = 2.0 / (((sin(k) ^ 2.0) / cos(k)) * ((k / l) * ((t * k) / l))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(N[(t * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\\
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot t_1} \leq \infty:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(\tan k \cdot t_1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{\sin k}^{2}}{\cos k} \cdot \left(\frac{k}{\ell} \cdot \frac{t \cdot k}{\ell}\right)}\\
\end{array}
\end{array}
if (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) < +inf.0Initial program 86.5%
associate-*l*86.5%
+-commutative86.5%
Simplified86.5%
Taylor expanded in t around 0 85.9%
*-commutative85.9%
unpow285.9%
times-frac90.6%
Simplified90.6%
if +inf.0 < (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) Initial program 0.0%
*-commutative0.0%
associate-*l*0.0%
associate-*r*0.0%
+-commutative0.0%
associate-+r+0.0%
metadata-eval0.0%
Simplified0.0%
Taylor expanded in k around inf 39.8%
*-commutative39.8%
associate-*l*39.8%
*-commutative39.8%
unpow239.8%
associate-*l*50.0%
unpow250.0%
Simplified50.0%
div-inv50.0%
*-commutative50.0%
*-commutative50.0%
Applied egg-rr50.0%
associate-*r/50.0%
unpow250.0%
*-rgt-identity50.0%
*-commutative50.0%
associate-/r*50.0%
*-commutative50.0%
associate-*l/50.0%
associate-*r/50.2%
associate-/l*50.3%
unpow250.3%
times-frac70.3%
Simplified70.3%
frac-times50.3%
associate-/l*50.2%
times-frac75.0%
Applied egg-rr75.0%
Final simplification84.9%
(FPCore (t l k)
:precision binary64
(if (<= t -5.5e+21)
(* (* l l) (/ 2.0 (pow (* (* t (cbrt (sin k))) (cbrt (* 2.0 k))) 3.0)))
(if (<= t 4.1e-83)
(/ 2.0 (* (/ (pow (sin k) 2.0) (cos k)) (* (/ k l) (/ (* t k) l))))
(/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* 2.0 k))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -5.5e+21) {
tmp = (l * l) * (2.0 / pow(((t * cbrt(sin(k))) * cbrt((2.0 * k))), 3.0));
} else if (t <= 4.1e-83) {
tmp = 2.0 / ((pow(sin(k), 2.0) / cos(k)) * ((k / l) * ((t * k) / l)));
} else {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (2.0 * k));
}
return tmp;
}
public static double code(double t, double l, double k) {
double tmp;
if (t <= -5.5e+21) {
tmp = (l * l) * (2.0 / Math.pow(((t * Math.cbrt(Math.sin(k))) * Math.cbrt((2.0 * k))), 3.0));
} else if (t <= 4.1e-83) {
tmp = 2.0 / ((Math.pow(Math.sin(k), 2.0) / Math.cos(k)) * ((k / l) * ((t * k) / l)));
} else {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (2.0 * k));
}
return tmp;
}
function code(t, l, k) tmp = 0.0 if (t <= -5.5e+21) tmp = Float64(Float64(l * l) * Float64(2.0 / (Float64(Float64(t * cbrt(sin(k))) * cbrt(Float64(2.0 * k))) ^ 3.0))); elseif (t <= 4.1e-83) tmp = Float64(2.0 / Float64(Float64((sin(k) ^ 2.0) / cos(k)) * Float64(Float64(k / l) * Float64(Float64(t * k) / l)))); else tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(2.0 * k))); end return tmp end
code[t_, l_, k_] := If[LessEqual[t, -5.5e+21], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[Power[N[(N[(t * N[Power[N[Sin[k], $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision] * N[Power[N[(2.0 * k), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.1e-83], N[(2.0 / N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(N[(t * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -5.5 \cdot 10^{+21}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{{\left(\left(t \cdot \sqrt[3]{\sin k}\right) \cdot \sqrt[3]{2 \cdot k}\right)}^{3}}\\
\mathbf{elif}\;t \leq 4.1 \cdot 10^{-83}:\\
\;\;\;\;\frac{2}{\frac{{\sin k}^{2}}{\cos k} \cdot \left(\frac{k}{\ell} \cdot \frac{t \cdot k}{\ell}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(2 \cdot k\right)}\\
\end{array}
\end{array}
if t < -5.5e21Initial program 70.2%
associate-/l/70.2%
associate-*l/70.2%
associate-*l/71.9%
associate-/r/71.8%
*-commutative71.8%
associate-/l/71.8%
associate-*r*71.8%
*-commutative71.8%
associate-*r*71.8%
*-commutative71.8%
Simplified71.8%
add-cube-cbrt71.7%
pow371.7%
Applied egg-rr84.0%
Taylor expanded in k around 0 84.0%
if -5.5e21 < t < 4.1e-83Initial program 30.2%
*-commutative30.2%
associate-*l*30.2%
associate-*r*30.2%
+-commutative30.2%
associate-+r+30.2%
metadata-eval30.2%
Simplified30.2%
Taylor expanded in k around inf 62.9%
*-commutative62.9%
associate-*l*62.9%
*-commutative62.9%
unpow262.9%
associate-*l*72.0%
unpow272.0%
Simplified72.0%
div-inv71.9%
*-commutative71.9%
*-commutative71.9%
Applied egg-rr71.9%
associate-*r/72.0%
unpow272.0%
*-rgt-identity72.0%
*-commutative72.0%
associate-/r*71.9%
*-commutative71.9%
associate-*l/71.9%
associate-*r/72.1%
associate-/l*72.2%
unpow272.2%
times-frac87.1%
Simplified87.1%
frac-times72.2%
associate-/l*72.1%
times-frac91.1%
Applied egg-rr91.1%
if 4.1e-83 < t Initial program 73.2%
associate-*l*73.2%
+-commutative73.2%
Simplified73.2%
Taylor expanded in t around 0 72.1%
*-commutative72.1%
unpow272.1%
times-frac81.0%
Simplified81.0%
Taylor expanded in k around 0 76.1%
Final simplification84.1%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (* k (* t k))))
(if (<= k 9e-65)
(/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* 2.0 k)))
(if (<= k 2.06e-19)
(* 2.0 (/ (* l (/ l t)) (pow k 4.0)))
(if (<= k 4.4e-5)
(* l (/ l (* (pow t 3.0) (* k k))))
(if (<= k 1.15e+196)
(* (* l l) (/ 2.0 (* (tan k) (* (sin k) t_1))))
(if (<= k 5.5e+270)
(*
2.0
(* (* (/ l k) (/ l k)) (/ (/ (cos k) t) (pow (sin k) 2.0))))
(/ 2.0 (* (/ t_1 (* l l)) (* (sin k) (tan k)))))))))))
double code(double t, double l, double k) {
double t_1 = k * (t * k);
double tmp;
if (k <= 9e-65) {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (2.0 * k));
} else if (k <= 2.06e-19) {
tmp = 2.0 * ((l * (l / t)) / pow(k, 4.0));
} else if (k <= 4.4e-5) {
tmp = l * (l / (pow(t, 3.0) * (k * k)));
} else if (k <= 1.15e+196) {
tmp = (l * l) * (2.0 / (tan(k) * (sin(k) * t_1)));
} else if (k <= 5.5e+270) {
tmp = 2.0 * (((l / k) * (l / k)) * ((cos(k) / t) / pow(sin(k), 2.0)));
} else {
tmp = 2.0 / ((t_1 / (l * l)) * (sin(k) * tan(k)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = k * (t * k)
if (k <= 9d-65) then
tmp = 2.0d0 / ((((t ** 3.0d0) / l) * (sin(k) / l)) * (2.0d0 * k))
else if (k <= 2.06d-19) then
tmp = 2.0d0 * ((l * (l / t)) / (k ** 4.0d0))
else if (k <= 4.4d-5) then
tmp = l * (l / ((t ** 3.0d0) * (k * k)))
else if (k <= 1.15d+196) then
tmp = (l * l) * (2.0d0 / (tan(k) * (sin(k) * t_1)))
else if (k <= 5.5d+270) then
tmp = 2.0d0 * (((l / k) * (l / k)) * ((cos(k) / t) / (sin(k) ** 2.0d0)))
else
tmp = 2.0d0 / ((t_1 / (l * l)) * (sin(k) * tan(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = k * (t * k);
double tmp;
if (k <= 9e-65) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (2.0 * k));
} else if (k <= 2.06e-19) {
tmp = 2.0 * ((l * (l / t)) / Math.pow(k, 4.0));
} else if (k <= 4.4e-5) {
tmp = l * (l / (Math.pow(t, 3.0) * (k * k)));
} else if (k <= 1.15e+196) {
tmp = (l * l) * (2.0 / (Math.tan(k) * (Math.sin(k) * t_1)));
} else if (k <= 5.5e+270) {
tmp = 2.0 * (((l / k) * (l / k)) * ((Math.cos(k) / t) / Math.pow(Math.sin(k), 2.0)));
} else {
tmp = 2.0 / ((t_1 / (l * l)) * (Math.sin(k) * Math.tan(k)));
}
return tmp;
}
def code(t, l, k): t_1 = k * (t * k) tmp = 0 if k <= 9e-65: tmp = 2.0 / (((math.pow(t, 3.0) / l) * (math.sin(k) / l)) * (2.0 * k)) elif k <= 2.06e-19: tmp = 2.0 * ((l * (l / t)) / math.pow(k, 4.0)) elif k <= 4.4e-5: tmp = l * (l / (math.pow(t, 3.0) * (k * k))) elif k <= 1.15e+196: tmp = (l * l) * (2.0 / (math.tan(k) * (math.sin(k) * t_1))) elif k <= 5.5e+270: tmp = 2.0 * (((l / k) * (l / k)) * ((math.cos(k) / t) / math.pow(math.sin(k), 2.0))) else: tmp = 2.0 / ((t_1 / (l * l)) * (math.sin(k) * math.tan(k))) return tmp
function code(t, l, k) t_1 = Float64(k * Float64(t * k)) tmp = 0.0 if (k <= 9e-65) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(2.0 * k))); elseif (k <= 2.06e-19) tmp = Float64(2.0 * Float64(Float64(l * Float64(l / t)) / (k ^ 4.0))); elseif (k <= 4.4e-5) tmp = Float64(l * Float64(l / Float64((t ^ 3.0) * Float64(k * k)))); elseif (k <= 1.15e+196) tmp = Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(sin(k) * t_1)))); elseif (k <= 5.5e+270) tmp = Float64(2.0 * Float64(Float64(Float64(l / k) * Float64(l / k)) * Float64(Float64(cos(k) / t) / (sin(k) ^ 2.0)))); else tmp = Float64(2.0 / Float64(Float64(t_1 / Float64(l * l)) * Float64(sin(k) * tan(k)))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = k * (t * k); tmp = 0.0; if (k <= 9e-65) tmp = 2.0 / ((((t ^ 3.0) / l) * (sin(k) / l)) * (2.0 * k)); elseif (k <= 2.06e-19) tmp = 2.0 * ((l * (l / t)) / (k ^ 4.0)); elseif (k <= 4.4e-5) tmp = l * (l / ((t ^ 3.0) * (k * k))); elseif (k <= 1.15e+196) tmp = (l * l) * (2.0 / (tan(k) * (sin(k) * t_1))); elseif (k <= 5.5e+270) tmp = 2.0 * (((l / k) * (l / k)) * ((cos(k) / t) / (sin(k) ^ 2.0))); else tmp = 2.0 / ((t_1 / (l * l)) * (sin(k) * tan(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, 9e-65], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.06e-19], N[(2.0 * N[(N[(l * N[(l / t), $MachinePrecision]), $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 4.4e-5], N[(l * N[(l / N[(N[Power[t, 3.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.15e+196], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 5.5e+270], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] * N[(N[(N[Cos[k], $MachinePrecision] / t), $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t$95$1 / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := k \cdot \left(t \cdot k\right)\\
\mathbf{if}\;k \leq 9 \cdot 10^{-65}:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{elif}\;k \leq 2.06 \cdot 10^{-19}:\\
\;\;\;\;2 \cdot \frac{\ell \cdot \frac{\ell}{t}}{{k}^{4}}\\
\mathbf{elif}\;k \leq 4.4 \cdot 10^{-5}:\\
\;\;\;\;\ell \cdot \frac{\ell}{{t}^{3} \cdot \left(k \cdot k\right)}\\
\mathbf{elif}\;k \leq 1.15 \cdot 10^{+196}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(\sin k \cdot t_1\right)}\\
\mathbf{elif}\;k \leq 5.5 \cdot 10^{+270}:\\
\;\;\;\;2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{\frac{\cos k}{t}}{{\sin k}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t_1}{\ell \cdot \ell} \cdot \left(\sin k \cdot \tan k\right)}\\
\end{array}
\end{array}
if k < 8.9999999999999995e-65Initial program 55.2%
associate-*l*55.2%
+-commutative55.2%
Simplified55.2%
Taylor expanded in t around 0 54.6%
*-commutative54.6%
unpow254.6%
times-frac65.1%
Simplified65.1%
Taylor expanded in k around 0 65.6%
if 8.9999999999999995e-65 < k < 2.06e-19Initial program 30.7%
associate-/l/30.7%
associate-*l/30.6%
associate-*l/21.1%
associate-/r/21.1%
*-commutative21.1%
associate-/l/21.1%
associate-*r*30.6%
*-commutative30.6%
associate-*r*30.6%
*-commutative30.6%
Simplified30.6%
Taylor expanded in k around inf 40.2%
*-commutative40.2%
associate-*l*40.2%
*-commutative40.2%
unpow240.2%
associate-*l*40.2%
Simplified40.2%
Taylor expanded in k around 0 40.1%
unpow240.1%
*-commutative40.1%
times-frac68.1%
Simplified68.1%
associate-*r/50.4%
Applied egg-rr50.4%
if 2.06e-19 < k < 4.3999999999999999e-5Initial program 66.7%
associate-/l/66.7%
associate-*l/66.7%
associate-*l/66.7%
associate-/r/66.7%
*-commutative66.7%
associate-/l/66.7%
associate-*r*66.7%
*-commutative66.7%
associate-*r*66.7%
*-commutative66.7%
Simplified66.7%
add-cube-cbrt66.7%
pow366.7%
Applied egg-rr66.7%
associate-*r/66.7%
Applied egg-rr66.7%
unpow266.7%
associate-*r/66.7%
unpow266.7%
associate-*l*100.0%
Simplified100.0%
Taylor expanded in k around 0 100.0%
*-commutative100.0%
unpow2100.0%
Simplified100.0%
if 4.3999999999999999e-5 < k < 1.1499999999999999e196Initial program 51.3%
associate-/l/51.2%
associate-*l/51.2%
associate-*l/51.2%
associate-/r/51.3%
*-commutative51.3%
associate-/l/51.4%
associate-*r*51.3%
*-commutative51.3%
associate-*r*51.4%
*-commutative51.4%
Simplified51.4%
Taylor expanded in k around inf 77.7%
*-commutative77.7%
associate-*l*77.6%
*-commutative77.6%
unpow277.6%
associate-*l*82.7%
Simplified82.7%
if 1.1499999999999999e196 < k < 5.50000000000000002e270Initial program 61.9%
associate-/l/61.9%
associate-*l/61.9%
associate-*l/61.9%
associate-/r/61.9%
*-commutative61.9%
associate-/l/61.9%
associate-*r*61.9%
*-commutative61.9%
associate-*r*61.9%
*-commutative61.9%
Simplified61.9%
add-cube-cbrt61.9%
pow361.9%
Applied egg-rr90.5%
Taylor expanded in k around inf 90.5%
*-commutative90.5%
times-frac90.5%
unpow290.5%
unpow290.5%
times-frac99.9%
*-commutative99.9%
associate-/r*99.9%
Simplified99.9%
if 5.50000000000000002e270 < k Initial program 66.7%
*-commutative66.7%
associate-*l*66.7%
associate-*r*66.7%
+-commutative66.7%
associate-+r+66.7%
metadata-eval66.7%
Simplified66.7%
Taylor expanded in k around inf 78.6%
unpow278.6%
associate-*l*100.0%
unpow2100.0%
Simplified100.0%
Final simplification72.0%
(FPCore (t l k)
:precision binary64
(let* ((t_1
(* l (* 2.0 (/ (* (/ l k) (/ (cos k) k)) (* t (pow (sin k) 2.0))))))
(t_2 (/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* 2.0 k)))))
(if (<= t -7.2e+21)
t_2
(if (<= t -4.2e-267)
t_1
(if (<= t 3.8e-267)
(* (* l l) (/ 2.0 (* (tan k) (* (sin k) (* k (* t k))))))
(if (<= t 4.2e-83) t_1 t_2))))))
double code(double t, double l, double k) {
double t_1 = l * (2.0 * (((l / k) * (cos(k) / k)) / (t * pow(sin(k), 2.0))));
double t_2 = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (2.0 * k));
double tmp;
if (t <= -7.2e+21) {
tmp = t_2;
} else if (t <= -4.2e-267) {
tmp = t_1;
} else if (t <= 3.8e-267) {
tmp = (l * l) * (2.0 / (tan(k) * (sin(k) * (k * (t * k)))));
} else if (t <= 4.2e-83) {
tmp = t_1;
} 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) :: tmp
t_1 = l * (2.0d0 * (((l / k) * (cos(k) / k)) / (t * (sin(k) ** 2.0d0))))
t_2 = 2.0d0 / ((((t ** 3.0d0) / l) * (sin(k) / l)) * (2.0d0 * k))
if (t <= (-7.2d+21)) then
tmp = t_2
else if (t <= (-4.2d-267)) then
tmp = t_1
else if (t <= 3.8d-267) then
tmp = (l * l) * (2.0d0 / (tan(k) * (sin(k) * (k * (t * k)))))
else if (t <= 4.2d-83) then
tmp = t_1
else
tmp = t_2
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = l * (2.0 * (((l / k) * (Math.cos(k) / k)) / (t * Math.pow(Math.sin(k), 2.0))));
double t_2 = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (2.0 * k));
double tmp;
if (t <= -7.2e+21) {
tmp = t_2;
} else if (t <= -4.2e-267) {
tmp = t_1;
} else if (t <= 3.8e-267) {
tmp = (l * l) * (2.0 / (Math.tan(k) * (Math.sin(k) * (k * (t * k)))));
} else if (t <= 4.2e-83) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
def code(t, l, k): t_1 = l * (2.0 * (((l / k) * (math.cos(k) / k)) / (t * math.pow(math.sin(k), 2.0)))) t_2 = 2.0 / (((math.pow(t, 3.0) / l) * (math.sin(k) / l)) * (2.0 * k)) tmp = 0 if t <= -7.2e+21: tmp = t_2 elif t <= -4.2e-267: tmp = t_1 elif t <= 3.8e-267: tmp = (l * l) * (2.0 / (math.tan(k) * (math.sin(k) * (k * (t * k))))) elif t <= 4.2e-83: tmp = t_1 else: tmp = t_2 return tmp
function code(t, l, k) t_1 = Float64(l * Float64(2.0 * Float64(Float64(Float64(l / k) * Float64(cos(k) / k)) / Float64(t * (sin(k) ^ 2.0))))) t_2 = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(2.0 * k))) tmp = 0.0 if (t <= -7.2e+21) tmp = t_2; elseif (t <= -4.2e-267) tmp = t_1; elseif (t <= 3.8e-267) tmp = Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(sin(k) * Float64(k * Float64(t * k)))))); elseif (t <= 4.2e-83) tmp = t_1; else tmp = t_2; end return tmp end
function tmp_2 = code(t, l, k) t_1 = l * (2.0 * (((l / k) * (cos(k) / k)) / (t * (sin(k) ^ 2.0)))); t_2 = 2.0 / ((((t ^ 3.0) / l) * (sin(k) / l)) * (2.0 * k)); tmp = 0.0; if (t <= -7.2e+21) tmp = t_2; elseif (t <= -4.2e-267) tmp = t_1; elseif (t <= 3.8e-267) tmp = (l * l) * (2.0 / (tan(k) * (sin(k) * (k * (t * k))))); elseif (t <= 4.2e-83) tmp = t_1; else tmp = t_2; end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(l * N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] * N[(N[Cos[k], $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision] / N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -7.2e+21], t$95$2, If[LessEqual[t, -4.2e-267], t$95$1, If[LessEqual[t, 3.8e-267], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4.2e-83], t$95$1, t$95$2]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \ell \cdot \left(2 \cdot \frac{\frac{\ell}{k} \cdot \frac{\cos k}{k}}{t \cdot {\sin k}^{2}}\right)\\
t_2 := \frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{if}\;t \leq -7.2 \cdot 10^{+21}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;t \leq -4.2 \cdot 10^{-267}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 3.8 \cdot 10^{-267}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(\sin k \cdot \left(k \cdot \left(t \cdot k\right)\right)\right)}\\
\mathbf{elif}\;t \leq 4.2 \cdot 10^{-83}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\end{array}
if t < -7.2e21 or 4.1999999999999998e-83 < t Initial program 72.0%
associate-*l*72.0%
+-commutative72.0%
Simplified72.0%
Taylor expanded in t around 0 71.4%
*-commutative71.4%
unpow271.4%
times-frac78.2%
Simplified78.2%
Taylor expanded in k around 0 75.2%
if -7.2e21 < t < -4.2000000000000003e-267 or 3.80000000000000003e-267 < t < 4.1999999999999998e-83Initial program 34.2%
associate-/l/34.1%
associate-*l/34.1%
associate-*l/33.0%
associate-/r/34.2%
*-commutative34.2%
associate-/l/34.2%
associate-*r*35.3%
*-commutative35.3%
associate-*r*35.3%
*-commutative35.3%
Simplified35.3%
add-cube-cbrt35.1%
pow335.2%
Applied egg-rr52.0%
associate-*r/52.0%
Applied egg-rr52.0%
unpow252.0%
associate-*r/52.0%
unpow252.0%
associate-*l*66.8%
Simplified66.8%
Taylor expanded in k around inf 84.3%
associate-/r*85.3%
*-commutative85.3%
unpow285.3%
times-frac89.7%
Simplified89.7%
if -4.2000000000000003e-267 < t < 3.80000000000000003e-267Initial program 11.1%
associate-/l/11.1%
associate-*l/11.1%
associate-*l/11.1%
associate-/r/11.1%
*-commutative11.1%
associate-/l/11.1%
associate-*r*11.1%
*-commutative11.1%
associate-*r*11.1%
*-commutative11.1%
Simplified11.1%
Taylor expanded in k around inf 35.5%
*-commutative35.5%
associate-*l*35.4%
*-commutative35.4%
unpow235.4%
associate-*l*72.5%
Simplified72.5%
Final simplification80.0%
(FPCore (t l k) :precision binary64 (if (<= k 1.5e-43) (/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* 2.0 k))) (/ 2.0 (* (/ (pow (sin k) 2.0) (cos k)) (* (/ k l) (/ (* t k) l))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.5e-43) {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (2.0 * k));
} else {
tmp = 2.0 / ((pow(sin(k), 2.0) / cos(k)) * ((k / l) * ((t * 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 (k <= 1.5d-43) then
tmp = 2.0d0 / ((((t ** 3.0d0) / l) * (sin(k) / l)) * (2.0d0 * k))
else
tmp = 2.0d0 / (((sin(k) ** 2.0d0) / cos(k)) * ((k / l) * ((t * k) / l)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.5e-43) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (2.0 * k));
} else {
tmp = 2.0 / ((Math.pow(Math.sin(k), 2.0) / Math.cos(k)) * ((k / l) * ((t * k) / l)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.5e-43: tmp = 2.0 / (((math.pow(t, 3.0) / l) * (math.sin(k) / l)) * (2.0 * k)) else: tmp = 2.0 / ((math.pow(math.sin(k), 2.0) / math.cos(k)) * ((k / l) * ((t * k) / l))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.5e-43) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(2.0 * k))); else tmp = Float64(2.0 / Float64(Float64((sin(k) ^ 2.0) / cos(k)) * Float64(Float64(k / l) * Float64(Float64(t * k) / l)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.5e-43) tmp = 2.0 / ((((t ^ 3.0) / l) * (sin(k) / l)) * (2.0 * k)); else tmp = 2.0 / (((sin(k) ^ 2.0) / cos(k)) * ((k / l) * ((t * k) / l))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.5e-43], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(N[(t * k), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.5 \cdot 10^{-43}:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{\sin k}^{2}}{\cos k} \cdot \left(\frac{k}{\ell} \cdot \frac{t \cdot k}{\ell}\right)}\\
\end{array}
\end{array}
if k < 1.50000000000000002e-43Initial program 54.3%
associate-*l*54.3%
+-commutative54.3%
Simplified54.3%
Taylor expanded in t around 0 53.7%
*-commutative53.7%
unpow253.7%
times-frac64.0%
Simplified64.0%
Taylor expanded in k around 0 64.9%
if 1.50000000000000002e-43 < k Initial program 55.8%
*-commutative55.8%
associate-*l*55.8%
associate-*r*55.8%
+-commutative55.8%
associate-+r+55.8%
metadata-eval55.8%
Simplified55.8%
Taylor expanded in k around inf 77.1%
*-commutative77.1%
associate-*l*77.1%
*-commutative77.1%
unpow277.1%
associate-*l*82.1%
unpow282.1%
Simplified82.1%
div-inv82.1%
*-commutative82.1%
*-commutative82.1%
Applied egg-rr82.1%
associate-*r/82.1%
unpow282.1%
*-rgt-identity82.1%
*-commutative82.1%
associate-/r*82.1%
*-commutative82.1%
associate-*l/82.1%
associate-*r/82.1%
associate-/l*82.2%
unpow282.2%
times-frac79.8%
Simplified79.8%
frac-times82.2%
associate-/l*82.1%
times-frac91.1%
Applied egg-rr91.1%
Final simplification72.8%
(FPCore (t l k)
:precision binary64
(if (<= k 9.5e-65)
(/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* 2.0 k)))
(if (<= k 1.45e-18)
(* 2.0 (/ (* l (/ l t)) (pow k 4.0)))
(if (<= k 6.4e-7)
(* l (/ l (* (pow t 3.0) (* k k))))
(* (* l l) (/ 2.0 (* (tan k) (* (sin k) (* k (* t k))))))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 9.5e-65) {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (2.0 * k));
} else if (k <= 1.45e-18) {
tmp = 2.0 * ((l * (l / t)) / pow(k, 4.0));
} else if (k <= 6.4e-7) {
tmp = l * (l / (pow(t, 3.0) * (k * k)));
} else {
tmp = (l * l) * (2.0 / (tan(k) * (sin(k) * (k * (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) :: tmp
if (k <= 9.5d-65) then
tmp = 2.0d0 / ((((t ** 3.0d0) / l) * (sin(k) / l)) * (2.0d0 * k))
else if (k <= 1.45d-18) then
tmp = 2.0d0 * ((l * (l / t)) / (k ** 4.0d0))
else if (k <= 6.4d-7) then
tmp = l * (l / ((t ** 3.0d0) * (k * k)))
else
tmp = (l * l) * (2.0d0 / (tan(k) * (sin(k) * (k * (t * k)))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 9.5e-65) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (2.0 * k));
} else if (k <= 1.45e-18) {
tmp = 2.0 * ((l * (l / t)) / Math.pow(k, 4.0));
} else if (k <= 6.4e-7) {
tmp = l * (l / (Math.pow(t, 3.0) * (k * k)));
} else {
tmp = (l * l) * (2.0 / (Math.tan(k) * (Math.sin(k) * (k * (t * k)))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 9.5e-65: tmp = 2.0 / (((math.pow(t, 3.0) / l) * (math.sin(k) / l)) * (2.0 * k)) elif k <= 1.45e-18: tmp = 2.0 * ((l * (l / t)) / math.pow(k, 4.0)) elif k <= 6.4e-7: tmp = l * (l / (math.pow(t, 3.0) * (k * k))) else: tmp = (l * l) * (2.0 / (math.tan(k) * (math.sin(k) * (k * (t * k))))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 9.5e-65) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(2.0 * k))); elseif (k <= 1.45e-18) tmp = Float64(2.0 * Float64(Float64(l * Float64(l / t)) / (k ^ 4.0))); elseif (k <= 6.4e-7) tmp = Float64(l * Float64(l / Float64((t ^ 3.0) * Float64(k * k)))); else tmp = Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(sin(k) * Float64(k * Float64(t * k)))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 9.5e-65) tmp = 2.0 / ((((t ^ 3.0) / l) * (sin(k) / l)) * (2.0 * k)); elseif (k <= 1.45e-18) tmp = 2.0 * ((l * (l / t)) / (k ^ 4.0)); elseif (k <= 6.4e-7) tmp = l * (l / ((t ^ 3.0) * (k * k))); else tmp = (l * l) * (2.0 / (tan(k) * (sin(k) * (k * (t * k))))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 9.5e-65], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.45e-18], N[(2.0 * N[(N[(l * N[(l / t), $MachinePrecision]), $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 6.4e-7], N[(l * N[(l / N[(N[Power[t, 3.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 9.5 \cdot 10^{-65}:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{elif}\;k \leq 1.45 \cdot 10^{-18}:\\
\;\;\;\;2 \cdot \frac{\ell \cdot \frac{\ell}{t}}{{k}^{4}}\\
\mathbf{elif}\;k \leq 6.4 \cdot 10^{-7}:\\
\;\;\;\;\ell \cdot \frac{\ell}{{t}^{3} \cdot \left(k \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(\sin k \cdot \left(k \cdot \left(t \cdot k\right)\right)\right)}\\
\end{array}
\end{array}
if k < 9.5000000000000004e-65Initial program 55.2%
associate-*l*55.2%
+-commutative55.2%
Simplified55.2%
Taylor expanded in t around 0 54.6%
*-commutative54.6%
unpow254.6%
times-frac65.1%
Simplified65.1%
Taylor expanded in k around 0 65.6%
if 9.5000000000000004e-65 < k < 1.45e-18Initial program 30.7%
associate-/l/30.7%
associate-*l/30.6%
associate-*l/21.1%
associate-/r/21.1%
*-commutative21.1%
associate-/l/21.1%
associate-*r*30.6%
*-commutative30.6%
associate-*r*30.6%
*-commutative30.6%
Simplified30.6%
Taylor expanded in k around inf 40.2%
*-commutative40.2%
associate-*l*40.2%
*-commutative40.2%
unpow240.2%
associate-*l*40.2%
Simplified40.2%
Taylor expanded in k around 0 40.1%
unpow240.1%
*-commutative40.1%
times-frac68.1%
Simplified68.1%
associate-*r/50.4%
Applied egg-rr50.4%
if 1.45e-18 < k < 6.4000000000000001e-7Initial program 66.7%
associate-/l/66.7%
associate-*l/66.7%
associate-*l/66.7%
associate-/r/66.7%
*-commutative66.7%
associate-/l/66.7%
associate-*r*66.7%
*-commutative66.7%
associate-*r*66.7%
*-commutative66.7%
Simplified66.7%
add-cube-cbrt66.7%
pow366.7%
Applied egg-rr66.7%
associate-*r/66.7%
Applied egg-rr66.7%
unpow266.7%
associate-*r/66.7%
unpow266.7%
associate-*l*100.0%
Simplified100.0%
Taylor expanded in k around 0 100.0%
*-commutative100.0%
unpow2100.0%
Simplified100.0%
if 6.4000000000000001e-7 < k Initial program 56.5%
associate-/l/56.5%
associate-*l/56.5%
associate-*l/56.5%
associate-/r/56.5%
*-commutative56.5%
associate-/l/56.6%
associate-*r*56.5%
*-commutative56.5%
associate-*r*56.6%
*-commutative56.6%
Simplified56.6%
Taylor expanded in k around inf 81.7%
*-commutative81.7%
associate-*l*81.6%
*-commutative81.6%
unpow281.6%
associate-*l*87.3%
Simplified87.3%
Final simplification71.2%
(FPCore (t l k)
:precision binary64
(if (<= k 7e-65)
(/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* 2.0 k)))
(if (<= k 2.35e-20)
(* 2.0 (/ (* l (/ l t)) (pow k 4.0)))
(if (<= k 0.000165)
(* l (/ l (* (pow t 3.0) (* k k))))
(/ 2.0 (* (/ (* k (* t k)) (* l l)) (* (sin k) (tan k))))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 7e-65) {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (2.0 * k));
} else if (k <= 2.35e-20) {
tmp = 2.0 * ((l * (l / t)) / pow(k, 4.0));
} else if (k <= 0.000165) {
tmp = l * (l / (pow(t, 3.0) * (k * k)));
} else {
tmp = 2.0 / (((k * (t * k)) / (l * l)) * (sin(k) * tan(k)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 7d-65) then
tmp = 2.0d0 / ((((t ** 3.0d0) / l) * (sin(k) / l)) * (2.0d0 * k))
else if (k <= 2.35d-20) then
tmp = 2.0d0 * ((l * (l / t)) / (k ** 4.0d0))
else if (k <= 0.000165d0) then
tmp = l * (l / ((t ** 3.0d0) * (k * k)))
else
tmp = 2.0d0 / (((k * (t * k)) / (l * l)) * (sin(k) * tan(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 7e-65) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (2.0 * k));
} else if (k <= 2.35e-20) {
tmp = 2.0 * ((l * (l / t)) / Math.pow(k, 4.0));
} else if (k <= 0.000165) {
tmp = l * (l / (Math.pow(t, 3.0) * (k * k)));
} else {
tmp = 2.0 / (((k * (t * k)) / (l * l)) * (Math.sin(k) * Math.tan(k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 7e-65: tmp = 2.0 / (((math.pow(t, 3.0) / l) * (math.sin(k) / l)) * (2.0 * k)) elif k <= 2.35e-20: tmp = 2.0 * ((l * (l / t)) / math.pow(k, 4.0)) elif k <= 0.000165: tmp = l * (l / (math.pow(t, 3.0) * (k * k))) else: tmp = 2.0 / (((k * (t * k)) / (l * l)) * (math.sin(k) * math.tan(k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 7e-65) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(2.0 * k))); elseif (k <= 2.35e-20) tmp = Float64(2.0 * Float64(Float64(l * Float64(l / t)) / (k ^ 4.0))); elseif (k <= 0.000165) tmp = Float64(l * Float64(l / Float64((t ^ 3.0) * Float64(k * k)))); else tmp = Float64(2.0 / Float64(Float64(Float64(k * Float64(t * k)) / Float64(l * l)) * Float64(sin(k) * tan(k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 7e-65) tmp = 2.0 / ((((t ^ 3.0) / l) * (sin(k) / l)) * (2.0 * k)); elseif (k <= 2.35e-20) tmp = 2.0 * ((l * (l / t)) / (k ^ 4.0)); elseif (k <= 0.000165) tmp = l * (l / ((t ^ 3.0) * (k * k))); else tmp = 2.0 / (((k * (t * k)) / (l * l)) * (sin(k) * tan(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 7e-65], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.35e-20], N[(2.0 * N[(N[(l * N[(l / t), $MachinePrecision]), $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 0.000165], N[(l * N[(l / N[(N[Power[t, 3.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 7 \cdot 10^{-65}:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{elif}\;k \leq 2.35 \cdot 10^{-20}:\\
\;\;\;\;2 \cdot \frac{\ell \cdot \frac{\ell}{t}}{{k}^{4}}\\
\mathbf{elif}\;k \leq 0.000165:\\
\;\;\;\;\ell \cdot \frac{\ell}{{t}^{3} \cdot \left(k \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k \cdot \left(t \cdot k\right)}{\ell \cdot \ell} \cdot \left(\sin k \cdot \tan k\right)}\\
\end{array}
\end{array}
if k < 7.00000000000000009e-65Initial program 55.2%
associate-*l*55.2%
+-commutative55.2%
Simplified55.2%
Taylor expanded in t around 0 54.6%
*-commutative54.6%
unpow254.6%
times-frac65.1%
Simplified65.1%
Taylor expanded in k around 0 65.6%
if 7.00000000000000009e-65 < k < 2.35000000000000007e-20Initial program 30.7%
associate-/l/30.7%
associate-*l/30.6%
associate-*l/21.1%
associate-/r/21.1%
*-commutative21.1%
associate-/l/21.1%
associate-*r*30.6%
*-commutative30.6%
associate-*r*30.6%
*-commutative30.6%
Simplified30.6%
Taylor expanded in k around inf 40.2%
*-commutative40.2%
associate-*l*40.2%
*-commutative40.2%
unpow240.2%
associate-*l*40.2%
Simplified40.2%
Taylor expanded in k around 0 40.1%
unpow240.1%
*-commutative40.1%
times-frac68.1%
Simplified68.1%
associate-*r/50.4%
Applied egg-rr50.4%
if 2.35000000000000007e-20 < k < 1.65e-4Initial program 66.7%
associate-/l/66.7%
associate-*l/66.7%
associate-*l/66.7%
associate-/r/66.7%
*-commutative66.7%
associate-/l/66.7%
associate-*r*66.7%
*-commutative66.7%
associate-*r*66.7%
*-commutative66.7%
Simplified66.7%
add-cube-cbrt66.7%
pow366.7%
Applied egg-rr66.7%
associate-*r/66.7%
Applied egg-rr66.7%
unpow266.7%
associate-*r/66.7%
unpow266.7%
associate-*l*100.0%
Simplified100.0%
Taylor expanded in k around 0 100.0%
*-commutative100.0%
unpow2100.0%
Simplified100.0%
if 1.65e-4 < k Initial program 56.5%
*-commutative56.5%
associate-*l*56.5%
associate-*r*56.5%
+-commutative56.5%
associate-+r+56.5%
metadata-eval56.5%
Simplified56.5%
Taylor expanded in k around inf 81.6%
unpow281.6%
associate-*l*87.2%
unpow287.2%
Simplified87.2%
Final simplification71.2%
(FPCore (t l k) :precision binary64 (if (or (<= t -1.7e-38) (not (<= t 6.6e-84))) (/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* 2.0 k))) (/ 2.0 (* (/ (* k k) (cos k)) (/ k (* (/ l k) (/ l t)))))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -1.7e-38) || !(t <= 6.6e-84)) {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (2.0 * k));
} else {
tmp = 2.0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t))));
}
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.7d-38)) .or. (.not. (t <= 6.6d-84))) then
tmp = 2.0d0 / ((((t ** 3.0d0) / l) * (sin(k) / l)) * (2.0d0 * k))
else
tmp = 2.0d0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -1.7e-38) || !(t <= 6.6e-84)) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (2.0 * k));
} else {
tmp = 2.0 / (((k * k) / Math.cos(k)) * (k / ((l / k) * (l / t))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -1.7e-38) or not (t <= 6.6e-84): tmp = 2.0 / (((math.pow(t, 3.0) / l) * (math.sin(k) / l)) * (2.0 * k)) else: tmp = 2.0 / (((k * k) / math.cos(k)) * (k / ((l / k) * (l / t)))) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -1.7e-38) || !(t <= 6.6e-84)) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(2.0 * k))); else tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / cos(k)) * Float64(k / Float64(Float64(l / k) * Float64(l / t))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -1.7e-38) || ~((t <= 6.6e-84))) tmp = 2.0 / ((((t ^ 3.0) / l) * (sin(k) / l)) * (2.0 * k)); else tmp = 2.0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -1.7e-38], N[Not[LessEqual[t, 6.6e-84]], $MachinePrecision]], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(k / N[(N[(l / k), $MachinePrecision] * N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.7 \cdot 10^{-38} \lor \neg \left(t \leq 6.6 \cdot 10^{-84}\right):\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\cos k} \cdot \frac{k}{\frac{\ell}{k} \cdot \frac{\ell}{t}}}\\
\end{array}
\end{array}
if t < -1.7000000000000001e-38 or 6.59999999999999968e-84 < t Initial program 71.7%
associate-*l*71.7%
+-commutative71.7%
Simplified71.7%
Taylor expanded in t around 0 71.1%
*-commutative71.1%
unpow271.1%
times-frac78.0%
Simplified78.0%
Taylor expanded in k around 0 74.1%
if -1.7000000000000001e-38 < t < 6.59999999999999968e-84Initial program 25.5%
*-commutative25.5%
associate-*l*25.5%
associate-*r*25.5%
+-commutative25.5%
associate-+r+25.5%
metadata-eval25.5%
Simplified25.5%
Taylor expanded in k around inf 62.7%
*-commutative62.7%
associate-*l*62.7%
*-commutative62.7%
unpow262.7%
associate-*l*72.9%
unpow272.9%
Simplified72.9%
div-inv72.8%
*-commutative72.8%
*-commutative72.8%
Applied egg-rr72.8%
associate-*r/72.9%
unpow272.9%
*-rgt-identity72.9%
*-commutative72.9%
associate-/r*72.8%
*-commutative72.8%
associate-*l/72.8%
associate-*r/73.0%
associate-/l*73.0%
unpow273.0%
times-frac88.7%
Simplified88.7%
Taylor expanded in k around 0 73.1%
unpow253.2%
Simplified73.1%
Final simplification73.7%
(FPCore (t l k)
:precision binary64
(if (<= t -1.28e-18)
(* (* l l) (/ 2.0 (* (tan k) (* 2.0 (* (pow t 3.0) k)))))
(if (<= t 1.6e-83)
(/ 2.0 (* (/ (* k k) (cos k)) (/ k (* (/ l k) (/ l t)))))
(/ (* (/ l k) (/ l k)) (pow t 3.0)))))
double code(double t, double l, double k) {
double tmp;
if (t <= -1.28e-18) {
tmp = (l * l) * (2.0 / (tan(k) * (2.0 * (pow(t, 3.0) * k))));
} else if (t <= 1.6e-83) {
tmp = 2.0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t))));
} else {
tmp = ((l / k) * (l / k)) / pow(t, 3.0);
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t <= (-1.28d-18)) then
tmp = (l * l) * (2.0d0 / (tan(k) * (2.0d0 * ((t ** 3.0d0) * k))))
else if (t <= 1.6d-83) then
tmp = 2.0d0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t))))
else
tmp = ((l / k) * (l / k)) / (t ** 3.0d0)
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -1.28e-18) {
tmp = (l * l) * (2.0 / (Math.tan(k) * (2.0 * (Math.pow(t, 3.0) * k))));
} else if (t <= 1.6e-83) {
tmp = 2.0 / (((k * k) / Math.cos(k)) * (k / ((l / k) * (l / t))));
} else {
tmp = ((l / k) * (l / k)) / Math.pow(t, 3.0);
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -1.28e-18: tmp = (l * l) * (2.0 / (math.tan(k) * (2.0 * (math.pow(t, 3.0) * k)))) elif t <= 1.6e-83: tmp = 2.0 / (((k * k) / math.cos(k)) * (k / ((l / k) * (l / t)))) else: tmp = ((l / k) * (l / k)) / math.pow(t, 3.0) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -1.28e-18) tmp = Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(2.0 * Float64((t ^ 3.0) * k))))); elseif (t <= 1.6e-83) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / cos(k)) * Float64(k / Float64(Float64(l / k) * Float64(l / t))))); else tmp = Float64(Float64(Float64(l / k) * Float64(l / k)) / (t ^ 3.0)); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -1.28e-18) tmp = (l * l) * (2.0 / (tan(k) * (2.0 * ((t ^ 3.0) * k)))); elseif (t <= 1.6e-83) tmp = 2.0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t)))); else tmp = ((l / k) * (l / k)) / (t ^ 3.0); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -1.28e-18], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(2.0 * N[(N[Power[t, 3.0], $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.6e-83], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(k / N[(N[(l / k), $MachinePrecision] * N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.28 \cdot 10^{-18}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(2 \cdot \left({t}^{3} \cdot k\right)\right)}\\
\mathbf{elif}\;t \leq 1.6 \cdot 10^{-83}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\cos k} \cdot \frac{k}{\frac{\ell}{k} \cdot \frac{\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\ell}{k} \cdot \frac{\ell}{k}}{{t}^{3}}\\
\end{array}
\end{array}
if t < -1.27999999999999993e-18Initial program 70.9%
associate-/l/70.9%
associate-*l/70.9%
associate-*l/72.4%
associate-/r/72.3%
*-commutative72.3%
associate-/l/72.3%
associate-*r*72.3%
*-commutative72.3%
associate-*r*72.3%
*-commutative72.3%
Simplified72.3%
Taylor expanded in k around 0 69.4%
if -1.27999999999999993e-18 < t < 1.6000000000000001e-83Initial program 26.5%
*-commutative26.5%
associate-*l*26.5%
associate-*r*26.5%
+-commutative26.5%
associate-+r+26.5%
metadata-eval26.5%
Simplified26.5%
Taylor expanded in k around inf 61.9%
*-commutative61.9%
associate-*l*62.0%
*-commutative62.0%
unpow262.0%
associate-*l*71.7%
unpow271.7%
Simplified71.7%
div-inv71.6%
*-commutative71.6%
*-commutative71.6%
Applied egg-rr71.6%
associate-*r/71.7%
unpow271.7%
*-rgt-identity71.7%
*-commutative71.7%
associate-/r*71.7%
*-commutative71.7%
associate-*l/71.7%
associate-*r/71.8%
associate-/l*71.9%
unpow271.9%
times-frac88.0%
Simplified88.0%
Taylor expanded in k around 0 72.0%
unpow252.8%
Simplified72.0%
if 1.6000000000000001e-83 < t Initial program 73.2%
associate-/l/73.2%
associate-*l/72.1%
associate-*l/71.0%
associate-/r/71.0%
*-commutative71.0%
associate-/l/71.0%
associate-*r*71.0%
*-commutative71.0%
associate-*r*71.0%
*-commutative71.0%
Simplified71.0%
add-cube-cbrt70.8%
pow370.8%
Applied egg-rr73.9%
Taylor expanded in k around 0 61.7%
associate-/r*64.7%
unpow264.7%
unpow264.7%
times-frac73.6%
Simplified73.6%
Final simplification72.0%
(FPCore (t l k) :precision binary64 (if (or (<= t -7.6e-39) (not (<= t 7.9e-84))) (/ (* (/ l k) (/ l k)) (pow t 3.0)) (/ 2.0 (* (/ (* k k) (cos k)) (/ k (* (/ l k) (/ l t)))))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -7.6e-39) || !(t <= 7.9e-84)) {
tmp = ((l / k) * (l / k)) / pow(t, 3.0);
} else {
tmp = 2.0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if ((t <= (-7.6d-39)) .or. (.not. (t <= 7.9d-84))) then
tmp = ((l / k) * (l / k)) / (t ** 3.0d0)
else
tmp = 2.0d0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -7.6e-39) || !(t <= 7.9e-84)) {
tmp = ((l / k) * (l / k)) / Math.pow(t, 3.0);
} else {
tmp = 2.0 / (((k * k) / Math.cos(k)) * (k / ((l / k) * (l / t))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -7.6e-39) or not (t <= 7.9e-84): tmp = ((l / k) * (l / k)) / math.pow(t, 3.0) else: tmp = 2.0 / (((k * k) / math.cos(k)) * (k / ((l / k) * (l / t)))) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -7.6e-39) || !(t <= 7.9e-84)) tmp = Float64(Float64(Float64(l / k) * Float64(l / k)) / (t ^ 3.0)); else tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / cos(k)) * Float64(k / Float64(Float64(l / k) * Float64(l / t))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -7.6e-39) || ~((t <= 7.9e-84))) tmp = ((l / k) * (l / k)) / (t ^ 3.0); else tmp = 2.0 / (((k * k) / cos(k)) * (k / ((l / k) * (l / t)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -7.6e-39], N[Not[LessEqual[t, 7.9e-84]], $MachinePrecision]], N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(k / N[(N[(l / k), $MachinePrecision] * N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -7.6 \cdot 10^{-39} \lor \neg \left(t \leq 7.9 \cdot 10^{-84}\right):\\
\;\;\;\;\frac{\frac{\ell}{k} \cdot \frac{\ell}{k}}{{t}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\cos k} \cdot \frac{k}{\frac{\ell}{k} \cdot \frac{\ell}{t}}}\\
\end{array}
\end{array}
if t < -7.6000000000000004e-39 or 7.89999999999999991e-84 < t Initial program 71.7%
associate-/l/71.7%
associate-*l/71.1%
associate-*l/71.0%
associate-/r/71.0%
*-commutative71.0%
associate-/l/71.0%
associate-*r*71.0%
*-commutative71.0%
associate-*r*71.0%
*-commutative71.0%
Simplified71.0%
add-cube-cbrt70.8%
pow370.8%
Applied egg-rr76.9%
Taylor expanded in k around 0 59.1%
associate-/r*60.1%
unpow260.1%
unpow260.1%
times-frac71.3%
Simplified71.3%
if -7.6000000000000004e-39 < t < 7.89999999999999991e-84Initial program 25.5%
*-commutative25.5%
associate-*l*25.5%
associate-*r*25.5%
+-commutative25.5%
associate-+r+25.5%
metadata-eval25.5%
Simplified25.5%
Taylor expanded in k around inf 62.7%
*-commutative62.7%
associate-*l*62.7%
*-commutative62.7%
unpow262.7%
associate-*l*72.9%
unpow272.9%
Simplified72.9%
div-inv72.8%
*-commutative72.8%
*-commutative72.8%
Applied egg-rr72.8%
associate-*r/72.9%
unpow272.9%
*-rgt-identity72.9%
*-commutative72.9%
associate-/r*72.8%
*-commutative72.8%
associate-*l/72.8%
associate-*r/73.0%
associate-/l*73.0%
unpow273.0%
times-frac88.7%
Simplified88.7%
Taylor expanded in k around 0 73.1%
unpow253.2%
Simplified73.1%
Final simplification71.9%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (* l (/ l (* (pow t 3.0) (* k k))))))
(if (<= t -4.2e+182)
t_1
(if (<= t -5.8e+102)
(* 2.0 (* (/ (* l (/ l k)) k) (/ 1.0 (* k (* t k)))))
(if (<= t -1.4e-26)
t_1
(if (<= t 4.2e-83)
(* 2.0 (* (/ l t) (/ l (pow k 4.0))))
(* l (/ (/ l (* k k)) (pow t 3.0)))))))))
double code(double t, double l, double k) {
double t_1 = l * (l / (pow(t, 3.0) * (k * k)));
double tmp;
if (t <= -4.2e+182) {
tmp = t_1;
} else if (t <= -5.8e+102) {
tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
} else if (t <= -1.4e-26) {
tmp = t_1;
} else if (t <= 4.2e-83) {
tmp = 2.0 * ((l / t) * (l / pow(k, 4.0)));
} else {
tmp = l * ((l / (k * k)) / pow(t, 3.0));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = l * (l / ((t ** 3.0d0) * (k * k)))
if (t <= (-4.2d+182)) then
tmp = t_1
else if (t <= (-5.8d+102)) then
tmp = 2.0d0 * (((l * (l / k)) / k) * (1.0d0 / (k * (t * k))))
else if (t <= (-1.4d-26)) then
tmp = t_1
else if (t <= 4.2d-83) then
tmp = 2.0d0 * ((l / t) * (l / (k ** 4.0d0)))
else
tmp = l * ((l / (k * k)) / (t ** 3.0d0))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = l * (l / (Math.pow(t, 3.0) * (k * k)));
double tmp;
if (t <= -4.2e+182) {
tmp = t_1;
} else if (t <= -5.8e+102) {
tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
} else if (t <= -1.4e-26) {
tmp = t_1;
} else if (t <= 4.2e-83) {
tmp = 2.0 * ((l / t) * (l / Math.pow(k, 4.0)));
} else {
tmp = l * ((l / (k * k)) / Math.pow(t, 3.0));
}
return tmp;
}
def code(t, l, k): t_1 = l * (l / (math.pow(t, 3.0) * (k * k))) tmp = 0 if t <= -4.2e+182: tmp = t_1 elif t <= -5.8e+102: tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))) elif t <= -1.4e-26: tmp = t_1 elif t <= 4.2e-83: tmp = 2.0 * ((l / t) * (l / math.pow(k, 4.0))) else: tmp = l * ((l / (k * k)) / math.pow(t, 3.0)) return tmp
function code(t, l, k) t_1 = Float64(l * Float64(l / Float64((t ^ 3.0) * Float64(k * k)))) tmp = 0.0 if (t <= -4.2e+182) tmp = t_1; elseif (t <= -5.8e+102) tmp = Float64(2.0 * Float64(Float64(Float64(l * Float64(l / k)) / k) * Float64(1.0 / Float64(k * Float64(t * k))))); elseif (t <= -1.4e-26) tmp = t_1; elseif (t <= 4.2e-83) tmp = Float64(2.0 * Float64(Float64(l / t) * Float64(l / (k ^ 4.0)))); else tmp = Float64(l * Float64(Float64(l / Float64(k * k)) / (t ^ 3.0))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = l * (l / ((t ^ 3.0) * (k * k))); tmp = 0.0; if (t <= -4.2e+182) tmp = t_1; elseif (t <= -5.8e+102) tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))); elseif (t <= -1.4e-26) tmp = t_1; elseif (t <= 4.2e-83) tmp = 2.0 * ((l / t) * (l / (k ^ 4.0))); else tmp = l * ((l / (k * k)) / (t ^ 3.0)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(l * N[(l / N[(N[Power[t, 3.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.2e+182], t$95$1, If[LessEqual[t, -5.8e+102], N[(2.0 * N[(N[(N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision] * N[(1.0 / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.4e-26], t$95$1, If[LessEqual[t, 4.2e-83], N[(2.0 * N[(N[(l / t), $MachinePrecision] * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(l * N[(N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision] / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \ell \cdot \frac{\ell}{{t}^{3} \cdot \left(k \cdot k\right)}\\
\mathbf{if}\;t \leq -4.2 \cdot 10^{+182}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -5.8 \cdot 10^{+102}:\\
\;\;\;\;2 \cdot \left(\frac{\ell \cdot \frac{\ell}{k}}{k} \cdot \frac{1}{k \cdot \left(t \cdot k\right)}\right)\\
\mathbf{elif}\;t \leq -1.4 \cdot 10^{-26}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 4.2 \cdot 10^{-83}:\\
\;\;\;\;2 \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{{k}^{4}}\right)\\
\mathbf{else}:\\
\;\;\;\;\ell \cdot \frac{\frac{\ell}{k \cdot k}}{{t}^{3}}\\
\end{array}
\end{array}
if t < -4.1999999999999998e182 or -5.8000000000000005e102 < t < -1.4000000000000001e-26Initial program 79.7%
associate-/l/79.7%
associate-*l/79.7%
associate-*l/81.7%
associate-/r/81.7%
*-commutative81.7%
associate-/l/81.7%
associate-*r*81.7%
*-commutative81.7%
associate-*r*81.7%
*-commutative81.7%
Simplified81.7%
add-cube-cbrt81.5%
pow381.5%
Applied egg-rr85.3%
associate-*r/85.3%
Applied egg-rr85.3%
unpow285.3%
associate-*r/85.3%
unpow285.3%
associate-*l*91.6%
Simplified91.6%
Taylor expanded in k around 0 77.2%
*-commutative77.2%
unpow277.2%
Simplified77.2%
if -4.1999999999999998e182 < t < -5.8000000000000005e102Initial program 45.9%
associate-/l/45.9%
associate-*l/45.9%
associate-*l/45.9%
associate-/r/45.9%
*-commutative45.9%
associate-/l/45.9%
associate-*r*45.9%
*-commutative45.9%
associate-*r*45.9%
*-commutative45.9%
Simplified45.9%
add-cube-cbrt45.9%
pow345.9%
Applied egg-rr76.5%
Taylor expanded in k around inf 31.0%
*-commutative31.0%
times-frac31.0%
unpow231.0%
unpow231.0%
times-frac31.4%
*-commutative31.4%
associate-/r*31.4%
Simplified31.4%
Taylor expanded in k around 0 31.0%
unpow231.0%
associate-*r*31.1%
Simplified31.1%
associate-*r/42.6%
Applied egg-rr42.6%
if -1.4000000000000001e-26 < t < 4.1999999999999998e-83Initial program 26.5%
associate-/l/26.5%
associate-*l/26.5%
associate-*l/25.5%
associate-/r/26.5%
*-commutative26.5%
associate-/l/26.6%
associate-*r*27.5%
*-commutative27.5%
associate-*r*27.5%
*-commutative27.5%
Simplified27.5%
Taylor expanded in k around inf 61.9%
*-commutative61.9%
associate-*l*61.9%
*-commutative61.9%
unpow261.9%
associate-*l*71.7%
Simplified71.7%
Taylor expanded in k around 0 47.7%
unpow247.7%
*-commutative47.7%
times-frac66.2%
Simplified66.2%
if 4.1999999999999998e-83 < t Initial program 73.2%
associate-/l/73.2%
associate-*l/72.1%
associate-*l/71.0%
associate-/r/71.0%
*-commutative71.0%
associate-/l/71.0%
associate-*r*71.0%
*-commutative71.0%
associate-*r*71.0%
*-commutative71.0%
Simplified71.0%
add-cube-cbrt70.8%
pow370.8%
Applied egg-rr73.9%
associate-*r/73.9%
Applied egg-rr73.9%
unpow273.9%
associate-*r/73.9%
unpow273.9%
associate-*l*79.1%
Simplified79.1%
Taylor expanded in k around 0 65.0%
associate-/r*67.0%
unpow267.0%
Simplified67.0%
Final simplification67.0%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (* l (/ l (* (pow t 3.0) (* k k))))))
(if (<= t -3.8e+182)
t_1
(if (<= t -5.5e+102)
(* 2.0 (* (/ (* l (/ l k)) k) (/ 1.0 (* k (* t k)))))
(if (<= t -2.9e-27)
t_1
(if (<= t 6.6e-84)
(* 2.0 (* (/ l t) (/ l (pow k 4.0))))
(* (* l (pow t -3.0)) (/ l (* k k)))))))))
double code(double t, double l, double k) {
double t_1 = l * (l / (pow(t, 3.0) * (k * k)));
double tmp;
if (t <= -3.8e+182) {
tmp = t_1;
} else if (t <= -5.5e+102) {
tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
} else if (t <= -2.9e-27) {
tmp = t_1;
} else if (t <= 6.6e-84) {
tmp = 2.0 * ((l / t) * (l / pow(k, 4.0)));
} else {
tmp = (l * pow(t, -3.0)) * (l / (k * k));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = l * (l / ((t ** 3.0d0) * (k * k)))
if (t <= (-3.8d+182)) then
tmp = t_1
else if (t <= (-5.5d+102)) then
tmp = 2.0d0 * (((l * (l / k)) / k) * (1.0d0 / (k * (t * k))))
else if (t <= (-2.9d-27)) then
tmp = t_1
else if (t <= 6.6d-84) then
tmp = 2.0d0 * ((l / t) * (l / (k ** 4.0d0)))
else
tmp = (l * (t ** (-3.0d0))) * (l / (k * k))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = l * (l / (Math.pow(t, 3.0) * (k * k)));
double tmp;
if (t <= -3.8e+182) {
tmp = t_1;
} else if (t <= -5.5e+102) {
tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
} else if (t <= -2.9e-27) {
tmp = t_1;
} else if (t <= 6.6e-84) {
tmp = 2.0 * ((l / t) * (l / Math.pow(k, 4.0)));
} else {
tmp = (l * Math.pow(t, -3.0)) * (l / (k * k));
}
return tmp;
}
def code(t, l, k): t_1 = l * (l / (math.pow(t, 3.0) * (k * k))) tmp = 0 if t <= -3.8e+182: tmp = t_1 elif t <= -5.5e+102: tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))) elif t <= -2.9e-27: tmp = t_1 elif t <= 6.6e-84: tmp = 2.0 * ((l / t) * (l / math.pow(k, 4.0))) else: tmp = (l * math.pow(t, -3.0)) * (l / (k * k)) return tmp
function code(t, l, k) t_1 = Float64(l * Float64(l / Float64((t ^ 3.0) * Float64(k * k)))) tmp = 0.0 if (t <= -3.8e+182) tmp = t_1; elseif (t <= -5.5e+102) tmp = Float64(2.0 * Float64(Float64(Float64(l * Float64(l / k)) / k) * Float64(1.0 / Float64(k * Float64(t * k))))); elseif (t <= -2.9e-27) tmp = t_1; elseif (t <= 6.6e-84) tmp = Float64(2.0 * Float64(Float64(l / t) * Float64(l / (k ^ 4.0)))); else tmp = Float64(Float64(l * (t ^ -3.0)) * Float64(l / Float64(k * k))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = l * (l / ((t ^ 3.0) * (k * k))); tmp = 0.0; if (t <= -3.8e+182) tmp = t_1; elseif (t <= -5.5e+102) tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))); elseif (t <= -2.9e-27) tmp = t_1; elseif (t <= 6.6e-84) tmp = 2.0 * ((l / t) * (l / (k ^ 4.0))); else tmp = (l * (t ^ -3.0)) * (l / (k * k)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(l * N[(l / N[(N[Power[t, 3.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -3.8e+182], t$95$1, If[LessEqual[t, -5.5e+102], N[(2.0 * N[(N[(N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision] * N[(1.0 / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -2.9e-27], t$95$1, If[LessEqual[t, 6.6e-84], N[(2.0 * N[(N[(l / t), $MachinePrecision] * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l * N[Power[t, -3.0], $MachinePrecision]), $MachinePrecision] * N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \ell \cdot \frac{\ell}{{t}^{3} \cdot \left(k \cdot k\right)}\\
\mathbf{if}\;t \leq -3.8 \cdot 10^{+182}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -5.5 \cdot 10^{+102}:\\
\;\;\;\;2 \cdot \left(\frac{\ell \cdot \frac{\ell}{k}}{k} \cdot \frac{1}{k \cdot \left(t \cdot k\right)}\right)\\
\mathbf{elif}\;t \leq -2.9 \cdot 10^{-27}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 6.6 \cdot 10^{-84}:\\
\;\;\;\;2 \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{{k}^{4}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot {t}^{-3}\right) \cdot \frac{\ell}{k \cdot k}\\
\end{array}
\end{array}
if t < -3.80000000000000013e182 or -5.49999999999999981e102 < t < -2.90000000000000004e-27Initial program 79.7%
associate-/l/79.7%
associate-*l/79.7%
associate-*l/81.7%
associate-/r/81.7%
*-commutative81.7%
associate-/l/81.7%
associate-*r*81.7%
*-commutative81.7%
associate-*r*81.7%
*-commutative81.7%
Simplified81.7%
add-cube-cbrt81.5%
pow381.5%
Applied egg-rr85.3%
associate-*r/85.3%
Applied egg-rr85.3%
unpow285.3%
associate-*r/85.3%
unpow285.3%
associate-*l*91.6%
Simplified91.6%
Taylor expanded in k around 0 77.2%
*-commutative77.2%
unpow277.2%
Simplified77.2%
if -3.80000000000000013e182 < t < -5.49999999999999981e102Initial program 45.9%
associate-/l/45.9%
associate-*l/45.9%
associate-*l/45.9%
associate-/r/45.9%
*-commutative45.9%
associate-/l/45.9%
associate-*r*45.9%
*-commutative45.9%
associate-*r*45.9%
*-commutative45.9%
Simplified45.9%
add-cube-cbrt45.9%
pow345.9%
Applied egg-rr76.5%
Taylor expanded in k around inf 31.0%
*-commutative31.0%
times-frac31.0%
unpow231.0%
unpow231.0%
times-frac31.4%
*-commutative31.4%
associate-/r*31.4%
Simplified31.4%
Taylor expanded in k around 0 31.0%
unpow231.0%
associate-*r*31.1%
Simplified31.1%
associate-*r/42.6%
Applied egg-rr42.6%
if -2.90000000000000004e-27 < t < 6.59999999999999968e-84Initial program 26.5%
associate-/l/26.5%
associate-*l/26.5%
associate-*l/25.5%
associate-/r/26.5%
*-commutative26.5%
associate-/l/26.6%
associate-*r*27.5%
*-commutative27.5%
associate-*r*27.5%
*-commutative27.5%
Simplified27.5%
Taylor expanded in k around inf 61.9%
*-commutative61.9%
associate-*l*61.9%
*-commutative61.9%
unpow261.9%
associate-*l*71.7%
Simplified71.7%
Taylor expanded in k around 0 47.7%
unpow247.7%
*-commutative47.7%
times-frac66.2%
Simplified66.2%
if 6.59999999999999968e-84 < t Initial program 73.2%
associate-/l/73.2%
associate-*l/72.1%
associate-*l/71.0%
associate-/r/71.0%
*-commutative71.0%
associate-/l/71.0%
associate-*r*71.0%
*-commutative71.0%
associate-*r*71.0%
*-commutative71.0%
Simplified71.0%
Taylor expanded in k around 0 61.7%
unpow261.7%
*-commutative61.7%
times-frac67.9%
unpow267.9%
Simplified67.9%
expm1-log1p-u58.0%
expm1-udef54.1%
div-inv54.1%
pow-flip54.1%
metadata-eval54.1%
Applied egg-rr54.1%
expm1-def58.0%
expm1-log1p67.9%
Simplified67.9%
Final simplification67.3%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (* l (/ l (* (pow t 3.0) (* k k))))))
(if (<= t -4.2e+182)
t_1
(if (<= t -6.3e+102)
(* 2.0 (* (/ (* l (/ l k)) k) (/ 1.0 (* k (* t k)))))
(if (<= t -1.3e-16)
t_1
(if (<= t 6e-84)
(/ 2.0 (* (/ (pow k 4.0) l) (/ t l)))
(* (* l (pow t -3.0)) (/ l (* k k)))))))))
double code(double t, double l, double k) {
double t_1 = l * (l / (pow(t, 3.0) * (k * k)));
double tmp;
if (t <= -4.2e+182) {
tmp = t_1;
} else if (t <= -6.3e+102) {
tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
} else if (t <= -1.3e-16) {
tmp = t_1;
} else if (t <= 6e-84) {
tmp = 2.0 / ((pow(k, 4.0) / l) * (t / l));
} else {
tmp = (l * pow(t, -3.0)) * (l / (k * k));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = l * (l / ((t ** 3.0d0) * (k * k)))
if (t <= (-4.2d+182)) then
tmp = t_1
else if (t <= (-6.3d+102)) then
tmp = 2.0d0 * (((l * (l / k)) / k) * (1.0d0 / (k * (t * k))))
else if (t <= (-1.3d-16)) then
tmp = t_1
else if (t <= 6d-84) then
tmp = 2.0d0 / (((k ** 4.0d0) / l) * (t / l))
else
tmp = (l * (t ** (-3.0d0))) * (l / (k * k))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = l * (l / (Math.pow(t, 3.0) * (k * k)));
double tmp;
if (t <= -4.2e+182) {
tmp = t_1;
} else if (t <= -6.3e+102) {
tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
} else if (t <= -1.3e-16) {
tmp = t_1;
} else if (t <= 6e-84) {
tmp = 2.0 / ((Math.pow(k, 4.0) / l) * (t / l));
} else {
tmp = (l * Math.pow(t, -3.0)) * (l / (k * k));
}
return tmp;
}
def code(t, l, k): t_1 = l * (l / (math.pow(t, 3.0) * (k * k))) tmp = 0 if t <= -4.2e+182: tmp = t_1 elif t <= -6.3e+102: tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))) elif t <= -1.3e-16: tmp = t_1 elif t <= 6e-84: tmp = 2.0 / ((math.pow(k, 4.0) / l) * (t / l)) else: tmp = (l * math.pow(t, -3.0)) * (l / (k * k)) return tmp
function code(t, l, k) t_1 = Float64(l * Float64(l / Float64((t ^ 3.0) * Float64(k * k)))) tmp = 0.0 if (t <= -4.2e+182) tmp = t_1; elseif (t <= -6.3e+102) tmp = Float64(2.0 * Float64(Float64(Float64(l * Float64(l / k)) / k) * Float64(1.0 / Float64(k * Float64(t * k))))); elseif (t <= -1.3e-16) tmp = t_1; elseif (t <= 6e-84) tmp = Float64(2.0 / Float64(Float64((k ^ 4.0) / l) * Float64(t / l))); else tmp = Float64(Float64(l * (t ^ -3.0)) * Float64(l / Float64(k * k))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = l * (l / ((t ^ 3.0) * (k * k))); tmp = 0.0; if (t <= -4.2e+182) tmp = t_1; elseif (t <= -6.3e+102) tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))); elseif (t <= -1.3e-16) tmp = t_1; elseif (t <= 6e-84) tmp = 2.0 / (((k ^ 4.0) / l) * (t / l)); else tmp = (l * (t ^ -3.0)) * (l / (k * k)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(l * N[(l / N[(N[Power[t, 3.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.2e+182], t$95$1, If[LessEqual[t, -6.3e+102], N[(2.0 * N[(N[(N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision] * N[(1.0 / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, -1.3e-16], t$95$1, If[LessEqual[t, 6e-84], N[(2.0 / N[(N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l * N[Power[t, -3.0], $MachinePrecision]), $MachinePrecision] * N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \ell \cdot \frac{\ell}{{t}^{3} \cdot \left(k \cdot k\right)}\\
\mathbf{if}\;t \leq -4.2 \cdot 10^{+182}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq -6.3 \cdot 10^{+102}:\\
\;\;\;\;2 \cdot \left(\frac{\ell \cdot \frac{\ell}{k}}{k} \cdot \frac{1}{k \cdot \left(t \cdot k\right)}\right)\\
\mathbf{elif}\;t \leq -1.3 \cdot 10^{-16}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 6 \cdot 10^{-84}:\\
\;\;\;\;\frac{2}{\frac{{k}^{4}}{\ell} \cdot \frac{t}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\left(\ell \cdot {t}^{-3}\right) \cdot \frac{\ell}{k \cdot k}\\
\end{array}
\end{array}
if t < -4.1999999999999998e182 or -6.30000000000000029e102 < t < -1.2999999999999999e-16Initial program 81.4%
associate-/l/81.4%
associate-*l/81.4%
associate-*l/83.5%
associate-/r/83.4%
*-commutative83.4%
associate-/l/83.4%
associate-*r*83.4%
*-commutative83.4%
associate-*r*83.4%
*-commutative83.4%
Simplified83.4%
add-cube-cbrt83.2%
pow383.2%
Applied egg-rr87.1%
associate-*r/87.1%
Applied egg-rr87.1%
unpow287.1%
associate-*r/87.1%
unpow287.1%
associate-*l*93.5%
Simplified93.5%
Taylor expanded in k around 0 78.8%
*-commutative78.8%
unpow278.8%
Simplified78.8%
if -4.1999999999999998e182 < t < -6.30000000000000029e102Initial program 45.9%
associate-/l/45.9%
associate-*l/45.9%
associate-*l/45.9%
associate-/r/45.9%
*-commutative45.9%
associate-/l/45.9%
associate-*r*45.9%
*-commutative45.9%
associate-*r*45.9%
*-commutative45.9%
Simplified45.9%
add-cube-cbrt45.9%
pow345.9%
Applied egg-rr76.5%
Taylor expanded in k around inf 31.0%
*-commutative31.0%
times-frac31.0%
unpow231.0%
unpow231.0%
times-frac31.4%
*-commutative31.4%
associate-/r*31.4%
Simplified31.4%
Taylor expanded in k around 0 31.0%
unpow231.0%
associate-*r*31.1%
Simplified31.1%
associate-*r/42.6%
Applied egg-rr42.6%
if -1.2999999999999999e-16 < t < 6.0000000000000002e-84Initial program 26.3%
*-commutative26.3%
associate-*l*26.2%
associate-*r*26.2%
+-commutative26.2%
associate-+r+26.2%
metadata-eval26.2%
Simplified26.2%
Taylor expanded in k around inf 61.3%
*-commutative61.3%
associate-*l*61.3%
*-commutative61.3%
unpow261.3%
associate-*l*71.0%
unpow271.0%
Simplified71.0%
Taylor expanded in k around 0 52.3%
unpow252.3%
Simplified52.3%
Taylor expanded in k around 0 47.2%
unpow247.2%
times-frac65.6%
Simplified65.6%
if 6.0000000000000002e-84 < t Initial program 73.2%
associate-/l/73.2%
associate-*l/72.1%
associate-*l/71.0%
associate-/r/71.0%
*-commutative71.0%
associate-/l/71.0%
associate-*r*71.0%
*-commutative71.0%
associate-*r*71.0%
*-commutative71.0%
Simplified71.0%
Taylor expanded in k around 0 61.7%
unpow261.7%
*-commutative61.7%
times-frac67.9%
unpow267.9%
Simplified67.9%
expm1-log1p-u58.0%
expm1-udef54.1%
div-inv54.1%
pow-flip54.1%
metadata-eval54.1%
Applied egg-rr54.1%
expm1-def58.0%
expm1-log1p67.9%
Simplified67.9%
Final simplification67.4%
(FPCore (t l k) :precision binary64 (if (or (<= t -3.4e-42) (not (<= t 7.2e-84))) (/ (* (/ l k) (/ l k)) (pow t 3.0)) (/ 2.0 (* (/ (pow k 4.0) l) (/ t l)))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -3.4e-42) || !(t <= 7.2e-84)) {
tmp = ((l / k) * (l / k)) / pow(t, 3.0);
} else {
tmp = 2.0 / ((pow(k, 4.0) / l) * (t / 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.4d-42)) .or. (.not. (t <= 7.2d-84))) then
tmp = ((l / k) * (l / k)) / (t ** 3.0d0)
else
tmp = 2.0d0 / (((k ** 4.0d0) / l) * (t / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -3.4e-42) || !(t <= 7.2e-84)) {
tmp = ((l / k) * (l / k)) / Math.pow(t, 3.0);
} else {
tmp = 2.0 / ((Math.pow(k, 4.0) / l) * (t / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -3.4e-42) or not (t <= 7.2e-84): tmp = ((l / k) * (l / k)) / math.pow(t, 3.0) else: tmp = 2.0 / ((math.pow(k, 4.0) / l) * (t / l)) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -3.4e-42) || !(t <= 7.2e-84)) tmp = Float64(Float64(Float64(l / k) * Float64(l / k)) / (t ^ 3.0)); else tmp = Float64(2.0 / Float64(Float64((k ^ 4.0) / l) * Float64(t / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -3.4e-42) || ~((t <= 7.2e-84))) tmp = ((l / k) * (l / k)) / (t ^ 3.0); else tmp = 2.0 / (((k ^ 4.0) / l) * (t / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -3.4e-42], N[Not[LessEqual[t, 7.2e-84]], $MachinePrecision]], N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.4 \cdot 10^{-42} \lor \neg \left(t \leq 7.2 \cdot 10^{-84}\right):\\
\;\;\;\;\frac{\frac{\ell}{k} \cdot \frac{\ell}{k}}{{t}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{k}^{4}}{\ell} \cdot \frac{t}{\ell}}\\
\end{array}
\end{array}
if t < -3.40000000000000022e-42 or 7.20000000000000007e-84 < t Initial program 71.7%
associate-/l/71.7%
associate-*l/71.1%
associate-*l/71.0%
associate-/r/71.0%
*-commutative71.0%
associate-/l/71.0%
associate-*r*71.0%
*-commutative71.0%
associate-*r*71.0%
*-commutative71.0%
Simplified71.0%
add-cube-cbrt70.8%
pow370.8%
Applied egg-rr76.9%
Taylor expanded in k around 0 59.1%
associate-/r*60.1%
unpow260.1%
unpow260.1%
times-frac71.3%
Simplified71.3%
if -3.40000000000000022e-42 < t < 7.20000000000000007e-84Initial program 25.5%
*-commutative25.5%
associate-*l*25.5%
associate-*r*25.5%
+-commutative25.5%
associate-+r+25.5%
metadata-eval25.5%
Simplified25.5%
Taylor expanded in k around inf 62.7%
*-commutative62.7%
associate-*l*62.7%
*-commutative62.7%
unpow262.7%
associate-*l*72.9%
unpow272.9%
Simplified72.9%
Taylor expanded in k around 0 53.2%
unpow253.2%
Simplified53.2%
Taylor expanded in k around 0 47.8%
unpow247.8%
times-frac67.1%
Simplified67.1%
Final simplification69.7%
(FPCore (t l k)
:precision binary64
(if (<= k 6.6e-188)
(* 2.0 (* (/ (* l (/ l k)) k) (/ 1.0 (* k (* t k)))))
(if (<= k 7.6e-65)
(* l (/ l (* (pow t 3.0) (* k k))))
(* 2.0 (* (/ l t) (/ l (pow k 4.0)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 6.6e-188) {
tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
} else if (k <= 7.6e-65) {
tmp = l * (l / (pow(t, 3.0) * (k * k)));
} else {
tmp = 2.0 * ((l / t) * (l / pow(k, 4.0)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 6.6d-188) then
tmp = 2.0d0 * (((l * (l / k)) / k) * (1.0d0 / (k * (t * k))))
else if (k <= 7.6d-65) then
tmp = l * (l / ((t ** 3.0d0) * (k * k)))
else
tmp = 2.0d0 * ((l / t) * (l / (k ** 4.0d0)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 6.6e-188) {
tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
} else if (k <= 7.6e-65) {
tmp = l * (l / (Math.pow(t, 3.0) * (k * k)));
} else {
tmp = 2.0 * ((l / t) * (l / Math.pow(k, 4.0)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 6.6e-188: tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))) elif k <= 7.6e-65: tmp = l * (l / (math.pow(t, 3.0) * (k * k))) else: tmp = 2.0 * ((l / t) * (l / math.pow(k, 4.0))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 6.6e-188) tmp = Float64(2.0 * Float64(Float64(Float64(l * Float64(l / k)) / k) * Float64(1.0 / Float64(k * Float64(t * k))))); elseif (k <= 7.6e-65) tmp = Float64(l * Float64(l / Float64((t ^ 3.0) * Float64(k * k)))); else tmp = Float64(2.0 * Float64(Float64(l / t) * Float64(l / (k ^ 4.0)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 6.6e-188) tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))); elseif (k <= 7.6e-65) tmp = l * (l / ((t ^ 3.0) * (k * k))); else tmp = 2.0 * ((l / t) * (l / (k ^ 4.0))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 6.6e-188], N[(2.0 * N[(N[(N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision] * N[(1.0 / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 7.6e-65], N[(l * N[(l / N[(N[Power[t, 3.0], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(l / t), $MachinePrecision] * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 6.6 \cdot 10^{-188}:\\
\;\;\;\;2 \cdot \left(\frac{\ell \cdot \frac{\ell}{k}}{k} \cdot \frac{1}{k \cdot \left(t \cdot k\right)}\right)\\
\mathbf{elif}\;k \leq 7.6 \cdot 10^{-65}:\\
\;\;\;\;\ell \cdot \frac{\ell}{{t}^{3} \cdot \left(k \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{{k}^{4}}\right)\\
\end{array}
\end{array}
if k < 6.6000000000000005e-188Initial program 54.2%
associate-/l/54.2%
associate-*l/54.2%
associate-*l/53.5%
associate-/r/54.1%
*-commutative54.1%
associate-/l/54.1%
associate-*r*54.1%
*-commutative54.1%
associate-*r*54.1%
*-commutative54.1%
Simplified54.1%
add-cube-cbrt54.0%
pow354.0%
Applied egg-rr63.7%
Taylor expanded in k around inf 51.2%
*-commutative51.2%
times-frac49.5%
unpow249.5%
unpow249.5%
times-frac59.1%
*-commutative59.1%
associate-/r*59.1%
Simplified59.1%
Taylor expanded in k around 0 50.7%
unpow250.7%
associate-*r*50.7%
Simplified50.7%
associate-*r/51.2%
Applied egg-rr51.2%
if 6.6000000000000005e-188 < k < 7.6000000000000003e-65Initial program 61.4%
associate-/l/61.4%
associate-*l/57.4%
associate-*l/61.3%
associate-/r/61.3%
*-commutative61.3%
associate-/l/61.3%
associate-*r*61.3%
*-commutative61.3%
associate-*r*61.3%
*-commutative61.3%
Simplified61.3%
add-cube-cbrt61.1%
pow361.1%
Applied egg-rr61.0%
associate-*r/61.0%
Applied egg-rr61.0%
unpow261.0%
associate-*r/61.0%
unpow261.0%
associate-*l*75.1%
Simplified75.1%
Taylor expanded in k around 0 75.5%
*-commutative75.5%
unpow275.5%
Simplified75.5%
if 7.6000000000000003e-65 < k Initial program 53.7%
associate-/l/53.7%
associate-*l/53.7%
associate-*l/52.6%
associate-/r/52.6%
*-commutative52.6%
associate-/l/52.6%
associate-*r*53.7%
*-commutative53.7%
associate-*r*53.8%
*-commutative53.8%
Simplified53.8%
Taylor expanded in k around inf 74.9%
*-commutative74.9%
associate-*l*74.9%
*-commutative74.9%
unpow274.9%
associate-*l*79.6%
Simplified79.6%
Taylor expanded in k around 0 64.9%
unpow264.9%
*-commutative64.9%
times-frac69.6%
Simplified69.6%
Final simplification59.4%
(FPCore (t l k)
:precision binary64
(if (<= l 9.2e+181)
(* 2.0 (* (/ l t) (/ l (pow k 4.0))))
(*
2.0
(*
(* (/ l k) (/ l k))
(- (/ 1.0 (* k (* t k))) (/ 0.16666666666666666 t))))))
double code(double t, double l, double k) {
double tmp;
if (l <= 9.2e+181) {
tmp = 2.0 * ((l / t) * (l / pow(k, 4.0)));
} else {
tmp = 2.0 * (((l / k) * (l / k)) * ((1.0 / (k * (t * k))) - (0.16666666666666666 / t)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (l <= 9.2d+181) then
tmp = 2.0d0 * ((l / t) * (l / (k ** 4.0d0)))
else
tmp = 2.0d0 * (((l / k) * (l / k)) * ((1.0d0 / (k * (t * k))) - (0.16666666666666666d0 / t)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (l <= 9.2e+181) {
tmp = 2.0 * ((l / t) * (l / Math.pow(k, 4.0)));
} else {
tmp = 2.0 * (((l / k) * (l / k)) * ((1.0 / (k * (t * k))) - (0.16666666666666666 / t)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if l <= 9.2e+181: tmp = 2.0 * ((l / t) * (l / math.pow(k, 4.0))) else: tmp = 2.0 * (((l / k) * (l / k)) * ((1.0 / (k * (t * k))) - (0.16666666666666666 / t))) return tmp
function code(t, l, k) tmp = 0.0 if (l <= 9.2e+181) tmp = Float64(2.0 * Float64(Float64(l / t) * Float64(l / (k ^ 4.0)))); else tmp = Float64(2.0 * Float64(Float64(Float64(l / k) * Float64(l / k)) * Float64(Float64(1.0 / Float64(k * Float64(t * k))) - Float64(0.16666666666666666 / t)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (l <= 9.2e+181) tmp = 2.0 * ((l / t) * (l / (k ^ 4.0))); else tmp = 2.0 * (((l / k) * (l / k)) * ((1.0 / (k * (t * k))) - (0.16666666666666666 / t))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[l, 9.2e+181], N[(2.0 * N[(N[(l / t), $MachinePrecision] * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(0.16666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;\ell \leq 9.2 \cdot 10^{+181}:\\
\;\;\;\;2 \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{{k}^{4}}\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \left(\frac{1}{k \cdot \left(t \cdot k\right)} - \frac{0.16666666666666666}{t}\right)\right)\\
\end{array}
\end{array}
if l < 9.1999999999999995e181Initial program 56.1%
associate-/l/56.1%
associate-*l/55.7%
associate-*l/55.3%
associate-/r/55.7%
*-commutative55.7%
associate-/l/55.7%
associate-*r*56.1%
*-commutative56.1%
associate-*r*56.1%
*-commutative56.1%
Simplified56.1%
Taylor expanded in k around inf 56.7%
*-commutative56.7%
associate-*l*56.7%
*-commutative56.7%
unpow256.7%
associate-*l*60.7%
Simplified60.7%
Taylor expanded in k around 0 50.8%
unpow250.8%
*-commutative50.8%
times-frac58.7%
Simplified58.7%
if 9.1999999999999995e181 < l Initial program 35.5%
associate-/l/35.5%
associate-*l/35.5%
associate-*l/35.5%
associate-/r/35.3%
*-commutative35.3%
associate-/l/35.3%
associate-*r*35.3%
*-commutative35.3%
associate-*r*35.3%
*-commutative35.3%
Simplified35.3%
add-cube-cbrt35.3%
pow335.3%
Applied egg-rr35.3%
Taylor expanded in k around inf 48.1%
*-commutative48.1%
times-frac48.1%
unpow248.1%
unpow248.1%
times-frac60.4%
*-commutative60.4%
associate-/r*60.4%
Simplified60.4%
Taylor expanded in k around 0 42.8%
unpow242.8%
associate-*r*42.8%
associate-*r/42.8%
metadata-eval42.8%
Simplified42.8%
Final simplification57.6%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ 1.0 (* k (* t k)))))
(if (<= l 8e+177)
(* 2.0 (* (/ (* l (/ l k)) k) t_1))
(* 2.0 (* (* (/ l k) (/ l k)) (- t_1 (/ 0.16666666666666666 t)))))))
double code(double t, double l, double k) {
double t_1 = 1.0 / (k * (t * k));
double tmp;
if (l <= 8e+177) {
tmp = 2.0 * (((l * (l / k)) / k) * t_1);
} else {
tmp = 2.0 * (((l / k) * (l / k)) * (t_1 - (0.16666666666666666 / t)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 1.0d0 / (k * (t * k))
if (l <= 8d+177) then
tmp = 2.0d0 * (((l * (l / k)) / k) * t_1)
else
tmp = 2.0d0 * (((l / k) * (l / k)) * (t_1 - (0.16666666666666666d0 / t)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = 1.0 / (k * (t * k));
double tmp;
if (l <= 8e+177) {
tmp = 2.0 * (((l * (l / k)) / k) * t_1);
} else {
tmp = 2.0 * (((l / k) * (l / k)) * (t_1 - (0.16666666666666666 / t)));
}
return tmp;
}
def code(t, l, k): t_1 = 1.0 / (k * (t * k)) tmp = 0 if l <= 8e+177: tmp = 2.0 * (((l * (l / k)) / k) * t_1) else: tmp = 2.0 * (((l / k) * (l / k)) * (t_1 - (0.16666666666666666 / t))) return tmp
function code(t, l, k) t_1 = Float64(1.0 / Float64(k * Float64(t * k))) tmp = 0.0 if (l <= 8e+177) tmp = Float64(2.0 * Float64(Float64(Float64(l * Float64(l / k)) / k) * t_1)); else tmp = Float64(2.0 * Float64(Float64(Float64(l / k) * Float64(l / k)) * Float64(t_1 - Float64(0.16666666666666666 / t)))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = 1.0 / (k * (t * k)); tmp = 0.0; if (l <= 8e+177) tmp = 2.0 * (((l * (l / k)) / k) * t_1); else tmp = 2.0 * (((l / k) * (l / k)) * (t_1 - (0.16666666666666666 / t))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(1.0 / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[l, 8e+177], N[(2.0 * N[(N[(N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] * N[(t$95$1 - N[(0.16666666666666666 / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{1}{k \cdot \left(t \cdot k\right)}\\
\mathbf{if}\;\ell \leq 8 \cdot 10^{+177}:\\
\;\;\;\;2 \cdot \left(\frac{\ell \cdot \frac{\ell}{k}}{k} \cdot t_1\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \left(t_1 - \frac{0.16666666666666666}{t}\right)\right)\\
\end{array}
\end{array}
if l < 8.0000000000000001e177Initial program 56.1%
associate-/l/56.1%
associate-*l/55.7%
associate-*l/55.3%
associate-/r/55.7%
*-commutative55.7%
associate-/l/55.7%
associate-*r*56.1%
*-commutative56.1%
associate-*r*56.1%
*-commutative56.1%
Simplified56.1%
add-cube-cbrt55.9%
pow355.9%
Applied egg-rr66.4%
Taylor expanded in k around inf 56.7%
*-commutative56.7%
times-frac54.4%
unpow254.4%
unpow254.4%
times-frac62.1%
*-commutative62.1%
associate-/r*62.1%
Simplified62.1%
Taylor expanded in k around 0 55.9%
unpow255.9%
associate-*r*55.9%
Simplified55.9%
associate-*r/56.6%
Applied egg-rr56.6%
if 8.0000000000000001e177 < l Initial program 35.5%
associate-/l/35.5%
associate-*l/35.5%
associate-*l/35.5%
associate-/r/35.3%
*-commutative35.3%
associate-/l/35.3%
associate-*r*35.3%
*-commutative35.3%
associate-*r*35.3%
*-commutative35.3%
Simplified35.3%
add-cube-cbrt35.3%
pow335.3%
Applied egg-rr35.3%
Taylor expanded in k around inf 48.1%
*-commutative48.1%
times-frac48.1%
unpow248.1%
unpow248.1%
times-frac60.4%
*-commutative60.4%
associate-/r*60.4%
Simplified60.4%
Taylor expanded in k around 0 42.8%
unpow242.8%
associate-*r*42.8%
associate-*r/42.8%
metadata-eval42.8%
Simplified42.8%
Final simplification55.7%
(FPCore (t l k) :precision binary64 (* 2.0 (* (* (/ l k) (/ l k)) (/ 1.0 (* k (* t k))))))
double code(double t, double l, double k) {
return 2.0 * (((l / k) * (l / k)) * (1.0 / (k * (t * k))));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 * (((l / k) * (l / k)) * (1.0d0 / (k * (t * k))))
end function
public static double code(double t, double l, double k) {
return 2.0 * (((l / k) * (l / k)) * (1.0 / (k * (t * k))));
}
def code(t, l, k): return 2.0 * (((l / k) * (l / k)) * (1.0 / (k * (t * k))))
function code(t, l, k) return Float64(2.0 * Float64(Float64(Float64(l / k) * Float64(l / k)) * Float64(1.0 / Float64(k * Float64(t * k))))) end
function tmp = code(t, l, k) tmp = 2.0 * (((l / k) * (l / k)) * (1.0 / (k * (t * k)))); end
code[t_, l_, k_] := N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] * N[(1.0 / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \left(\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{1}{k \cdot \left(t \cdot k\right)}\right)
\end{array}
Initial program 54.7%
associate-/l/54.7%
associate-*l/54.3%
associate-*l/53.9%
associate-/r/54.3%
*-commutative54.3%
associate-/l/54.3%
associate-*r*54.7%
*-commutative54.7%
associate-*r*54.7%
*-commutative54.7%
Simplified54.7%
add-cube-cbrt54.5%
pow354.5%
Applied egg-rr64.4%
Taylor expanded in k around inf 56.1%
*-commutative56.1%
times-frac54.0%
unpow254.0%
unpow254.0%
times-frac62.0%
*-commutative62.0%
associate-/r*62.0%
Simplified62.0%
Taylor expanded in k around 0 54.2%
unpow254.2%
associate-*r*54.3%
Simplified54.3%
Final simplification54.3%
(FPCore (t l k) :precision binary64 (* 2.0 (* (/ (* l (/ l k)) k) (/ 1.0 (* k (* t k))))))
double code(double t, double l, double k) {
return 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 * (((l * (l / k)) / k) * (1.0d0 / (k * (t * k))))
end function
public static double code(double t, double l, double k) {
return 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))));
}
def code(t, l, k): return 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k))))
function code(t, l, k) return Float64(2.0 * Float64(Float64(Float64(l * Float64(l / k)) / k) * Float64(1.0 / Float64(k * Float64(t * k))))) end
function tmp = code(t, l, k) tmp = 2.0 * (((l * (l / k)) / k) * (1.0 / (k * (t * k)))); end
code[t_, l_, k_] := N[(2.0 * N[(N[(N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision] * N[(1.0 / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \left(\frac{\ell \cdot \frac{\ell}{k}}{k} \cdot \frac{1}{k \cdot \left(t \cdot k\right)}\right)
\end{array}
Initial program 54.7%
associate-/l/54.7%
associate-*l/54.3%
associate-*l/53.9%
associate-/r/54.3%
*-commutative54.3%
associate-/l/54.3%
associate-*r*54.7%
*-commutative54.7%
associate-*r*54.7%
*-commutative54.7%
Simplified54.7%
add-cube-cbrt54.5%
pow354.5%
Applied egg-rr64.4%
Taylor expanded in k around inf 56.1%
*-commutative56.1%
times-frac54.0%
unpow254.0%
unpow254.0%
times-frac62.0%
*-commutative62.0%
associate-/r*62.0%
Simplified62.0%
Taylor expanded in k around 0 54.2%
unpow254.2%
associate-*r*54.3%
Simplified54.3%
associate-*r/54.9%
Applied egg-rr54.9%
Final simplification54.9%
herbie shell --seed 2023230
(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))))