
(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 14 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 (* 2.0 (/ (* (/ (cos k) k) l) (* (* t (pow (sin k) 2.0)) (/ k l)))))
double code(double t, double l, double k) {
return 2.0 * (((cos(k) / k) * l) / ((t * pow(sin(k), 2.0)) * (k / l)));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 * (((cos(k) / k) * l) / ((t * (sin(k) ** 2.0d0)) * (k / l)))
end function
public static double code(double t, double l, double k) {
return 2.0 * (((Math.cos(k) / k) * l) / ((t * Math.pow(Math.sin(k), 2.0)) * (k / l)));
}
def code(t, l, k): return 2.0 * (((math.cos(k) / k) * l) / ((t * math.pow(math.sin(k), 2.0)) * (k / l)))
function code(t, l, k) return Float64(2.0 * Float64(Float64(Float64(cos(k) / k) * l) / Float64(Float64(t * (sin(k) ^ 2.0)) * Float64(k / l)))) end
function tmp = code(t, l, k) tmp = 2.0 * (((cos(k) / k) * l) / ((t * (sin(k) ^ 2.0)) * (k / l))); end
code[t_, l_, k_] := N[(2.0 * N[(N[(N[(N[Cos[k], $MachinePrecision] / k), $MachinePrecision] * l), $MachinePrecision] / N[(N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \frac{\frac{\cos k}{k} \cdot \ell}{\left(t \cdot {\sin k}^{2}\right) \cdot \frac{k}{\ell}}
\end{array}
Initial program 33.8%
associate-*l*33.8%
associate-*l*33.8%
associate-/r*33.8%
associate-/r/33.8%
*-commutative33.8%
times-frac34.2%
+-commutative34.2%
associate--l+42.0%
metadata-eval42.0%
+-rgt-identity42.0%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 69.1%
associate-/r*69.5%
unpow269.5%
unpow269.5%
*-commutative69.5%
Simplified69.5%
Taylor expanded in k around inf 69.5%
unpow269.5%
times-frac71.3%
unpow271.3%
associate-/l*84.3%
Simplified84.3%
associate-*r/89.9%
Applied egg-rr89.9%
*-un-lft-identity89.9%
associate-/l/96.2%
Applied egg-rr96.2%
Final simplification96.2%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)) (t_2 (* t t_1)))
(if (<= k 1.6e-89)
(* (/ 2.0 (* k (* k t))) (* (/ l (sin k)) (/ l (tan k))))
(if (<= k 1.35e+85)
(* 2.0 (* (/ (cos k) (* k k)) (* (/ l t) (/ l t_1))))
(if (<= k 4.6e+230)
(* 2.0 (/ (/ (* (cos k) l) (* k (/ k l))) t_2))
(* 2.0 (/ (* (/ (cos k) k) (/ l (/ k l))) t_2)))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double t_2 = t * t_1;
double tmp;
if (k <= 1.6e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)));
} else if (k <= 1.35e+85) {
tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else if (k <= 4.6e+230) {
tmp = 2.0 * (((cos(k) * l) / (k * (k / l))) / t_2);
} else {
tmp = 2.0 * (((cos(k) / k) * (l / (k / l))) / 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 = sin(k) ** 2.0d0
t_2 = t * t_1
if (k <= 1.6d-89) then
tmp = (2.0d0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)))
else if (k <= 1.35d+85) then
tmp = 2.0d0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)))
else if (k <= 4.6d+230) then
tmp = 2.0d0 * (((cos(k) * l) / (k * (k / l))) / t_2)
else
tmp = 2.0d0 * (((cos(k) / k) * (l / (k / l))) / t_2)
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0);
double t_2 = t * t_1;
double tmp;
if (k <= 1.6e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / Math.sin(k)) * (l / Math.tan(k)));
} else if (k <= 1.35e+85) {
tmp = 2.0 * ((Math.cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else if (k <= 4.6e+230) {
tmp = 2.0 * (((Math.cos(k) * l) / (k * (k / l))) / t_2);
} else {
tmp = 2.0 * (((Math.cos(k) / k) * (l / (k / l))) / t_2);
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) t_2 = t * t_1 tmp = 0 if k <= 1.6e-89: tmp = (2.0 / (k * (k * t))) * ((l / math.sin(k)) * (l / math.tan(k))) elif k <= 1.35e+85: tmp = 2.0 * ((math.cos(k) / (k * k)) * ((l / t) * (l / t_1))) elif k <= 4.6e+230: tmp = 2.0 * (((math.cos(k) * l) / (k * (k / l))) / t_2) else: tmp = 2.0 * (((math.cos(k) / k) * (l / (k / l))) / t_2) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 t_2 = Float64(t * t_1) tmp = 0.0 if (k <= 1.6e-89) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(l / sin(k)) * Float64(l / tan(k)))); elseif (k <= 1.35e+85) tmp = Float64(2.0 * Float64(Float64(cos(k) / Float64(k * k)) * Float64(Float64(l / t) * Float64(l / t_1)))); elseif (k <= 4.6e+230) tmp = Float64(2.0 * Float64(Float64(Float64(cos(k) * l) / Float64(k * Float64(k / l))) / t_2)); else tmp = Float64(2.0 * Float64(Float64(Float64(cos(k) / k) * Float64(l / Float64(k / l))) / t_2)); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; t_2 = t * t_1; tmp = 0.0; if (k <= 1.6e-89) tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k))); elseif (k <= 1.35e+85) tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1))); elseif (k <= 4.6e+230) tmp = 2.0 * (((cos(k) * l) / (k * (k / l))) / t_2); else tmp = 2.0 * (((cos(k) / k) * (l / (k / l))) / t_2); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$2 = N[(t * t$95$1), $MachinePrecision]}, If[LessEqual[k, 1.6e-89], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.35e+85], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] * N[(l / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 4.6e+230], N[(2.0 * N[(N[(N[(N[Cos[k], $MachinePrecision] * l), $MachinePrecision] / N[(k * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(N[Cos[k], $MachinePrecision] / k), $MachinePrecision] * N[(l / N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
t_2 := t \cdot t_1\\
\mathbf{if}\;k \leq 1.6 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{\tan k}\right)\\
\mathbf{elif}\;k \leq 1.35 \cdot 10^{+85}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{k \cdot k} \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{t_1}\right)\right)\\
\mathbf{elif}\;k \leq 4.6 \cdot 10^{+230}:\\
\;\;\;\;2 \cdot \frac{\frac{\cos k \cdot \ell}{k \cdot \frac{k}{\ell}}}{t_2}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\frac{\cos k}{k} \cdot \frac{\ell}{\frac{k}{\ell}}}{t_2}\\
\end{array}
\end{array}
if k < 1.59999999999999999e-89Initial program 34.3%
associate-*l*34.2%
associate-*l*34.2%
associate-/r*34.2%
associate-/r/34.2%
*-commutative34.2%
times-frac34.9%
+-commutative34.9%
associate--l+39.3%
metadata-eval39.3%
+-rgt-identity39.3%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 79.2%
unpow279.2%
Simplified79.2%
Taylor expanded in k around 0 79.2%
unpow279.2%
associate-*r*83.0%
Simplified83.0%
if 1.59999999999999999e-89 < k < 1.34999999999999992e85Initial program 23.3%
associate-*l*23.4%
associate-*l*23.4%
associate-/r*23.3%
associate-/r/23.4%
*-commutative23.4%
times-frac23.4%
+-commutative23.4%
associate--l+34.8%
metadata-eval34.8%
+-rgt-identity34.8%
times-frac36.8%
Simplified36.8%
Taylor expanded in t around 0 83.2%
unpow283.2%
Simplified83.2%
Taylor expanded in k around inf 79.6%
times-frac82.3%
unpow282.3%
unpow282.3%
*-commutative82.3%
times-frac95.9%
Simplified95.9%
if 1.34999999999999992e85 < k < 4.5999999999999996e230Initial program 36.1%
associate-*l*36.1%
associate-*l*36.1%
associate-/r*36.1%
associate-/r/36.1%
*-commutative36.1%
times-frac35.9%
+-commutative35.9%
associate--l+53.8%
metadata-eval53.8%
+-rgt-identity53.8%
times-frac53.8%
Simplified53.8%
Taylor expanded in t around 0 69.4%
associate-/r*69.7%
unpow269.7%
unpow269.7%
*-commutative69.7%
Simplified69.7%
Taylor expanded in k around inf 69.7%
unpow269.7%
times-frac70.4%
unpow270.4%
associate-/l*82.7%
Simplified82.7%
frac-times99.7%
Applied egg-rr99.7%
if 4.5999999999999996e230 < k Initial program 50.0%
associate-*l*50.0%
associate-*l*50.0%
associate-/r*50.0%
associate-/r/50.0%
*-commutative50.0%
times-frac50.0%
+-commutative50.0%
associate--l+54.2%
metadata-eval54.2%
+-rgt-identity54.2%
times-frac54.2%
Simplified54.2%
Taylor expanded in t around 0 58.7%
associate-/r*58.7%
unpow258.7%
unpow258.7%
*-commutative58.7%
Simplified58.7%
Taylor expanded in k around inf 58.7%
unpow258.7%
times-frac63.6%
unpow263.6%
associate-/l*87.8%
Simplified87.8%
Final simplification88.6%
(FPCore (t l k)
:precision binary64
(if (<= k 1.6e-89)
(* (/ 2.0 (* k (* k t))) (* (/ l (sin k)) (/ l (tan k))))
(if (<= k 2.6e+143)
(* 2.0 (* (/ (cos k) (* k k)) (* (/ l t) (/ l (pow (sin k) 2.0)))))
(/
(* 2.0 (* (/ t k) (/ t k)))
(* (* (/ t l) (/ t (/ l t))) (* (sin k) (tan k)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.6e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)));
} else if (k <= 2.6e+143) {
tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / pow(sin(k), 2.0))));
} else {
tmp = (2.0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (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 <= 1.6d-89) then
tmp = (2.0d0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)))
else if (k <= 2.6d+143) then
tmp = 2.0d0 * ((cos(k) / (k * k)) * ((l / t) * (l / (sin(k) ** 2.0d0))))
else
tmp = (2.0d0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (sin(k) * tan(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.6e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / Math.sin(k)) * (l / Math.tan(k)));
} else if (k <= 2.6e+143) {
tmp = 2.0 * ((Math.cos(k) / (k * k)) * ((l / t) * (l / Math.pow(Math.sin(k), 2.0))));
} else {
tmp = (2.0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (Math.sin(k) * Math.tan(k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.6e-89: tmp = (2.0 / (k * (k * t))) * ((l / math.sin(k)) * (l / math.tan(k))) elif k <= 2.6e+143: tmp = 2.0 * ((math.cos(k) / (k * k)) * ((l / t) * (l / math.pow(math.sin(k), 2.0)))) else: tmp = (2.0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (math.sin(k) * math.tan(k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.6e-89) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(l / sin(k)) * Float64(l / tan(k)))); elseif (k <= 2.6e+143) tmp = Float64(2.0 * Float64(Float64(cos(k) / Float64(k * k)) * Float64(Float64(l / t) * Float64(l / (sin(k) ^ 2.0))))); else tmp = Float64(Float64(2.0 * Float64(Float64(t / k) * Float64(t / k))) / Float64(Float64(Float64(t / l) * Float64(t / Float64(l / t))) * Float64(sin(k) * tan(k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.6e-89) tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k))); elseif (k <= 2.6e+143) tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / (sin(k) ^ 2.0)))); else tmp = (2.0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (sin(k) * tan(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.6e-89], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.6e+143], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] * N[(l / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(2.0 * N[(N[(t / k), $MachinePrecision] * N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(t / l), $MachinePrecision] * N[(t / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.6 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{\tan k}\right)\\
\mathbf{elif}\;k \leq 2.6 \cdot 10^{+143}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{k \cdot k} \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{{\sin k}^{2}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot \left(\frac{t}{k} \cdot \frac{t}{k}\right)}{\left(\frac{t}{\ell} \cdot \frac{t}{\frac{\ell}{t}}\right) \cdot \left(\sin k \cdot \tan k\right)}\\
\end{array}
\end{array}
if k < 1.59999999999999999e-89Initial program 34.3%
associate-*l*34.2%
associate-*l*34.2%
associate-/r*34.2%
associate-/r/34.2%
*-commutative34.2%
times-frac34.9%
+-commutative34.9%
associate--l+39.3%
metadata-eval39.3%
+-rgt-identity39.3%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 79.2%
unpow279.2%
Simplified79.2%
Taylor expanded in k around 0 79.2%
unpow279.2%
associate-*r*83.0%
Simplified83.0%
if 1.59999999999999999e-89 < k < 2.5999999999999999e143Initial program 24.9%
associate-*l*24.9%
associate-*l*24.9%
associate-/r*24.9%
associate-/r/24.9%
*-commutative24.9%
times-frac24.9%
+-commutative24.9%
associate--l+38.6%
metadata-eval38.6%
+-rgt-identity38.6%
times-frac40.2%
Simplified40.2%
Taylor expanded in t around 0 82.1%
unpow282.1%
Simplified82.1%
Taylor expanded in k around inf 79.2%
times-frac81.4%
unpow281.4%
unpow281.4%
*-commutative81.4%
times-frac93.8%
Simplified93.8%
if 2.5999999999999999e143 < k Initial program 44.0%
associate-/l/44.0%
associate-*l*44.0%
+-commutative44.0%
associate--l+54.0%
metadata-eval54.0%
Simplified54.0%
unpow354.0%
times-frac66.5%
Applied egg-rr66.5%
Taylor expanded in k around 0 30.3%
unpow230.3%
unpow230.3%
Simplified30.3%
Taylor expanded in t around 0 30.3%
unpow230.3%
unpow230.3%
times-frac66.5%
Simplified66.5%
Taylor expanded in t around 0 66.5%
unpow266.5%
associate-/l*79.9%
Simplified79.9%
Final simplification85.1%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)))
(if (<= k 1.55e-89)
(* (/ 2.0 (* k (* k t))) (* (/ l (sin k)) (/ l (tan k))))
(if (<= k 4.6e+139)
(* 2.0 (* (/ (cos k) (* k k)) (* (/ l t) (/ l t_1))))
(* 2.0 (* (/ (cos k) (* k t)) (/ (* l (/ l k)) t_1)))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double tmp;
if (k <= 1.55e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)));
} else if (k <= 4.6e+139) {
tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else {
tmp = 2.0 * ((cos(k) / (k * t)) * ((l * (l / k)) / t_1));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = sin(k) ** 2.0d0
if (k <= 1.55d-89) then
tmp = (2.0d0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)))
else if (k <= 4.6d+139) then
tmp = 2.0d0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)))
else
tmp = 2.0d0 * ((cos(k) / (k * t)) * ((l * (l / k)) / t_1))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0);
double tmp;
if (k <= 1.55e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / Math.sin(k)) * (l / Math.tan(k)));
} else if (k <= 4.6e+139) {
tmp = 2.0 * ((Math.cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else {
tmp = 2.0 * ((Math.cos(k) / (k * t)) * ((l * (l / k)) / t_1));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) tmp = 0 if k <= 1.55e-89: tmp = (2.0 / (k * (k * t))) * ((l / math.sin(k)) * (l / math.tan(k))) elif k <= 4.6e+139: tmp = 2.0 * ((math.cos(k) / (k * k)) * ((l / t) * (l / t_1))) else: tmp = 2.0 * ((math.cos(k) / (k * t)) * ((l * (l / k)) / t_1)) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 tmp = 0.0 if (k <= 1.55e-89) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(l / sin(k)) * Float64(l / tan(k)))); elseif (k <= 4.6e+139) tmp = Float64(2.0 * Float64(Float64(cos(k) / Float64(k * k)) * Float64(Float64(l / t) * Float64(l / t_1)))); else tmp = Float64(2.0 * Float64(Float64(cos(k) / Float64(k * t)) * Float64(Float64(l * Float64(l / k)) / t_1))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; tmp = 0.0; if (k <= 1.55e-89) tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k))); elseif (k <= 4.6e+139) tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1))); else tmp = 2.0 * ((cos(k) / (k * t)) * ((l * (l / k)) / t_1)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[k, 1.55e-89], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 4.6e+139], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] * N[(l / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[(k * t), $MachinePrecision]), $MachinePrecision] * N[(N[(l * N[(l / k), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
\mathbf{if}\;k \leq 1.55 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{\tan k}\right)\\
\mathbf{elif}\;k \leq 4.6 \cdot 10^{+139}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{k \cdot k} \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{t_1}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{k \cdot t} \cdot \frac{\ell \cdot \frac{\ell}{k}}{t_1}\right)\\
\end{array}
\end{array}
if k < 1.54999999999999998e-89Initial program 34.3%
associate-*l*34.2%
associate-*l*34.2%
associate-/r*34.2%
associate-/r/34.2%
*-commutative34.2%
times-frac34.9%
+-commutative34.9%
associate--l+39.3%
metadata-eval39.3%
+-rgt-identity39.3%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 79.2%
unpow279.2%
Simplified79.2%
Taylor expanded in k around 0 79.2%
unpow279.2%
associate-*r*83.0%
Simplified83.0%
if 1.54999999999999998e-89 < k < 4.6e139Initial program 25.2%
associate-*l*25.2%
associate-*l*25.2%
associate-/r*25.2%
associate-/r/25.2%
*-commutative25.2%
times-frac25.3%
+-commutative25.3%
associate--l+39.2%
metadata-eval39.2%
+-rgt-identity39.2%
times-frac40.8%
Simplified40.8%
Taylor expanded in t around 0 83.3%
unpow283.3%
Simplified83.3%
Taylor expanded in k around inf 80.4%
times-frac82.6%
unpow282.6%
unpow282.6%
*-commutative82.6%
times-frac95.2%
Simplified95.2%
if 4.6e139 < k Initial program 43.3%
associate-*l*43.3%
associate-*l*43.3%
associate-/r*43.3%
associate-/r/43.3%
*-commutative43.3%
times-frac43.1%
+-commutative43.1%
associate--l+52.9%
metadata-eval52.9%
+-rgt-identity52.9%
times-frac52.9%
Simplified52.9%
Taylor expanded in t around 0 61.0%
associate-/r*61.1%
unpow261.1%
unpow261.1%
*-commutative61.1%
Simplified61.1%
Taylor expanded in k around inf 61.1%
unpow261.1%
times-frac63.9%
unpow263.9%
associate-/l*82.8%
Simplified82.8%
Taylor expanded in k around inf 61.0%
associate-/r*61.1%
*-commutative61.1%
unpow261.1%
times-frac63.9%
unpow263.9%
associate-*l/82.8%
times-frac75.4%
*-commutative75.4%
associate-/r*75.4%
*-commutative75.4%
Simplified75.4%
Final simplification84.5%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)))
(if (<= k 1.6e-89)
(* (/ 2.0 (* k (* k t))) (* (/ l (sin k)) (/ l (tan k))))
(if (<= k 1.4e+85)
(* 2.0 (* (/ (cos k) (* k k)) (* (/ l t) (/ l t_1))))
(* 2.0 (/ (* (/ (cos k) k) (/ l (/ k l))) (* t t_1)))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double tmp;
if (k <= 1.6e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)));
} else if (k <= 1.4e+85) {
tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else {
tmp = 2.0 * (((cos(k) / k) * (l / (k / l))) / (t * t_1));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = sin(k) ** 2.0d0
if (k <= 1.6d-89) then
tmp = (2.0d0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)))
else if (k <= 1.4d+85) then
tmp = 2.0d0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)))
else
tmp = 2.0d0 * (((cos(k) / k) * (l / (k / l))) / (t * t_1))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0);
double tmp;
if (k <= 1.6e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / Math.sin(k)) * (l / Math.tan(k)));
} else if (k <= 1.4e+85) {
tmp = 2.0 * ((Math.cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else {
tmp = 2.0 * (((Math.cos(k) / k) * (l / (k / l))) / (t * t_1));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) tmp = 0 if k <= 1.6e-89: tmp = (2.0 / (k * (k * t))) * ((l / math.sin(k)) * (l / math.tan(k))) elif k <= 1.4e+85: tmp = 2.0 * ((math.cos(k) / (k * k)) * ((l / t) * (l / t_1))) else: tmp = 2.0 * (((math.cos(k) / k) * (l / (k / l))) / (t * t_1)) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 tmp = 0.0 if (k <= 1.6e-89) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(l / sin(k)) * Float64(l / tan(k)))); elseif (k <= 1.4e+85) tmp = Float64(2.0 * Float64(Float64(cos(k) / Float64(k * k)) * Float64(Float64(l / t) * Float64(l / t_1)))); else tmp = Float64(2.0 * Float64(Float64(Float64(cos(k) / k) * Float64(l / Float64(k / l))) / Float64(t * t_1))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; tmp = 0.0; if (k <= 1.6e-89) tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k))); elseif (k <= 1.4e+85) tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1))); else tmp = 2.0 * (((cos(k) / k) * (l / (k / l))) / (t * t_1)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[k, 1.6e-89], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.4e+85], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] * N[(l / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(N[Cos[k], $MachinePrecision] / k), $MachinePrecision] * N[(l / N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
\mathbf{if}\;k \leq 1.6 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{\tan k}\right)\\
\mathbf{elif}\;k \leq 1.4 \cdot 10^{+85}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{k \cdot k} \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{t_1}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\frac{\cos k}{k} \cdot \frac{\ell}{\frac{k}{\ell}}}{t \cdot t_1}\\
\end{array}
\end{array}
if k < 1.59999999999999999e-89Initial program 34.3%
associate-*l*34.2%
associate-*l*34.2%
associate-/r*34.2%
associate-/r/34.2%
*-commutative34.2%
times-frac34.9%
+-commutative34.9%
associate--l+39.3%
metadata-eval39.3%
+-rgt-identity39.3%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 79.2%
unpow279.2%
Simplified79.2%
Taylor expanded in k around 0 79.2%
unpow279.2%
associate-*r*83.0%
Simplified83.0%
if 1.59999999999999999e-89 < k < 1.4e85Initial program 23.3%
associate-*l*23.4%
associate-*l*23.4%
associate-/r*23.3%
associate-/r/23.4%
*-commutative23.4%
times-frac23.4%
+-commutative23.4%
associate--l+34.8%
metadata-eval34.8%
+-rgt-identity34.8%
times-frac36.8%
Simplified36.8%
Taylor expanded in t around 0 83.2%
unpow283.2%
Simplified83.2%
Taylor expanded in k around inf 79.6%
times-frac82.3%
unpow282.3%
unpow282.3%
*-commutative82.3%
times-frac95.9%
Simplified95.9%
if 1.4e85 < k Initial program 41.4%
associate-*l*41.4%
associate-*l*41.4%
associate-/r*41.4%
associate-/r/41.4%
*-commutative41.4%
times-frac41.3%
+-commutative41.3%
associate--l+54.0%
metadata-eval54.0%
+-rgt-identity54.0%
times-frac54.0%
Simplified54.0%
Taylor expanded in t around 0 65.3%
associate-/r*65.5%
unpow265.5%
unpow265.5%
*-commutative65.5%
Simplified65.5%
Taylor expanded in k around inf 65.5%
unpow265.5%
times-frac67.8%
unpow267.8%
associate-/l*84.6%
Simplified84.6%
Final simplification86.0%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)))
(if (<= k 1.6e-89)
(* (/ 2.0 (* k (* k t))) (* (/ l (sin k)) (/ l (tan k))))
(if (<= k 2.3e+82)
(* 2.0 (* (/ (cos k) (* k k)) (* (/ l t) (/ l t_1))))
(* 2.0 (/ (/ (* (/ (cos k) k) l) (/ k l)) (* t t_1)))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double tmp;
if (k <= 1.6e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)));
} else if (k <= 2.3e+82) {
tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else {
tmp = 2.0 * ((((cos(k) / k) * l) / (k / l)) / (t * t_1));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = sin(k) ** 2.0d0
if (k <= 1.6d-89) then
tmp = (2.0d0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)))
else if (k <= 2.3d+82) then
tmp = 2.0d0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)))
else
tmp = 2.0d0 * ((((cos(k) / k) * l) / (k / l)) / (t * t_1))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0);
double tmp;
if (k <= 1.6e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / Math.sin(k)) * (l / Math.tan(k)));
} else if (k <= 2.3e+82) {
tmp = 2.0 * ((Math.cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else {
tmp = 2.0 * ((((Math.cos(k) / k) * l) / (k / l)) / (t * t_1));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) tmp = 0 if k <= 1.6e-89: tmp = (2.0 / (k * (k * t))) * ((l / math.sin(k)) * (l / math.tan(k))) elif k <= 2.3e+82: tmp = 2.0 * ((math.cos(k) / (k * k)) * ((l / t) * (l / t_1))) else: tmp = 2.0 * ((((math.cos(k) / k) * l) / (k / l)) / (t * t_1)) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 tmp = 0.0 if (k <= 1.6e-89) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(l / sin(k)) * Float64(l / tan(k)))); elseif (k <= 2.3e+82) tmp = Float64(2.0 * Float64(Float64(cos(k) / Float64(k * k)) * Float64(Float64(l / t) * Float64(l / t_1)))); else tmp = Float64(2.0 * Float64(Float64(Float64(Float64(cos(k) / k) * l) / Float64(k / l)) / Float64(t * t_1))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; tmp = 0.0; if (k <= 1.6e-89) tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k))); elseif (k <= 2.3e+82) tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1))); else tmp = 2.0 * ((((cos(k) / k) * l) / (k / l)) / (t * t_1)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[k, 1.6e-89], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.3e+82], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] * N[(l / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(N[(N[Cos[k], $MachinePrecision] / k), $MachinePrecision] * l), $MachinePrecision] / N[(k / l), $MachinePrecision]), $MachinePrecision] / N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
\mathbf{if}\;k \leq 1.6 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{\tan k}\right)\\
\mathbf{elif}\;k \leq 2.3 \cdot 10^{+82}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{k \cdot k} \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{t_1}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\frac{\frac{\cos k}{k} \cdot \ell}{\frac{k}{\ell}}}{t \cdot t_1}\\
\end{array}
\end{array}
if k < 1.59999999999999999e-89Initial program 34.3%
associate-*l*34.2%
associate-*l*34.2%
associate-/r*34.2%
associate-/r/34.2%
*-commutative34.2%
times-frac34.9%
+-commutative34.9%
associate--l+39.3%
metadata-eval39.3%
+-rgt-identity39.3%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 79.2%
unpow279.2%
Simplified79.2%
Taylor expanded in k around 0 79.2%
unpow279.2%
associate-*r*83.0%
Simplified83.0%
if 1.59999999999999999e-89 < k < 2.29999999999999988e82Initial program 21.9%
associate-*l*21.9%
associate-*l*21.9%
associate-/r*21.8%
associate-/r/21.9%
*-commutative21.9%
times-frac21.9%
+-commutative21.9%
associate--l+33.6%
metadata-eval33.6%
+-rgt-identity33.6%
times-frac35.6%
Simplified35.6%
Taylor expanded in t around 0 82.9%
unpow282.9%
Simplified82.9%
Taylor expanded in k around inf 79.2%
times-frac82.0%
unpow282.0%
unpow282.0%
*-commutative82.0%
times-frac95.8%
Simplified95.8%
if 2.29999999999999988e82 < k Initial program 42.3%
associate-*l*42.3%
associate-*l*42.3%
associate-/r*42.3%
associate-/r/42.3%
*-commutative42.3%
times-frac42.2%
+-commutative42.2%
associate--l+54.7%
metadata-eval54.7%
+-rgt-identity54.7%
times-frac54.7%
Simplified54.7%
Taylor expanded in t around 0 65.9%
associate-/r*66.0%
unpow266.0%
unpow266.0%
*-commutative66.0%
Simplified66.0%
Taylor expanded in k around inf 66.0%
unpow266.0%
times-frac68.2%
unpow268.2%
associate-/l*84.8%
Simplified84.8%
associate-*r/98.1%
Applied egg-rr98.1%
Final simplification89.3%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)))
(if (<= k 1.5e-89)
(* (/ 2.0 (* k (* k t))) (* (/ l (sin k)) (/ l (tan k))))
(if (<= k 1.26e+85)
(* 2.0 (* (/ (cos k) (* k k)) (* (/ l t) (/ l t_1))))
(* 2.0 (/ (/ (/ (* (cos k) l) k) (/ k l)) (* t t_1)))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double tmp;
if (k <= 1.5e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)));
} else if (k <= 1.26e+85) {
tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else {
tmp = 2.0 * ((((cos(k) * l) / k) / (k / l)) / (t * t_1));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = sin(k) ** 2.0d0
if (k <= 1.5d-89) then
tmp = (2.0d0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)))
else if (k <= 1.26d+85) then
tmp = 2.0d0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1)))
else
tmp = 2.0d0 * ((((cos(k) * l) / k) / (k / l)) / (t * t_1))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0);
double tmp;
if (k <= 1.5e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / Math.sin(k)) * (l / Math.tan(k)));
} else if (k <= 1.26e+85) {
tmp = 2.0 * ((Math.cos(k) / (k * k)) * ((l / t) * (l / t_1)));
} else {
tmp = 2.0 * ((((Math.cos(k) * l) / k) / (k / l)) / (t * t_1));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) tmp = 0 if k <= 1.5e-89: tmp = (2.0 / (k * (k * t))) * ((l / math.sin(k)) * (l / math.tan(k))) elif k <= 1.26e+85: tmp = 2.0 * ((math.cos(k) / (k * k)) * ((l / t) * (l / t_1))) else: tmp = 2.0 * ((((math.cos(k) * l) / k) / (k / l)) / (t * t_1)) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 tmp = 0.0 if (k <= 1.5e-89) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(l / sin(k)) * Float64(l / tan(k)))); elseif (k <= 1.26e+85) tmp = Float64(2.0 * Float64(Float64(cos(k) / Float64(k * k)) * Float64(Float64(l / t) * Float64(l / t_1)))); else tmp = Float64(2.0 * Float64(Float64(Float64(Float64(cos(k) * l) / k) / Float64(k / l)) / Float64(t * t_1))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; tmp = 0.0; if (k <= 1.5e-89) tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k))); elseif (k <= 1.26e+85) tmp = 2.0 * ((cos(k) / (k * k)) * ((l / t) * (l / t_1))); else tmp = 2.0 * ((((cos(k) * l) / k) / (k / l)) / (t * t_1)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[k, 1.5e-89], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.26e+85], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] * N[(l / t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(N[(N[Cos[k], $MachinePrecision] * l), $MachinePrecision] / k), $MachinePrecision] / N[(k / l), $MachinePrecision]), $MachinePrecision] / N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
\mathbf{if}\;k \leq 1.5 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{\tan k}\right)\\
\mathbf{elif}\;k \leq 1.26 \cdot 10^{+85}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{k \cdot k} \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{t_1}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\frac{\frac{\cos k \cdot \ell}{k}}{\frac{k}{\ell}}}{t \cdot t_1}\\
\end{array}
\end{array}
if k < 1.5e-89Initial program 34.3%
associate-*l*34.2%
associate-*l*34.2%
associate-/r*34.2%
associate-/r/34.2%
*-commutative34.2%
times-frac34.9%
+-commutative34.9%
associate--l+39.3%
metadata-eval39.3%
+-rgt-identity39.3%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 79.2%
unpow279.2%
Simplified79.2%
Taylor expanded in k around 0 79.2%
unpow279.2%
associate-*r*83.0%
Simplified83.0%
if 1.5e-89 < k < 1.26000000000000003e85Initial program 23.3%
associate-*l*23.4%
associate-*l*23.4%
associate-/r*23.3%
associate-/r/23.4%
*-commutative23.4%
times-frac23.4%
+-commutative23.4%
associate--l+34.8%
metadata-eval34.8%
+-rgt-identity34.8%
times-frac36.8%
Simplified36.8%
Taylor expanded in t around 0 83.2%
unpow283.2%
Simplified83.2%
Taylor expanded in k around inf 79.6%
times-frac82.3%
unpow282.3%
unpow282.3%
*-commutative82.3%
times-frac95.9%
Simplified95.9%
if 1.26000000000000003e85 < k Initial program 41.4%
associate-*l*41.4%
associate-*l*41.4%
associate-/r*41.4%
associate-/r/41.4%
*-commutative41.4%
times-frac41.3%
+-commutative41.3%
associate--l+54.0%
metadata-eval54.0%
+-rgt-identity54.0%
times-frac54.0%
Simplified54.0%
Taylor expanded in t around 0 65.3%
associate-/r*65.5%
unpow265.5%
unpow265.5%
*-commutative65.5%
Simplified65.5%
Taylor expanded in k around inf 65.5%
unpow265.5%
times-frac67.8%
unpow267.8%
associate-/l*84.6%
Simplified84.6%
associate-*r/98.1%
Applied egg-rr98.1%
Taylor expanded in k around inf 98.2%
Final simplification89.4%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (sin k) 2.0)))
(if (<= k 1.55e-89)
(* (/ 2.0 (* k (* k t))) (* (/ l (sin k)) (/ l (tan k))))
(if (<= k 1.52e+85)
(/ 2.0 (* (/ (* k k) (cos k)) (* (/ t l) (/ t_1 l))))
(* 2.0 (/ (/ (/ (* (cos k) l) k) (/ k l)) (* t t_1)))))))
double code(double t, double l, double k) {
double t_1 = pow(sin(k), 2.0);
double tmp;
if (k <= 1.55e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)));
} else if (k <= 1.52e+85) {
tmp = 2.0 / (((k * k) / cos(k)) * ((t / l) * (t_1 / l)));
} else {
tmp = 2.0 * ((((cos(k) * l) / k) / (k / l)) / (t * t_1));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = sin(k) ** 2.0d0
if (k <= 1.55d-89) then
tmp = (2.0d0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)))
else if (k <= 1.52d+85) then
tmp = 2.0d0 / (((k * k) / cos(k)) * ((t / l) * (t_1 / l)))
else
tmp = 2.0d0 * ((((cos(k) * l) / k) / (k / l)) / (t * t_1))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.pow(Math.sin(k), 2.0);
double tmp;
if (k <= 1.55e-89) {
tmp = (2.0 / (k * (k * t))) * ((l / Math.sin(k)) * (l / Math.tan(k)));
} else if (k <= 1.52e+85) {
tmp = 2.0 / (((k * k) / Math.cos(k)) * ((t / l) * (t_1 / l)));
} else {
tmp = 2.0 * ((((Math.cos(k) * l) / k) / (k / l)) / (t * t_1));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow(math.sin(k), 2.0) tmp = 0 if k <= 1.55e-89: tmp = (2.0 / (k * (k * t))) * ((l / math.sin(k)) * (l / math.tan(k))) elif k <= 1.52e+85: tmp = 2.0 / (((k * k) / math.cos(k)) * ((t / l) * (t_1 / l))) else: tmp = 2.0 * ((((math.cos(k) * l) / k) / (k / l)) / (t * t_1)) return tmp
function code(t, l, k) t_1 = sin(k) ^ 2.0 tmp = 0.0 if (k <= 1.55e-89) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(l / sin(k)) * Float64(l / tan(k)))); elseif (k <= 1.52e+85) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / cos(k)) * Float64(Float64(t / l) * Float64(t_1 / l)))); else tmp = Float64(2.0 * Float64(Float64(Float64(Float64(cos(k) * l) / k) / Float64(k / l)) / Float64(t * t_1))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = sin(k) ^ 2.0; tmp = 0.0; if (k <= 1.55e-89) tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k))); elseif (k <= 1.52e+85) tmp = 2.0 / (((k * k) / cos(k)) * ((t / l) * (t_1 / l))); else tmp = 2.0 * ((((cos(k) * l) / k) / (k / l)) / (t * t_1)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[k, 1.55e-89], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.52e+85], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t$95$1 / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(N[(N[Cos[k], $MachinePrecision] * l), $MachinePrecision] / k), $MachinePrecision] / N[(k / l), $MachinePrecision]), $MachinePrecision] / N[(t * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\sin k}^{2}\\
\mathbf{if}\;k \leq 1.55 \cdot 10^{-89}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{\tan k}\right)\\
\mathbf{elif}\;k \leq 1.52 \cdot 10^{+85}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\cos k} \cdot \left(\frac{t}{\ell} \cdot \frac{t_1}{\ell}\right)}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\frac{\frac{\cos k \cdot \ell}{k}}{\frac{k}{\ell}}}{t \cdot t_1}\\
\end{array}
\end{array}
if k < 1.54999999999999998e-89Initial program 34.3%
associate-*l*34.2%
associate-*l*34.2%
associate-/r*34.2%
associate-/r/34.2%
*-commutative34.2%
times-frac34.9%
+-commutative34.9%
associate--l+39.3%
metadata-eval39.3%
+-rgt-identity39.3%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 79.2%
unpow279.2%
Simplified79.2%
Taylor expanded in k around 0 79.2%
unpow279.2%
associate-*r*83.0%
Simplified83.0%
if 1.54999999999999998e-89 < k < 1.52e85Initial program 23.3%
+-rgt-identity19.3%
associate-*l*19.3%
mul0-rgt21.5%
distribute-lft-in23.4%
+-rgt-identity23.4%
sub-neg23.4%
+-commutative23.4%
associate-+l+34.8%
metadata-eval34.8%
metadata-eval34.8%
+-rgt-identity34.8%
Simplified34.8%
unpow334.8%
times-frac38.6%
Applied egg-rr38.6%
Taylor expanded in t around 0 79.6%
times-frac82.9%
unpow282.9%
*-commutative82.9%
unpow282.9%
times-frac96.6%
Simplified96.6%
if 1.52e85 < k Initial program 41.4%
associate-*l*41.4%
associate-*l*41.4%
associate-/r*41.4%
associate-/r/41.4%
*-commutative41.4%
times-frac41.3%
+-commutative41.3%
associate--l+54.0%
metadata-eval54.0%
+-rgt-identity54.0%
times-frac54.0%
Simplified54.0%
Taylor expanded in t around 0 65.3%
associate-/r*65.5%
unpow265.5%
unpow265.5%
*-commutative65.5%
Simplified65.5%
Taylor expanded in k around inf 65.5%
unpow265.5%
times-frac67.8%
unpow267.8%
associate-/l*84.6%
Simplified84.6%
associate-*r/98.1%
Applied egg-rr98.1%
Taylor expanded in k around inf 98.2%
Final simplification89.5%
(FPCore (t l k)
:precision binary64
(if (<= k 1.85e-10)
(* 2.0 (* (/ (/ l k) t) (/ (/ l k) (* k k))))
(if (<= k 2.15e+132)
(* (/ 2.0 (* k (* k t))) (/ (/ (* l l) (sin k)) (tan k)))
(/
(* 2.0 (* (/ t k) (/ t k)))
(* (* (/ t l) (/ t (/ l t))) (* (sin k) (tan k)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.85e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else if (k <= 2.15e+132) {
tmp = (2.0 / (k * (k * t))) * (((l * l) / sin(k)) / tan(k));
} else {
tmp = (2.0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (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 <= 1.85d-10) then
tmp = 2.0d0 * (((l / k) / t) * ((l / k) / (k * k)))
else if (k <= 2.15d+132) then
tmp = (2.0d0 / (k * (k * t))) * (((l * l) / sin(k)) / tan(k))
else
tmp = (2.0d0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (sin(k) * tan(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.85e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else if (k <= 2.15e+132) {
tmp = (2.0 / (k * (k * t))) * (((l * l) / Math.sin(k)) / Math.tan(k));
} else {
tmp = (2.0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (Math.sin(k) * Math.tan(k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.85e-10: tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))) elif k <= 2.15e+132: tmp = (2.0 / (k * (k * t))) * (((l * l) / math.sin(k)) / math.tan(k)) else: tmp = (2.0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (math.sin(k) * math.tan(k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.85e-10) tmp = Float64(2.0 * Float64(Float64(Float64(l / k) / t) * Float64(Float64(l / k) / Float64(k * k)))); elseif (k <= 2.15e+132) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(Float64(l * l) / sin(k)) / tan(k))); else tmp = Float64(Float64(2.0 * Float64(Float64(t / k) * Float64(t / k))) / Float64(Float64(Float64(t / l) * Float64(t / Float64(l / t))) * Float64(sin(k) * tan(k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.85e-10) tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))); elseif (k <= 2.15e+132) tmp = (2.0 / (k * (k * t))) * (((l * l) / sin(k)) / tan(k)); else tmp = (2.0 * ((t / k) * (t / k))) / (((t / l) * (t / (l / t))) * (sin(k) * tan(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.85e-10], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l / k), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.15e+132], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[(l * l), $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision] / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(2.0 * N[(N[(t / k), $MachinePrecision] * N[(t / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(N[(t / l), $MachinePrecision] * N[(t / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.85 \cdot 10^{-10}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{k}}{t} \cdot \frac{\frac{\ell}{k}}{k \cdot k}\right)\\
\mathbf{elif}\;k \leq 2.15 \cdot 10^{+132}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \frac{\frac{\ell \cdot \ell}{\sin k}}{\tan k}\\
\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot \left(\frac{t}{k} \cdot \frac{t}{k}\right)}{\left(\frac{t}{\ell} \cdot \frac{t}{\frac{\ell}{t}}\right) \cdot \left(\sin k \cdot \tan k\right)}\\
\end{array}
\end{array}
if k < 1.85000000000000007e-10Initial program 31.4%
associate-*l*31.3%
associate-*l*31.3%
associate-/r*31.3%
associate-/r/31.3%
*-commutative31.3%
times-frac31.9%
+-commutative31.9%
associate--l+37.4%
metadata-eval37.4%
+-rgt-identity37.4%
times-frac44.1%
Simplified44.1%
Taylor expanded in t around 0 66.3%
associate-/r*68.1%
unpow268.1%
unpow268.1%
*-commutative68.1%
Simplified68.1%
Taylor expanded in k around 0 61.4%
unpow261.4%
Simplified61.4%
Taylor expanded in k around 0 60.5%
unpow260.5%
unpow260.5%
times-frac72.4%
Simplified72.4%
times-frac76.3%
Applied egg-rr76.3%
if 1.85000000000000007e-10 < k < 2.14999999999999991e132Initial program 34.2%
associate-*l*34.3%
associate-*l*34.3%
associate-/r*34.2%
associate-/r/34.3%
*-commutative34.3%
times-frac34.3%
+-commutative34.3%
associate--l+45.0%
metadata-eval45.0%
+-rgt-identity45.0%
times-frac44.9%
Simplified44.9%
Taylor expanded in t around 0 92.0%
unpow292.0%
Simplified92.0%
associate-*l/92.1%
associate-*l*92.2%
Applied egg-rr92.2%
associate-*l/92.1%
*-commutative92.1%
associate-*r/92.0%
associate-*l/92.2%
Simplified92.2%
if 2.14999999999999991e132 < k Initial program 40.9%
associate-/l/40.9%
associate-*l*40.9%
+-commutative40.9%
associate--l+53.8%
metadata-eval53.8%
Simplified53.8%
unpow353.8%
times-frac65.5%
Applied egg-rr65.5%
Taylor expanded in k around 0 28.2%
unpow228.2%
unpow228.2%
Simplified28.2%
Taylor expanded in t around 0 28.2%
unpow228.2%
unpow228.2%
times-frac65.5%
Simplified65.5%
Taylor expanded in t around 0 65.5%
unpow265.5%
associate-/l*79.6%
Simplified79.6%
Final simplification79.3%
(FPCore (t l k)
:precision binary64
(if (<= k 1.85e-10)
(* 2.0 (* (/ (/ l k) t) (/ (/ l k) (* k k))))
(if (<= k 6e+197)
(* (/ 2.0 (* k (* k t))) (* (/ l (sin k)) (/ l (tan k))))
(* 2.0 (/ (* (/ l k) (/ l k)) (* t (pow (sin k) 2.0)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.85e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else if (k <= 6e+197) {
tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)));
} else {
tmp = 2.0 * (((l / k) * (l / k)) / (t * pow(sin(k), 2.0)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 1.85d-10) then
tmp = 2.0d0 * (((l / k) / t) * ((l / k) / (k * k)))
else if (k <= 6d+197) then
tmp = (2.0d0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k)))
else
tmp = 2.0d0 * (((l / k) * (l / k)) / (t * (sin(k) ** 2.0d0)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.85e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else if (k <= 6e+197) {
tmp = (2.0 / (k * (k * t))) * ((l / Math.sin(k)) * (l / Math.tan(k)));
} else {
tmp = 2.0 * (((l / k) * (l / k)) / (t * Math.pow(Math.sin(k), 2.0)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.85e-10: tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))) elif k <= 6e+197: tmp = (2.0 / (k * (k * t))) * ((l / math.sin(k)) * (l / math.tan(k))) else: tmp = 2.0 * (((l / k) * (l / k)) / (t * math.pow(math.sin(k), 2.0))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.85e-10) tmp = Float64(2.0 * Float64(Float64(Float64(l / k) / t) * Float64(Float64(l / k) / Float64(k * k)))); elseif (k <= 6e+197) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(l / sin(k)) * Float64(l / tan(k)))); else tmp = Float64(2.0 * Float64(Float64(Float64(l / k) * Float64(l / k)) / Float64(t * (sin(k) ^ 2.0)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.85e-10) tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))); elseif (k <= 6e+197) tmp = (2.0 / (k * (k * t))) * ((l / sin(k)) * (l / tan(k))); else tmp = 2.0 * (((l / k) * (l / k)) / (t * (sin(k) ^ 2.0))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.85e-10], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l / k), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 6e+197], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] / N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.85 \cdot 10^{-10}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{k}}{t} \cdot \frac{\frac{\ell}{k}}{k \cdot k}\right)\\
\mathbf{elif}\;k \leq 6 \cdot 10^{+197}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{\tan k}\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\frac{\ell}{k} \cdot \frac{\ell}{k}}{t \cdot {\sin k}^{2}}\\
\end{array}
\end{array}
if k < 1.85000000000000007e-10Initial program 31.4%
associate-*l*31.3%
associate-*l*31.3%
associate-/r*31.3%
associate-/r/31.3%
*-commutative31.3%
times-frac31.9%
+-commutative31.9%
associate--l+37.4%
metadata-eval37.4%
+-rgt-identity37.4%
times-frac44.1%
Simplified44.1%
Taylor expanded in t around 0 66.3%
associate-/r*68.1%
unpow268.1%
unpow268.1%
*-commutative68.1%
Simplified68.1%
Taylor expanded in k around 0 61.4%
unpow261.4%
Simplified61.4%
Taylor expanded in k around 0 60.5%
unpow260.5%
unpow260.5%
times-frac72.4%
Simplified72.4%
times-frac76.3%
Applied egg-rr76.3%
if 1.85000000000000007e-10 < k < 6.0000000000000004e197Initial program 32.9%
associate-*l*32.9%
associate-*l*32.9%
associate-/r*32.8%
associate-/r/32.9%
*-commutative32.9%
times-frac32.8%
+-commutative32.8%
associate--l+49.2%
metadata-eval49.2%
+-rgt-identity49.2%
times-frac49.2%
Simplified49.2%
Taylor expanded in t around 0 83.6%
unpow283.6%
Simplified83.6%
Taylor expanded in k around 0 83.6%
unpow283.6%
associate-*r*83.6%
Simplified83.6%
if 6.0000000000000004e197 < k Initial program 45.9%
associate-*l*45.9%
associate-*l*45.9%
associate-/r*45.9%
associate-/r/45.9%
*-commutative45.9%
times-frac45.9%
+-commutative45.9%
associate--l+51.4%
metadata-eval51.4%
+-rgt-identity51.4%
times-frac51.4%
Simplified51.4%
Taylor expanded in t around 0 59.7%
associate-/r*59.7%
unpow259.7%
unpow259.7%
*-commutative59.7%
Simplified59.7%
Taylor expanded in k around 0 59.7%
unpow259.7%
unpow259.7%
times-frac66.3%
Simplified69.8%
Final simplification76.9%
(FPCore (t l k)
:precision binary64
(if (<= k 1.85e-10)
(* 2.0 (* (/ (/ l k) t) (/ (/ l k) (* k k))))
(if (<= k 7.2e+197)
(* (/ 2.0 (* k (* k t))) (/ (/ (* l l) (sin k)) (tan k)))
(* 2.0 (/ (* (/ l k) (/ l k)) (* t (pow (sin k) 2.0)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.85e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else if (k <= 7.2e+197) {
tmp = (2.0 / (k * (k * t))) * (((l * l) / sin(k)) / tan(k));
} else {
tmp = 2.0 * (((l / k) * (l / k)) / (t * pow(sin(k), 2.0)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 1.85d-10) then
tmp = 2.0d0 * (((l / k) / t) * ((l / k) / (k * k)))
else if (k <= 7.2d+197) then
tmp = (2.0d0 / (k * (k * t))) * (((l * l) / sin(k)) / tan(k))
else
tmp = 2.0d0 * (((l / k) * (l / k)) / (t * (sin(k) ** 2.0d0)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.85e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else if (k <= 7.2e+197) {
tmp = (2.0 / (k * (k * t))) * (((l * l) / Math.sin(k)) / Math.tan(k));
} else {
tmp = 2.0 * (((l / k) * (l / k)) / (t * Math.pow(Math.sin(k), 2.0)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.85e-10: tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))) elif k <= 7.2e+197: tmp = (2.0 / (k * (k * t))) * (((l * l) / math.sin(k)) / math.tan(k)) else: tmp = 2.0 * (((l / k) * (l / k)) / (t * math.pow(math.sin(k), 2.0))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.85e-10) tmp = Float64(2.0 * Float64(Float64(Float64(l / k) / t) * Float64(Float64(l / k) / Float64(k * k)))); elseif (k <= 7.2e+197) tmp = Float64(Float64(2.0 / Float64(k * Float64(k * t))) * Float64(Float64(Float64(l * l) / sin(k)) / tan(k))); else tmp = Float64(2.0 * Float64(Float64(Float64(l / k) * Float64(l / k)) / Float64(t * (sin(k) ^ 2.0)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.85e-10) tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))); elseif (k <= 7.2e+197) tmp = (2.0 / (k * (k * t))) * (((l * l) / sin(k)) / tan(k)); else tmp = 2.0 * (((l / k) * (l / k)) / (t * (sin(k) ^ 2.0))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.85e-10], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l / k), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 7.2e+197], N[(N[(2.0 / N[(k * N[(k * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(N[(l * l), $MachinePrecision] / N[Sin[k], $MachinePrecision]), $MachinePrecision] / N[Tan[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] / N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.85 \cdot 10^{-10}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{k}}{t} \cdot \frac{\frac{\ell}{k}}{k \cdot k}\right)\\
\mathbf{elif}\;k \leq 7.2 \cdot 10^{+197}:\\
\;\;\;\;\frac{2}{k \cdot \left(k \cdot t\right)} \cdot \frac{\frac{\ell \cdot \ell}{\sin k}}{\tan k}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\frac{\ell}{k} \cdot \frac{\ell}{k}}{t \cdot {\sin k}^{2}}\\
\end{array}
\end{array}
if k < 1.85000000000000007e-10Initial program 31.4%
associate-*l*31.3%
associate-*l*31.3%
associate-/r*31.3%
associate-/r/31.3%
*-commutative31.3%
times-frac31.9%
+-commutative31.9%
associate--l+37.4%
metadata-eval37.4%
+-rgt-identity37.4%
times-frac44.1%
Simplified44.1%
Taylor expanded in t around 0 66.3%
associate-/r*68.1%
unpow268.1%
unpow268.1%
*-commutative68.1%
Simplified68.1%
Taylor expanded in k around 0 61.4%
unpow261.4%
Simplified61.4%
Taylor expanded in k around 0 60.5%
unpow260.5%
unpow260.5%
times-frac72.4%
Simplified72.4%
times-frac76.3%
Applied egg-rr76.3%
if 1.85000000000000007e-10 < k < 7.19999999999999965e197Initial program 32.9%
associate-*l*32.9%
associate-*l*32.9%
associate-/r*32.8%
associate-/r/32.9%
*-commutative32.9%
times-frac32.8%
+-commutative32.8%
associate--l+49.2%
metadata-eval49.2%
+-rgt-identity49.2%
times-frac49.2%
Simplified49.2%
Taylor expanded in t around 0 83.6%
unpow283.6%
Simplified83.6%
associate-*l/83.6%
associate-*l*83.7%
Applied egg-rr83.7%
associate-*l/83.6%
*-commutative83.6%
associate-*r/83.6%
associate-*l/83.7%
Simplified83.7%
if 7.19999999999999965e197 < k Initial program 45.9%
associate-*l*45.9%
associate-*l*45.9%
associate-/r*45.9%
associate-/r/45.9%
*-commutative45.9%
times-frac45.9%
+-commutative45.9%
associate--l+51.4%
metadata-eval51.4%
+-rgt-identity51.4%
times-frac51.4%
Simplified51.4%
Taylor expanded in t around 0 59.7%
associate-/r*59.7%
unpow259.7%
unpow259.7%
*-commutative59.7%
Simplified59.7%
Taylor expanded in k around 0 59.7%
unpow259.7%
unpow259.7%
times-frac66.3%
Simplified69.8%
Final simplification76.9%
(FPCore (t l k) :precision binary64 (if (<= k 1.85e-10) (* 2.0 (* (/ (/ l k) t) (/ (/ l k) (* k k)))) (* 2.0 (/ (* (/ (cos k) k) (/ l (/ k l))) (* t (* k k))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.85e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else {
tmp = 2.0 * (((cos(k) / k) * (l / (k / l))) / (t * (k * k)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 1.85d-10) then
tmp = 2.0d0 * (((l / k) / t) * ((l / k) / (k * k)))
else
tmp = 2.0d0 * (((cos(k) / k) * (l / (k / l))) / (t * (k * k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.85e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else {
tmp = 2.0 * (((Math.cos(k) / k) * (l / (k / l))) / (t * (k * k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.85e-10: tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))) else: tmp = 2.0 * (((math.cos(k) / k) * (l / (k / l))) / (t * (k * k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.85e-10) tmp = Float64(2.0 * Float64(Float64(Float64(l / k) / t) * Float64(Float64(l / k) / Float64(k * k)))); else tmp = Float64(2.0 * Float64(Float64(Float64(cos(k) / k) * Float64(l / Float64(k / l))) / Float64(t * Float64(k * k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.85e-10) tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))); else tmp = 2.0 * (((cos(k) / k) * (l / (k / l))) / (t * (k * k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.85e-10], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l / k), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[(N[Cos[k], $MachinePrecision] / k), $MachinePrecision] * N[(l / N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.85 \cdot 10^{-10}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{k}}{t} \cdot \frac{\frac{\ell}{k}}{k \cdot k}\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\frac{\cos k}{k} \cdot \frac{\ell}{\frac{k}{\ell}}}{t \cdot \left(k \cdot k\right)}\\
\end{array}
\end{array}
if k < 1.85000000000000007e-10Initial program 31.4%
associate-*l*31.3%
associate-*l*31.3%
associate-/r*31.3%
associate-/r/31.3%
*-commutative31.3%
times-frac31.9%
+-commutative31.9%
associate--l+37.4%
metadata-eval37.4%
+-rgt-identity37.4%
times-frac44.1%
Simplified44.1%
Taylor expanded in t around 0 66.3%
associate-/r*68.1%
unpow268.1%
unpow268.1%
*-commutative68.1%
Simplified68.1%
Taylor expanded in k around 0 61.4%
unpow261.4%
Simplified61.4%
Taylor expanded in k around 0 60.5%
unpow260.5%
unpow260.5%
times-frac72.4%
Simplified72.4%
times-frac76.3%
Applied egg-rr76.3%
if 1.85000000000000007e-10 < k Initial program 38.1%
associate-*l*38.1%
associate-*l*38.1%
associate-/r*38.1%
associate-/r/38.1%
*-commutative38.1%
times-frac38.1%
+-commutative38.1%
associate--l+50.1%
metadata-eval50.1%
+-rgt-identity50.1%
times-frac50.1%
Simplified50.1%
Taylor expanded in t around 0 74.1%
associate-/r*72.2%
unpow272.2%
unpow272.2%
*-commutative72.2%
Simplified72.2%
Taylor expanded in k around inf 72.2%
unpow272.2%
times-frac73.7%
unpow273.7%
associate-/l*85.2%
Simplified85.2%
Taylor expanded in k around 0 60.7%
unpow258.0%
Simplified60.7%
Final simplification70.7%
(FPCore (t l k) :precision binary64 (if (<= k 1e-10) (* 2.0 (* (/ (/ l k) t) (/ (/ l k) (* k k)))) (* (/ 2.0 (* t (* k k))) (* (/ l (sin k)) (/ l k)))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else {
tmp = (2.0 / (t * (k * k))) * ((l / sin(k)) * (l / 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 <= 1d-10) then
tmp = 2.0d0 * (((l / k) / t) * ((l / k) / (k * k)))
else
tmp = (2.0d0 / (t * (k * k))) * ((l / sin(k)) * (l / k))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1e-10) {
tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
} else {
tmp = (2.0 / (t * (k * k))) * ((l / Math.sin(k)) * (l / k));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1e-10: tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))) else: tmp = (2.0 / (t * (k * k))) * ((l / math.sin(k)) * (l / k)) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1e-10) tmp = Float64(2.0 * Float64(Float64(Float64(l / k) / t) * Float64(Float64(l / k) / Float64(k * k)))); else tmp = Float64(Float64(2.0 / Float64(t * Float64(k * k))) * Float64(Float64(l / sin(k)) * Float64(l / k))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1e-10) tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))); else tmp = (2.0 / (t * (k * k))) * ((l / sin(k)) * (l / k)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1e-10], N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l / k), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(2.0 / N[(t * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[(l / N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 10^{-10}:\\
\;\;\;\;2 \cdot \left(\frac{\frac{\ell}{k}}{t} \cdot \frac{\frac{\ell}{k}}{k \cdot k}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t \cdot \left(k \cdot k\right)} \cdot \left(\frac{\ell}{\sin k} \cdot \frac{\ell}{k}\right)\\
\end{array}
\end{array}
if k < 1.00000000000000004e-10Initial program 31.4%
associate-*l*31.3%
associate-*l*31.3%
associate-/r*31.3%
associate-/r/31.3%
*-commutative31.3%
times-frac31.9%
+-commutative31.9%
associate--l+37.4%
metadata-eval37.4%
+-rgt-identity37.4%
times-frac44.1%
Simplified44.1%
Taylor expanded in t around 0 66.3%
associate-/r*68.1%
unpow268.1%
unpow268.1%
*-commutative68.1%
Simplified68.1%
Taylor expanded in k around 0 61.4%
unpow261.4%
Simplified61.4%
Taylor expanded in k around 0 60.5%
unpow260.5%
unpow260.5%
times-frac72.4%
Simplified72.4%
times-frac76.3%
Applied egg-rr76.3%
if 1.00000000000000004e-10 < k Initial program 38.1%
associate-*l*38.1%
associate-*l*38.1%
associate-/r*38.1%
associate-/r/38.1%
*-commutative38.1%
times-frac38.1%
+-commutative38.1%
associate--l+50.1%
metadata-eval50.1%
+-rgt-identity50.1%
times-frac50.1%
Simplified50.1%
Taylor expanded in t around 0 74.0%
unpow274.0%
Simplified74.0%
Taylor expanded in k around 0 57.2%
Final simplification69.4%
(FPCore (t l k) :precision binary64 (* 2.0 (* (/ (/ l k) t) (/ (/ l k) (* k k)))))
double code(double t, double l, double k) {
return 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 * (((l / k) / t) * ((l / k) / (k * k)))
end function
public static double code(double t, double l, double k) {
return 2.0 * (((l / k) / t) * ((l / k) / (k * k)));
}
def code(t, l, k): return 2.0 * (((l / k) / t) * ((l / k) / (k * k)))
function code(t, l, k) return Float64(2.0 * Float64(Float64(Float64(l / k) / t) * Float64(Float64(l / k) / Float64(k * k)))) end
function tmp = code(t, l, k) tmp = 2.0 * (((l / k) / t) * ((l / k) / (k * k))); end
code[t_, l_, k_] := N[(2.0 * N[(N[(N[(l / k), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l / k), $MachinePrecision] / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \left(\frac{\frac{\ell}{k}}{t} \cdot \frac{\frac{\ell}{k}}{k \cdot k}\right)
\end{array}
Initial program 33.8%
associate-*l*33.8%
associate-*l*33.8%
associate-/r*33.8%
associate-/r/33.8%
*-commutative33.8%
times-frac34.2%
+-commutative34.2%
associate--l+42.0%
metadata-eval42.0%
+-rgt-identity42.0%
times-frac46.3%
Simplified46.3%
Taylor expanded in t around 0 69.1%
associate-/r*69.5%
unpow269.5%
unpow269.5%
*-commutative69.5%
Simplified69.5%
Taylor expanded in k around 0 60.2%
unpow260.2%
Simplified60.2%
Taylor expanded in k around 0 57.9%
unpow257.9%
unpow257.9%
times-frac66.2%
Simplified66.2%
times-frac68.7%
Applied egg-rr68.7%
Final simplification68.7%
herbie shell --seed 2023216
(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))))