
(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 21 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}
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 1.02e-100)
(* (* (pow (* (* (/ t l) k_m) t) -1.0) (/ 1.0 (* t k_m))) l)
(/
2.0
(/
(*
(fma
(* (* (tan k_m) k_m) (/ k_m l))
(sin k_m)
(* (* (sin k_m) (tan k_m)) (* (/ (* t t) l) 2.0)))
t)
l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 1.02e-100) {
tmp = (pow((((t / l) * k_m) * t), -1.0) * (1.0 / (t * k_m))) * l;
} else {
tmp = 2.0 / ((fma(((tan(k_m) * k_m) * (k_m / l)), sin(k_m), ((sin(k_m) * tan(k_m)) * (((t * t) / l) * 2.0))) * t) / l);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 1.02e-100) tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * t) ^ -1.0) * Float64(1.0 / Float64(t * k_m))) * l); else tmp = Float64(2.0 / Float64(Float64(fma(Float64(Float64(tan(k_m) * k_m) * Float64(k_m / l)), sin(k_m), Float64(Float64(sin(k_m) * tan(k_m)) * Float64(Float64(Float64(t * t) / l) * 2.0))) * t) / l)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 1.02e-100], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * t), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(N[Tan[k$95$m], $MachinePrecision] * k$95$m), $MachinePrecision] * N[(k$95$m / l), $MachinePrecision]), $MachinePrecision] * N[Sin[k$95$m], $MachinePrecision] + N[(N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 1.02 \cdot 10^{-100}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot t\right)}^{-1} \cdot \frac{1}{t \cdot k\_m}\right) \cdot \ell\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left(\left(\tan k\_m \cdot k\_m\right) \cdot \frac{k\_m}{\ell}, \sin k\_m, \left(\sin k\_m \cdot \tan k\_m\right) \cdot \left(\frac{t \cdot t}{\ell} \cdot 2\right)\right) \cdot t}{\ell}}\\
\end{array}
\end{array}
if k < 1.02e-100Initial program 52.5%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6452.9
Applied rewrites52.9%
Applied rewrites65.3%
Applied rewrites69.9%
Applied rewrites73.0%
if 1.02e-100 < k Initial program 51.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites46.9%
Taylor expanded in t around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites82.7%
Applied rewrites87.0%
Applied rewrites87.0%
Final simplification77.9%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (* (sin k_m) (tan k_m))))
(if (<= k_m 6e-93)
(* (* (pow (* (* (/ t l) k_m) t) -1.0) (/ 1.0 (* t k_m))) l)
(*
(/ 2.0 (* (fma (* (/ k_m l) k_m) t_1 (* t_1 (* (/ (* t t) l) 2.0))) t))
l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = sin(k_m) * tan(k_m);
double tmp;
if (k_m <= 6e-93) {
tmp = (pow((((t / l) * k_m) * t), -1.0) * (1.0 / (t * k_m))) * l;
} else {
tmp = (2.0 / (fma(((k_m / l) * k_m), t_1, (t_1 * (((t * t) / l) * 2.0))) * t)) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(sin(k_m) * tan(k_m)) tmp = 0.0 if (k_m <= 6e-93) tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * t) ^ -1.0) * Float64(1.0 / Float64(t * k_m))) * l); else tmp = Float64(Float64(2.0 / Float64(fma(Float64(Float64(k_m / l) * k_m), t_1, Float64(t_1 * Float64(Float64(Float64(t * t) / l) * 2.0))) * t)) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k$95$m, 6e-93], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * t), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], N[(N[(2.0 / N[(N[(N[(N[(k$95$m / l), $MachinePrecision] * k$95$m), $MachinePrecision] * t$95$1 + N[(t$95$1 * N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := \sin k\_m \cdot \tan k\_m\\
\mathbf{if}\;k\_m \leq 6 \cdot 10^{-93}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot t\right)}^{-1} \cdot \frac{1}{t \cdot k\_m}\right) \cdot \ell\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(\frac{k\_m}{\ell} \cdot k\_m, t\_1, t\_1 \cdot \left(\frac{t \cdot t}{\ell} \cdot 2\right)\right) \cdot t} \cdot \ell\\
\end{array}
\end{array}
if k < 6.0000000000000003e-93Initial program 52.7%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6453.1
Applied rewrites53.1%
Applied rewrites65.5%
Applied rewrites70.0%
Applied rewrites73.2%
if 6.0000000000000003e-93 < k Initial program 50.6%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites46.3%
Taylor expanded in t around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites82.5%
Applied rewrites86.9%
lift-/.f64N/A
lift-/.f64N/A
associate-/r/N/A
lower-*.f64N/A
Applied rewrites87.0%
Final simplification78.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (/ (* t t) l)) (t_2 (* t_1 2.0)))
(if (<= k_m 1.02e-100)
(* (* (pow (* (* (/ t l) k_m) t) -1.0) (/ 1.0 (* t k_m))) l)
(if (<= k_m 1.12e-7)
(/
2.0
(/
(*
(*
(fma (* (fma 0.3333333333333333 t_1 (/ 1.0 l)) k_m) k_m t_2)
(* k_m k_m))
t)
l))
(if (<= k_m 2e+156)
(/
2.0
(*
(* (/ (* (sin k_m) (tan k_m)) (* l l)) k_m)
(* (fma (* (/ t (* k_m k_m)) 2.0) (* t t) t) k_m)))
(/
2.0
(/
(*
(*
(fma
t_2
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l)))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = (t * t) / l;
double t_2 = t_1 * 2.0;
double tmp;
if (k_m <= 1.02e-100) {
tmp = (pow((((t / l) * k_m) * t), -1.0) * (1.0 / (t * k_m))) * l;
} else if (k_m <= 1.12e-7) {
tmp = 2.0 / (((fma((fma(0.3333333333333333, t_1, (1.0 / l)) * k_m), k_m, t_2) * (k_m * k_m)) * t) / l);
} else if (k_m <= 2e+156) {
tmp = 2.0 / ((((sin(k_m) * tan(k_m)) / (l * l)) * k_m) * (fma(((t / (k_m * k_m)) * 2.0), (t * t), t) * k_m));
} else {
tmp = 2.0 / (((fma(t_2, t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(Float64(t * t) / l) t_2 = Float64(t_1 * 2.0) tmp = 0.0 if (k_m <= 1.02e-100) tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * t) ^ -1.0) * Float64(1.0 / Float64(t * k_m))) * l); elseif (k_m <= 1.12e-7) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(fma(0.3333333333333333, t_1, Float64(1.0 / l)) * k_m), k_m, t_2) * Float64(k_m * k_m)) * t) / l)); elseif (k_m <= 2e+156) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(sin(k_m) * tan(k_m)) / Float64(l * l)) * k_m) * Float64(fma(Float64(Float64(t / Float64(k_m * k_m)) * 2.0), Float64(t * t), t) * k_m))); else tmp = Float64(2.0 / Float64(Float64(Float64(fma(t_2, t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 * 2.0), $MachinePrecision]}, If[LessEqual[k$95$m, 1.02e-100], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * t), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], If[LessEqual[k$95$m, 1.12e-7], N[(2.0 / N[(N[(N[(N[(N[(N[(0.3333333333333333 * t$95$1 + N[(1.0 / l), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m + t$95$2), $MachinePrecision] * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 2e+156], N[(2.0 / N[(N[(N[(N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * N[(N[(N[(N[(t / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] * 2.0), $MachinePrecision] * N[(t * t), $MachinePrecision] + t), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(t$95$2 * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := \frac{t \cdot t}{\ell}\\
t_2 := t\_1 \cdot 2\\
\mathbf{if}\;k\_m \leq 1.02 \cdot 10^{-100}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot t\right)}^{-1} \cdot \frac{1}{t \cdot k\_m}\right) \cdot \ell\\
\mathbf{elif}\;k\_m \leq 1.12 \cdot 10^{-7}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\mathsf{fma}\left(0.3333333333333333, t\_1, \frac{1}{\ell}\right) \cdot k\_m, k\_m, t\_2\right) \cdot \left(k\_m \cdot k\_m\right)\right) \cdot t}{\ell}}\\
\mathbf{elif}\;k\_m \leq 2 \cdot 10^{+156}:\\
\;\;\;\;\frac{2}{\left(\frac{\sin k\_m \cdot \tan k\_m}{\ell \cdot \ell} \cdot k\_m\right) \cdot \left(\mathsf{fma}\left(\frac{t}{k\_m \cdot k\_m} \cdot 2, t \cdot t, t\right) \cdot k\_m\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(t\_2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\end{array}
\end{array}
if k < 1.02e-100Initial program 52.5%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6452.9
Applied rewrites52.9%
Applied rewrites65.3%
Applied rewrites69.9%
Applied rewrites73.0%
if 1.02e-100 < k < 1.12e-7Initial program 68.3%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites73.2%
Taylor expanded in t around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites95.3%
Applied rewrites95.3%
Taylor expanded in k around 0
Applied rewrites95.4%
if 1.12e-7 < k < 2e156Initial program 40.2%
Taylor expanded in k around inf
*-commutativeN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
Applied rewrites90.1%
Applied rewrites93.4%
if 2e156 < k Initial program 49.9%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites29.1%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.3%
Applied rewrites67.0%
Final simplification76.4%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (/ (* t t) l)) (t_2 (* t_1 2.0)))
(if (<= k_m 1.02e-100)
(* (* (pow (* (* (/ t l) k_m) t) -1.0) (/ 1.0 (* t k_m))) l)
(if (<= k_m 1.12e-7)
(/
2.0
(/
(*
(*
(fma (* (fma 0.3333333333333333 t_1 (/ 1.0 l)) k_m) k_m t_2)
(* k_m k_m))
t)
l))
(if (<= k_m 2e+156)
(/
2.0
(*
(* (* (/ (sin k_m) (* l l)) (tan k_m)) k_m)
(* (fma (* (/ t (* k_m k_m)) 2.0) (* t t) t) k_m)))
(/
2.0
(/
(*
(*
(fma
t_2
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l)))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = (t * t) / l;
double t_2 = t_1 * 2.0;
double tmp;
if (k_m <= 1.02e-100) {
tmp = (pow((((t / l) * k_m) * t), -1.0) * (1.0 / (t * k_m))) * l;
} else if (k_m <= 1.12e-7) {
tmp = 2.0 / (((fma((fma(0.3333333333333333, t_1, (1.0 / l)) * k_m), k_m, t_2) * (k_m * k_m)) * t) / l);
} else if (k_m <= 2e+156) {
tmp = 2.0 / ((((sin(k_m) / (l * l)) * tan(k_m)) * k_m) * (fma(((t / (k_m * k_m)) * 2.0), (t * t), t) * k_m));
} else {
tmp = 2.0 / (((fma(t_2, t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(Float64(t * t) / l) t_2 = Float64(t_1 * 2.0) tmp = 0.0 if (k_m <= 1.02e-100) tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * t) ^ -1.0) * Float64(1.0 / Float64(t * k_m))) * l); elseif (k_m <= 1.12e-7) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(fma(0.3333333333333333, t_1, Float64(1.0 / l)) * k_m), k_m, t_2) * Float64(k_m * k_m)) * t) / l)); elseif (k_m <= 2e+156) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(sin(k_m) / Float64(l * l)) * tan(k_m)) * k_m) * Float64(fma(Float64(Float64(t / Float64(k_m * k_m)) * 2.0), Float64(t * t), t) * k_m))); else tmp = Float64(2.0 / Float64(Float64(Float64(fma(t_2, t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision]}, Block[{t$95$2 = N[(t$95$1 * 2.0), $MachinePrecision]}, If[LessEqual[k$95$m, 1.02e-100], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * t), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], If[LessEqual[k$95$m, 1.12e-7], N[(2.0 / N[(N[(N[(N[(N[(N[(0.3333333333333333 * t$95$1 + N[(1.0 / l), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m + t$95$2), $MachinePrecision] * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[k$95$m, 2e+156], N[(2.0 / N[(N[(N[(N[(N[Sin[k$95$m], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * N[(N[(N[(N[(t / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] * 2.0), $MachinePrecision] * N[(t * t), $MachinePrecision] + t), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(t$95$2 * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := \frac{t \cdot t}{\ell}\\
t_2 := t\_1 \cdot 2\\
\mathbf{if}\;k\_m \leq 1.02 \cdot 10^{-100}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot t\right)}^{-1} \cdot \frac{1}{t \cdot k\_m}\right) \cdot \ell\\
\mathbf{elif}\;k\_m \leq 1.12 \cdot 10^{-7}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\mathsf{fma}\left(0.3333333333333333, t\_1, \frac{1}{\ell}\right) \cdot k\_m, k\_m, t\_2\right) \cdot \left(k\_m \cdot k\_m\right)\right) \cdot t}{\ell}}\\
\mathbf{elif}\;k\_m \leq 2 \cdot 10^{+156}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{\sin k\_m}{\ell \cdot \ell} \cdot \tan k\_m\right) \cdot k\_m\right) \cdot \left(\mathsf{fma}\left(\frac{t}{k\_m \cdot k\_m} \cdot 2, t \cdot t, t\right) \cdot k\_m\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(t\_2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\end{array}
\end{array}
if k < 1.02e-100Initial program 52.5%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6452.9
Applied rewrites52.9%
Applied rewrites65.3%
Applied rewrites69.9%
Applied rewrites73.0%
if 1.02e-100 < k < 1.12e-7Initial program 68.3%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites73.2%
Taylor expanded in t around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites95.3%
Applied rewrites95.3%
Taylor expanded in k around 0
Applied rewrites95.4%
if 1.12e-7 < k < 2e156Initial program 40.2%
Taylor expanded in k around inf
*-commutativeN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
Applied rewrites90.1%
Applied rewrites90.1%
Applied rewrites93.2%
if 2e156 < k Initial program 49.9%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites29.1%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.3%
Applied rewrites67.0%
Final simplification76.4%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 2.2e-73)
(* (* (pow (* (* (/ t l) k_m) t) -1.0) (/ 1.0 (* t k_m))) l)
(if (<= k_m 7.2e+240)
(/
2.0
(*
(/
(*
(* (fma (* (/ t (* k_m k_m)) 2.0) (* t t) t) k_m)
(* (/ (sin k_m) l) (tan k_m)))
l)
k_m))
(/ 2.0 (/ (* (* (/ (* k_m k_m) l) t) (* k_m k_m)) l)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 2.2e-73) {
tmp = (pow((((t / l) * k_m) * t), -1.0) * (1.0 / (t * k_m))) * l;
} else if (k_m <= 7.2e+240) {
tmp = 2.0 / ((((fma(((t / (k_m * k_m)) * 2.0), (t * t), t) * k_m) * ((sin(k_m) / l) * tan(k_m))) / l) * k_m);
} else {
tmp = 2.0 / (((((k_m * k_m) / l) * t) * (k_m * k_m)) / l);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 2.2e-73) tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * t) ^ -1.0) * Float64(1.0 / Float64(t * k_m))) * l); elseif (k_m <= 7.2e+240) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(fma(Float64(Float64(t / Float64(k_m * k_m)) * 2.0), Float64(t * t), t) * k_m) * Float64(Float64(sin(k_m) / l) * tan(k_m))) / l) * k_m)); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k_m * k_m) / l) * t) * Float64(k_m * k_m)) / l)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 2.2e-73], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * t), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], If[LessEqual[k$95$m, 7.2e+240], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] * 2.0), $MachinePrecision] * N[(t * t), $MachinePrecision] + t), $MachinePrecision] * k$95$m), $MachinePrecision] * N[(N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(k$95$m * k$95$m), $MachinePrecision] / l), $MachinePrecision] * t), $MachinePrecision] * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 2.2 \cdot 10^{-73}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot t\right)}^{-1} \cdot \frac{1}{t \cdot k\_m}\right) \cdot \ell\\
\mathbf{elif}\;k\_m \leq 7.2 \cdot 10^{+240}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t}{k\_m \cdot k\_m} \cdot 2, t \cdot t, t\right) \cdot k\_m\right) \cdot \left(\frac{\sin k\_m}{\ell} \cdot \tan k\_m\right)}{\ell} \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\frac{k\_m \cdot k\_m}{\ell} \cdot t\right) \cdot \left(k\_m \cdot k\_m\right)}{\ell}}\\
\end{array}
\end{array}
if k < 2.2e-73Initial program 53.8%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6454.2
Applied rewrites54.2%
Applied rewrites66.2%
Applied rewrites70.6%
Applied rewrites73.6%
if 2.2e-73 < k < 7.1999999999999997e240Initial program 50.3%
Taylor expanded in k around inf
*-commutativeN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
Applied rewrites78.4%
Applied rewrites89.7%
if 7.1999999999999997e240 < k Initial program 41.6%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites15.7%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.1%
Taylor expanded in t around 0
Applied rewrites64.4%
Final simplification76.9%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 2.2e-73)
(* (* (pow (* (* (/ t l) k_m) t) -1.0) (/ 1.0 (* t k_m))) l)
(if (<= k_m 3.7e+155)
(/
2.0
(*
(*
(/
(*
(fma (* (/ t (* k_m k_m)) 2.0) (* t t) t)
(* (/ (sin k_m) l) (tan k_m)))
l)
k_m)
k_m))
(/
2.0
(/
(*
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 2.2e-73) {
tmp = (pow((((t / l) * k_m) * t), -1.0) * (1.0 / (t * k_m))) * l;
} else if (k_m <= 3.7e+155) {
tmp = 2.0 / ((((fma(((t / (k_m * k_m)) * 2.0), (t * t), t) * ((sin(k_m) / l) * tan(k_m))) / l) * k_m) * k_m);
} else {
tmp = 2.0 / (((fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 2.2e-73) tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * t) ^ -1.0) * Float64(1.0 / Float64(t * k_m))) * l); elseif (k_m <= 3.7e+155) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(fma(Float64(Float64(t / Float64(k_m * k_m)) * 2.0), Float64(t * t), t) * Float64(Float64(sin(k_m) / l) * tan(k_m))) / l) * k_m) * k_m)); else tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 2.2e-73], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * t), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], If[LessEqual[k$95$m, 3.7e+155], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] * 2.0), $MachinePrecision] * N[(t * t), $MachinePrecision] + t), $MachinePrecision] * N[(N[(N[Sin[k$95$m], $MachinePrecision] / l), $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 2.2 \cdot 10^{-73}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot t\right)}^{-1} \cdot \frac{1}{t \cdot k\_m}\right) \cdot \ell\\
\mathbf{elif}\;k\_m \leq 3.7 \cdot 10^{+155}:\\
\;\;\;\;\frac{2}{\left(\frac{\mathsf{fma}\left(\frac{t}{k\_m \cdot k\_m} \cdot 2, t \cdot t, t\right) \cdot \left(\frac{\sin k\_m}{\ell} \cdot \tan k\_m\right)}{\ell} \cdot k\_m\right) \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\end{array}
\end{array}
if k < 2.2e-73Initial program 53.8%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6454.2
Applied rewrites54.2%
Applied rewrites66.2%
Applied rewrites70.6%
Applied rewrites73.6%
if 2.2e-73 < k < 3.6999999999999998e155Initial program 46.9%
Taylor expanded in k around inf
*-commutativeN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
Applied rewrites84.7%
Applied rewrites91.0%
if 3.6999999999999998e155 < k Initial program 49.9%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites29.1%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.3%
Applied rewrites67.0%
Final simplification75.7%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (* (sin k_m) t)) (t_2 (fma (/ k_m (* t t)) k_m 2.0)))
(if (<= t 2.5e-26)
(/
2.0
(/
(*
(fma
(/ k_m l)
(* (* (sin k_m) (tan k_m)) k_m)
(* (/ (* (* (* t t) k_m) k_m) l) 2.0))
t)
l))
(if (<= t 1.92e+205)
(* (/ 2.0 (* (* (* (* t_1 t) (/ t l)) (tan k_m)) t_2)) l)
(/ (/ (* l 2.0) (* (* (* t_2 (tan k_m)) t_1) (/ t l))) t)))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = sin(k_m) * t;
double t_2 = fma((k_m / (t * t)), k_m, 2.0);
double tmp;
if (t <= 2.5e-26) {
tmp = 2.0 / ((fma((k_m / l), ((sin(k_m) * tan(k_m)) * k_m), (((((t * t) * k_m) * k_m) / l) * 2.0)) * t) / l);
} else if (t <= 1.92e+205) {
tmp = (2.0 / ((((t_1 * t) * (t / l)) * tan(k_m)) * t_2)) * l;
} else {
tmp = ((l * 2.0) / (((t_2 * tan(k_m)) * t_1) * (t / l))) / t;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(sin(k_m) * t) t_2 = fma(Float64(k_m / Float64(t * t)), k_m, 2.0) tmp = 0.0 if (t <= 2.5e-26) tmp = Float64(2.0 / Float64(Float64(fma(Float64(k_m / l), Float64(Float64(sin(k_m) * tan(k_m)) * k_m), Float64(Float64(Float64(Float64(Float64(t * t) * k_m) * k_m) / l) * 2.0)) * t) / l)); elseif (t <= 1.92e+205) tmp = Float64(Float64(2.0 / Float64(Float64(Float64(Float64(t_1 * t) * Float64(t / l)) * tan(k_m)) * t_2)) * l); else tmp = Float64(Float64(Float64(l * 2.0) / Float64(Float64(Float64(t_2 * tan(k_m)) * t_1) * Float64(t / l))) / t); end return tmp end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[Sin[k$95$m], $MachinePrecision] * t), $MachinePrecision]}, Block[{t$95$2 = N[(N[(k$95$m / N[(t * t), $MachinePrecision]), $MachinePrecision] * k$95$m + 2.0), $MachinePrecision]}, If[LessEqual[t, 2.5e-26], N[(2.0 / N[(N[(N[(N[(k$95$m / l), $MachinePrecision] * N[(N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] + N[(N[(N[(N[(N[(t * t), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.92e+205], N[(N[(2.0 / N[(N[(N[(N[(t$95$1 * t), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], N[(N[(N[(l * 2.0), $MachinePrecision] / N[(N[(N[(t$95$2 * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * t$95$1), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]]]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := \sin k\_m \cdot t\\
t_2 := \mathsf{fma}\left(\frac{k\_m}{t \cdot t}, k\_m, 2\right)\\
\mathbf{if}\;t \leq 2.5 \cdot 10^{-26}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left(\frac{k\_m}{\ell}, \left(\sin k\_m \cdot \tan k\_m\right) \cdot k\_m, \frac{\left(\left(t \cdot t\right) \cdot k\_m\right) \cdot k\_m}{\ell} \cdot 2\right) \cdot t}{\ell}}\\
\mathbf{elif}\;t \leq 1.92 \cdot 10^{+205}:\\
\;\;\;\;\frac{2}{\left(\left(\left(t\_1 \cdot t\right) \cdot \frac{t}{\ell}\right) \cdot \tan k\_m\right) \cdot t\_2} \cdot \ell\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\ell \cdot 2}{\left(\left(t\_2 \cdot \tan k\_m\right) \cdot t\_1\right) \cdot \frac{t}{\ell}}}{t}\\
\end{array}
\end{array}
if t < 2.5000000000000001e-26Initial program 50.5%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.8%
Taylor expanded in t around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites81.0%
Applied rewrites83.1%
Taylor expanded in k around 0
Applied rewrites81.0%
if 2.5000000000000001e-26 < t < 1.92e205Initial program 56.9%
lift-*.f64N/A
lift-/.f64N/A
clear-numN/A
associate-*l/N/A
lift-*.f64N/A
lift-pow.f64N/A
sqr-powN/A
times-fracN/A
times-fracN/A
clear-numN/A
lower-*.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-evalN/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-eval82.6
Applied rewrites82.6%
Applied rewrites76.9%
if 1.92e205 < t Initial program 56.0%
lift-*.f64N/A
lift-/.f64N/A
clear-numN/A
associate-*l/N/A
lift-*.f64N/A
lift-pow.f64N/A
sqr-powN/A
times-fracN/A
times-fracN/A
clear-numN/A
lower-*.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-evalN/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-eval58.3
Applied rewrites58.3%
Applied rewrites52.0%
Applied rewrites89.4%
Final simplification80.8%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 6.4e-47)
(/
2.0
(/
(*
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l))
(if (<= t 1.3e+168)
(*
(/
2.0
(*
(* (* (* (* (sin k_m) t) t) (/ t l)) (tan k_m))
(fma (/ k_m (* t t)) k_m 2.0)))
l)
(* (* (pow (* (* (/ t l) k_m) (* t k_m)) -1.0) (/ 1.0 t)) l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 6.4e-47) {
tmp = 2.0 / (((fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
} else if (t <= 1.3e+168) {
tmp = (2.0 / (((((sin(k_m) * t) * t) * (t / l)) * tan(k_m)) * fma((k_m / (t * t)), k_m, 2.0))) * l;
} else {
tmp = (pow((((t / l) * k_m) * (t * k_m)), -1.0) * (1.0 / t)) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 6.4e-47) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); elseif (t <= 1.3e+168) tmp = Float64(Float64(2.0 / Float64(Float64(Float64(Float64(Float64(sin(k_m) * t) * t) * Float64(t / l)) * tan(k_m)) * fma(Float64(k_m / Float64(t * t)), k_m, 2.0))) * l); else tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * Float64(t * k_m)) ^ -1.0) * Float64(1.0 / t)) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 6.4e-47], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.3e+168], N[(N[(2.0 / N[(N[(N[(N[(N[(N[Sin[k$95$m], $MachinePrecision] * t), $MachinePrecision] * t), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(N[(k$95$m / N[(t * t), $MachinePrecision]), $MachinePrecision] * k$95$m + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / t), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 6.4 \cdot 10^{-47}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\mathbf{elif}\;t \leq 1.3 \cdot 10^{+168}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left(\sin k\_m \cdot t\right) \cdot t\right) \cdot \frac{t}{\ell}\right) \cdot \tan k\_m\right) \cdot \mathsf{fma}\left(\frac{k\_m}{t \cdot t}, k\_m, 2\right)} \cdot \ell\\
\mathbf{else}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot \left(t \cdot k\_m\right)\right)}^{-1} \cdot \frac{1}{t}\right) \cdot \ell\\
\end{array}
\end{array}
if t < 6.3999999999999998e-47Initial program 50.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.0%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Applied rewrites69.0%
if 6.3999999999999998e-47 < t < 1.3e168Initial program 58.1%
lift-*.f64N/A
lift-/.f64N/A
clear-numN/A
associate-*l/N/A
lift-*.f64N/A
lift-pow.f64N/A
sqr-powN/A
times-fracN/A
times-fracN/A
clear-numN/A
lower-*.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-evalN/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-eval80.0
Applied rewrites80.0%
Applied rewrites75.8%
if 1.3e168 < t Initial program 55.8%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6451.9
Applied rewrites51.9%
Applied rewrites61.3%
Applied rewrites65.0%
Applied rewrites75.6%
Final simplification70.7%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 2.4e-49)
(/
2.0
(/
(*
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l))
(if (<= t 1e+147)
(*
(/
2.0
(*
(* (* (fma (/ k_m (* t t)) k_m 2.0) (* (sin k_m) (tan k_m))) (/ t l))
(* t t)))
l)
(* (* (pow (* (* (/ t l) k_m) (* t k_m)) -1.0) (/ 1.0 t)) l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 2.4e-49) {
tmp = 2.0 / (((fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
} else if (t <= 1e+147) {
tmp = (2.0 / (((fma((k_m / (t * t)), k_m, 2.0) * (sin(k_m) * tan(k_m))) * (t / l)) * (t * t))) * l;
} else {
tmp = (pow((((t / l) * k_m) * (t * k_m)), -1.0) * (1.0 / t)) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 2.4e-49) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); elseif (t <= 1e+147) tmp = Float64(Float64(2.0 / Float64(Float64(Float64(fma(Float64(k_m / Float64(t * t)), k_m, 2.0) * Float64(sin(k_m) * tan(k_m))) * Float64(t / l)) * Float64(t * t))) * l); else tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * Float64(t * k_m)) ^ -1.0) * Float64(1.0 / t)) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 2.4e-49], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1e+147], N[(N[(2.0 / N[(N[(N[(N[(N[(k$95$m / N[(t * t), $MachinePrecision]), $MachinePrecision] * k$95$m + 2.0), $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[(t * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / t), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 2.4 \cdot 10^{-49}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\mathbf{elif}\;t \leq 10^{+147}:\\
\;\;\;\;\frac{2}{\left(\left(\mathsf{fma}\left(\frac{k\_m}{t \cdot t}, k\_m, 2\right) \cdot \left(\sin k\_m \cdot \tan k\_m\right)\right) \cdot \frac{t}{\ell}\right) \cdot \left(t \cdot t\right)} \cdot \ell\\
\mathbf{else}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot \left(t \cdot k\_m\right)\right)}^{-1} \cdot \frac{1}{t}\right) \cdot \ell\\
\end{array}
\end{array}
if t < 2.39999999999999992e-49Initial program 50.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.0%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Applied rewrites69.0%
if 2.39999999999999992e-49 < t < 9.9999999999999998e146Initial program 58.5%
lift-*.f64N/A
lift-/.f64N/A
clear-numN/A
associate-*l/N/A
lift-*.f64N/A
lift-pow.f64N/A
sqr-powN/A
times-fracN/A
times-fracN/A
clear-numN/A
lower-*.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-evalN/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-eval79.0
Applied rewrites79.0%
Applied rewrites69.6%
lift-*.f64N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
associate-/l*N/A
associate-*l*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-/.f6472.2
lift-*.f64N/A
*-commutativeN/A
lower-*.f6472.2
Applied rewrites72.2%
if 9.9999999999999998e146 < t Initial program 55.4%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6451.7
Applied rewrites51.7%
Applied rewrites60.7%
Applied rewrites64.1%
Applied rewrites74.0%
Final simplification70.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 4e-44)
(/
2.0
(/
(*
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l))
(*
(/
2.0
(*
(*
(* (* (fma (/ k_m (* t t)) k_m 2.0) (tan k_m)) (* (sin k_m) t))
(/ t l))
t))
l)))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 4e-44) {
tmp = 2.0 / (((fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
} else {
tmp = (2.0 / ((((fma((k_m / (t * t)), k_m, 2.0) * tan(k_m)) * (sin(k_m) * t)) * (t / l)) * t)) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 4e-44) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); else tmp = Float64(Float64(2.0 / Float64(Float64(Float64(Float64(fma(Float64(k_m / Float64(t * t)), k_m, 2.0) * tan(k_m)) * Float64(sin(k_m) * t)) * Float64(t / l)) * t)) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 4e-44], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(N[(2.0 / N[(N[(N[(N[(N[(N[(k$95$m / N[(t * t), $MachinePrecision]), $MachinePrecision] * k$95$m + 2.0), $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k$95$m], $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 4 \cdot 10^{-44}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\mathsf{fma}\left(\frac{k\_m}{t \cdot t}, k\_m, 2\right) \cdot \tan k\_m\right) \cdot \left(\sin k\_m \cdot t\right)\right) \cdot \frac{t}{\ell}\right) \cdot t} \cdot \ell\\
\end{array}
\end{array}
if t < 3.99999999999999981e-44Initial program 50.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.0%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Applied rewrites69.0%
if 3.99999999999999981e-44 < t Initial program 57.2%
lift-*.f64N/A
lift-/.f64N/A
clear-numN/A
associate-*l/N/A
lift-*.f64N/A
lift-pow.f64N/A
sqr-powN/A
times-fracN/A
times-fracN/A
clear-numN/A
lower-*.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-evalN/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-eval76.8
Applied rewrites76.8%
Applied rewrites64.1%
Applied rewrites75.7%
Final simplification70.8%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 4e-44)
(/
2.0
(/
(*
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l))
(*
(/
2.0
(*
(* (* (* (sin k_m) t) t) (* (fma (/ k_m (* t t)) k_m 2.0) (tan k_m)))
(/ t l)))
l)))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 4e-44) {
tmp = 2.0 / (((fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
} else {
tmp = (2.0 / ((((sin(k_m) * t) * t) * (fma((k_m / (t * t)), k_m, 2.0) * tan(k_m))) * (t / l))) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 4e-44) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); else tmp = Float64(Float64(2.0 / Float64(Float64(Float64(Float64(sin(k_m) * t) * t) * Float64(fma(Float64(k_m / Float64(t * t)), k_m, 2.0) * tan(k_m))) * Float64(t / l))) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 4e-44], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(N[(2.0 / N[(N[(N[(N[(N[Sin[k$95$m], $MachinePrecision] * t), $MachinePrecision] * t), $MachinePrecision] * N[(N[(N[(k$95$m / N[(t * t), $MachinePrecision]), $MachinePrecision] * k$95$m + 2.0), $MachinePrecision] * N[Tan[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 4 \cdot 10^{-44}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\sin k\_m \cdot t\right) \cdot t\right) \cdot \left(\mathsf{fma}\left(\frac{k\_m}{t \cdot t}, k\_m, 2\right) \cdot \tan k\_m\right)\right) \cdot \frac{t}{\ell}} \cdot \ell\\
\end{array}
\end{array}
if t < 3.99999999999999981e-44Initial program 50.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.0%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Applied rewrites69.0%
if 3.99999999999999981e-44 < t Initial program 57.2%
lift-*.f64N/A
lift-/.f64N/A
clear-numN/A
associate-*l/N/A
lift-*.f64N/A
lift-pow.f64N/A
sqr-powN/A
times-fracN/A
times-fracN/A
clear-numN/A
lower-*.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-evalN/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f64N/A
metadata-eval76.8
Applied rewrites76.8%
Applied rewrites64.1%
lift-*.f64N/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
associate-/l*N/A
associate-*r*N/A
Applied rewrites73.0%
Final simplification70.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 4.8e-41)
(/
2.0
(/
(*
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l))
(* (* (pow (* (* (/ t l) k_m) t) -1.0) (/ 1.0 (* t k_m))) l)))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 4.8e-41) {
tmp = 2.0 / (((fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
} else {
tmp = (pow((((t / l) * k_m) * t), -1.0) * (1.0 / (t * k_m))) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 4.8e-41) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); else tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * t) ^ -1.0) * Float64(1.0 / Float64(t * k_m))) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 4.8e-41], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * t), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 4.8 \cdot 10^{-41}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot t\right)}^{-1} \cdot \frac{1}{t \cdot k\_m}\right) \cdot \ell\\
\end{array}
\end{array}
if t < 4.80000000000000044e-41Initial program 50.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.0%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Applied rewrites69.0%
if 4.80000000000000044e-41 < t Initial program 57.2%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6457.2
Applied rewrites57.2%
Applied rewrites64.5%
Applied rewrites66.0%
Applied rewrites71.6%
Final simplification69.7%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 2.8e+63)
(/
2.0
(/
(*
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l))
(* (* (pow (* (* (/ t l) k_m) (* t k_m)) -1.0) (/ 1.0 t)) l)))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 2.8e+63) {
tmp = 2.0 / (((fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
} else {
tmp = (pow((((t / l) * k_m) * (t * k_m)), -1.0) * (1.0 / t)) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 2.8e+63) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); else tmp = Float64(Float64((Float64(Float64(Float64(t / l) * k_m) * Float64(t * k_m)) ^ -1.0) * Float64(1.0 / t)) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 2.8e+63], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(N[(N[Power[N[(N[(N[(t / l), $MachinePrecision] * k$95$m), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision], -1.0], $MachinePrecision] * N[(1.0 / t), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 2.8 \cdot 10^{+63}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\left({\left(\left(\frac{t}{\ell} \cdot k\_m\right) \cdot \left(t \cdot k\_m\right)\right)}^{-1} \cdot \frac{1}{t}\right) \cdot \ell\\
\end{array}
\end{array}
if t < 2.79999999999999987e63Initial program 51.9%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites50.4%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Applied rewrites68.9%
if 2.79999999999999987e63 < t Initial program 52.6%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6456.7
Applied rewrites56.7%
Applied rewrites64.7%
Applied rewrites66.9%
Applied rewrites73.1%
Final simplification69.7%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 4.8e-41)
(/
2.0
(/
(*
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
k_m)
k_m)
l))
(if (<= t 3e+146)
(* (/ l (* t k_m)) (/ l (* (* t t) k_m)))
(* (/ l (* (* (* t k_m) t) (* t k_m))) l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 4.8e-41) {
tmp = 2.0 / (((fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l);
} else if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 4.8e-41) tmp = Float64(2.0 / Float64(Float64(Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * k_m) * k_m) / l)); elseif (t <= 3e+146) tmp = Float64(Float64(l / Float64(t * k_m)) * Float64(l / Float64(Float64(t * t) * k_m))); else tmp = Float64(Float64(l / Float64(Float64(Float64(t * k_m) * t) * Float64(t * k_m))) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 4.8e-41], N[(2.0 / N[(N[(N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3e+146], N[(N[(l / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision] * N[(l / N[(N[(t * t), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[(N[(N[(t * k$95$m), $MachinePrecision] * t), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 4.8 \cdot 10^{-41}:\\
\;\;\;\;\frac{2}{\frac{\left(\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m\right) \cdot k\_m}{\ell}}\\
\mathbf{elif}\;t \leq 3 \cdot 10^{+146}:\\
\;\;\;\;\frac{\ell}{t \cdot k\_m} \cdot \frac{\ell}{\left(t \cdot t\right) \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{\left(\left(t \cdot k\_m\right) \cdot t\right) \cdot \left(t \cdot k\_m\right)} \cdot \ell\\
\end{array}
\end{array}
if t < 4.80000000000000044e-41Initial program 50.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.0%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Applied rewrites69.0%
if 4.80000000000000044e-41 < t < 3.00000000000000002e146Initial program 60.1%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6463.1
Applied rewrites63.1%
Applied rewrites69.2%
Applied rewrites74.3%
if 3.00000000000000002e146 < t Initial program 53.6%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6450.0
Applied rewrites50.0%
Applied rewrites58.8%
Applied rewrites62.0%
Final simplification68.9%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 2.3e-27)
(*
(/
2.0
(*
(fma
(* (/ (* t t) l) 2.0)
t
(* (* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) k_m) k_m))
(* k_m k_m)))
l)
(if (<= t 3e+146)
(* (/ l (* t k_m)) (/ l (* (* t t) k_m)))
(* (/ l (* (* (* t k_m) t) (* t k_m))) l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 2.3e-27) {
tmp = (2.0 / (fma((((t * t) / l) * 2.0), t, ((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * k_m) * k_m)) * (k_m * k_m))) * l;
} else if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 2.3e-27) tmp = Float64(Float64(2.0 / Float64(fma(Float64(Float64(Float64(t * t) / l) * 2.0), t, Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * k_m) * k_m)) * Float64(k_m * k_m))) * l); elseif (t <= 3e+146) tmp = Float64(Float64(l / Float64(t * k_m)) * Float64(l / Float64(Float64(t * t) * k_m))); else tmp = Float64(Float64(l / Float64(Float64(Float64(t * k_m) * t) * Float64(t * k_m))) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 2.3e-27], N[(N[(2.0 / N[(N[(N[(N[(N[(t * t), $MachinePrecision] / l), $MachinePrecision] * 2.0), $MachinePrecision] * t + N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * k$95$m), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision] * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], If[LessEqual[t, 3e+146], N[(N[(l / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision] * N[(l / N[(N[(t * t), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[(N[(N[(t * k$95$m), $MachinePrecision] * t), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 2.3 \cdot 10^{-27}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(\frac{t \cdot t}{\ell} \cdot 2, t, \left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot k\_m\right) \cdot k\_m\right) \cdot \left(k\_m \cdot k\_m\right)} \cdot \ell\\
\mathbf{elif}\;t \leq 3 \cdot 10^{+146}:\\
\;\;\;\;\frac{\ell}{t \cdot k\_m} \cdot \frac{\ell}{\left(t \cdot t\right) \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{\left(\left(t \cdot k\_m\right) \cdot t\right) \cdot \left(t \cdot k\_m\right)} \cdot \ell\\
\end{array}
\end{array}
if t < 2.2999999999999999e-27Initial program 50.7%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.5%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.9%
lift-/.f64N/A
lift-/.f64N/A
associate-/r/N/A
lower-*.f64N/A
Applied rewrites65.4%
if 2.2999999999999999e-27 < t < 3.00000000000000002e146Initial program 57.8%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6461.0
Applied rewrites61.0%
Applied rewrites67.4%
Applied rewrites72.9%
if 3.00000000000000002e146 < t Initial program 53.6%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6450.0
Applied rewrites50.0%
Applied rewrites58.8%
Applied rewrites62.0%
Final simplification66.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 1.2e-50)
(/
2.0
(/
(*
(* (/ (* (fma 0.3333333333333333 (* t t) 1.0) t) l) (* k_m k_m))
(* k_m k_m))
l))
(if (<= t 3e+146)
(* (/ l (* t k_m)) (/ l (* (* t t) k_m)))
(* (/ l (* (* (* t k_m) t) (* t k_m))) l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 1.2e-50) {
tmp = 2.0 / (((((fma(0.3333333333333333, (t * t), 1.0) * t) / l) * (k_m * k_m)) * (k_m * k_m)) / l);
} else if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 1.2e-50) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(fma(0.3333333333333333, Float64(t * t), 1.0) * t) / l) * Float64(k_m * k_m)) * Float64(k_m * k_m)) / l)); elseif (t <= 3e+146) tmp = Float64(Float64(l / Float64(t * k_m)) * Float64(l / Float64(Float64(t * t) * k_m))); else tmp = Float64(Float64(l / Float64(Float64(Float64(t * k_m) * t) * Float64(t * k_m))) * l); end return tmp end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 1.2e-50], N[(2.0 / N[(N[(N[(N[(N[(N[(0.3333333333333333 * N[(t * t), $MachinePrecision] + 1.0), $MachinePrecision] * t), $MachinePrecision] / l), $MachinePrecision] * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3e+146], N[(N[(l / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision] * N[(l / N[(N[(t * t), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[(N[(N[(t * k$95$m), $MachinePrecision] * t), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.2 \cdot 10^{-50}:\\
\;\;\;\;\frac{2}{\frac{\left(\frac{\mathsf{fma}\left(0.3333333333333333, t \cdot t, 1\right) \cdot t}{\ell} \cdot \left(k\_m \cdot k\_m\right)\right) \cdot \left(k\_m \cdot k\_m\right)}{\ell}}\\
\mathbf{elif}\;t \leq 3 \cdot 10^{+146}:\\
\;\;\;\;\frac{\ell}{t \cdot k\_m} \cdot \frac{\ell}{\left(t \cdot t\right) \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{\left(\left(t \cdot k\_m\right) \cdot t\right) \cdot \left(t \cdot k\_m\right)} \cdot \ell\\
\end{array}
\end{array}
if t < 1.20000000000000001e-50Initial program 50.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.0%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Taylor expanded in k around inf
Applied rewrites60.1%
if 1.20000000000000001e-50 < t < 3.00000000000000002e146Initial program 60.1%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6463.1
Applied rewrites63.1%
Applied rewrites69.2%
Applied rewrites74.3%
if 3.00000000000000002e146 < t Initial program 53.6%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6450.0
Applied rewrites50.0%
Applied rewrites58.8%
Applied rewrites62.0%
Final simplification62.4%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 1.2e-50)
(/ 2.0 (/ (* (* (/ (* k_m k_m) l) t) (* k_m k_m)) l))
(if (<= t 3e+146)
(* (/ l (* t k_m)) (/ l (* (* t t) k_m)))
(* (/ l (* (* (* t k_m) t) (* t k_m))) l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 1.2e-50) {
tmp = 2.0 / (((((k_m * k_m) / l) * t) * (k_m * k_m)) / l);
} else if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (t <= 1.2d-50) then
tmp = 2.0d0 / (((((k_m * k_m) / l) * t) * (k_m * k_m)) / l)
else if (t <= 3d+146) then
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m))
else
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 1.2e-50) {
tmp = 2.0 / (((((k_m * k_m) / l) * t) * (k_m * k_m)) / l);
} else if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if t <= 1.2e-50: tmp = 2.0 / (((((k_m * k_m) / l) * t) * (k_m * k_m)) / l) elif t <= 3e+146: tmp = (l / (t * k_m)) * (l / ((t * t) * k_m)) else: tmp = (l / (((t * k_m) * t) * (t * k_m))) * l return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 1.2e-50) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k_m * k_m) / l) * t) * Float64(k_m * k_m)) / l)); elseif (t <= 3e+146) tmp = Float64(Float64(l / Float64(t * k_m)) * Float64(l / Float64(Float64(t * t) * k_m))); else tmp = Float64(Float64(l / Float64(Float64(Float64(t * k_m) * t) * Float64(t * k_m))) * l); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (t <= 1.2e-50) tmp = 2.0 / (((((k_m * k_m) / l) * t) * (k_m * k_m)) / l); elseif (t <= 3e+146) tmp = (l / (t * k_m)) * (l / ((t * t) * k_m)); else tmp = (l / (((t * k_m) * t) * (t * k_m))) * l; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 1.2e-50], N[(2.0 / N[(N[(N[(N[(N[(k$95$m * k$95$m), $MachinePrecision] / l), $MachinePrecision] * t), $MachinePrecision] * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 3e+146], N[(N[(l / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision] * N[(l / N[(N[(t * t), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[(N[(N[(t * k$95$m), $MachinePrecision] * t), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.2 \cdot 10^{-50}:\\
\;\;\;\;\frac{2}{\frac{\left(\frac{k\_m \cdot k\_m}{\ell} \cdot t\right) \cdot \left(k\_m \cdot k\_m\right)}{\ell}}\\
\mathbf{elif}\;t \leq 3 \cdot 10^{+146}:\\
\;\;\;\;\frac{\ell}{t \cdot k\_m} \cdot \frac{\ell}{\left(t \cdot t\right) \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{\left(\left(t \cdot k\_m\right) \cdot t\right) \cdot \left(t \cdot k\_m\right)} \cdot \ell\\
\end{array}
\end{array}
if t < 1.20000000000000001e-50Initial program 50.2%
lift-*.f64N/A
lift-*.f64N/A
associate-*l*N/A
*-commutativeN/A
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
associate-/r*N/A
associate-*r/N/A
lower-/.f64N/A
Applied rewrites48.0%
Taylor expanded in k around 0
*-commutativeN/A
lower-*.f64N/A
Applied rewrites64.5%
Taylor expanded in t around 0
Applied rewrites57.4%
if 1.20000000000000001e-50 < t < 3.00000000000000002e146Initial program 60.1%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6463.1
Applied rewrites63.1%
Applied rewrites69.2%
Applied rewrites74.3%
if 3.00000000000000002e146 < t Initial program 53.6%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6450.0
Applied rewrites50.0%
Applied rewrites58.8%
Applied rewrites62.0%
Final simplification60.4%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= t 1.2e-65)
(/ (/ (* (/ l (* (* k_m k_m) t)) l) t) t)
(if (<= t 3e+146)
(* (/ l (* t k_m)) (/ l (* (* t t) k_m)))
(* (/ l (* (* (* t k_m) t) (* t k_m))) l))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 1.2e-65) {
tmp = (((l / ((k_m * k_m) * t)) * l) / t) / t;
} else if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (t <= 1.2d-65) then
tmp = (((l / ((k_m * k_m) * t)) * l) / t) / t
else if (t <= 3d+146) then
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m))
else
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 1.2e-65) {
tmp = (((l / ((k_m * k_m) * t)) * l) / t) / t;
} else if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if t <= 1.2e-65: tmp = (((l / ((k_m * k_m) * t)) * l) / t) / t elif t <= 3e+146: tmp = (l / (t * k_m)) * (l / ((t * t) * k_m)) else: tmp = (l / (((t * k_m) * t) * (t * k_m))) * l return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 1.2e-65) tmp = Float64(Float64(Float64(Float64(l / Float64(Float64(k_m * k_m) * t)) * l) / t) / t); elseif (t <= 3e+146) tmp = Float64(Float64(l / Float64(t * k_m)) * Float64(l / Float64(Float64(t * t) * k_m))); else tmp = Float64(Float64(l / Float64(Float64(Float64(t * k_m) * t) * Float64(t * k_m))) * l); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (t <= 1.2e-65) tmp = (((l / ((k_m * k_m) * t)) * l) / t) / t; elseif (t <= 3e+146) tmp = (l / (t * k_m)) * (l / ((t * t) * k_m)); else tmp = (l / (((t * k_m) * t) * (t * k_m))) * l; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 1.2e-65], N[(N[(N[(N[(l / N[(N[(k$95$m * k$95$m), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision] / t), $MachinePrecision] / t), $MachinePrecision], If[LessEqual[t, 3e+146], N[(N[(l / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision] * N[(l / N[(N[(t * t), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[(N[(N[(t * k$95$m), $MachinePrecision] * t), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 1.2 \cdot 10^{-65}:\\
\;\;\;\;\frac{\frac{\frac{\ell}{\left(k\_m \cdot k\_m\right) \cdot t} \cdot \ell}{t}}{t}\\
\mathbf{elif}\;t \leq 3 \cdot 10^{+146}:\\
\;\;\;\;\frac{\ell}{t \cdot k\_m} \cdot \frac{\ell}{\left(t \cdot t\right) \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{\left(\left(t \cdot k\_m\right) \cdot t\right) \cdot \left(t \cdot k\_m\right)} \cdot \ell\\
\end{array}
\end{array}
if t < 1.2000000000000001e-65Initial program 49.9%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6449.9
Applied rewrites49.9%
Applied rewrites62.3%
if 1.2000000000000001e-65 < t < 3.00000000000000002e146Initial program 60.6%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6461.2
Applied rewrites61.2%
Applied rewrites66.8%
Applied rewrites71.5%
if 3.00000000000000002e146 < t Initial program 53.6%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6450.0
Applied rewrites50.0%
Applied rewrites58.8%
Applied rewrites62.0%
Final simplification63.7%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 3.4e-111) (* (/ l (* (* (* t k_m) t) (* t k_m))) l) (* (/ l t) (/ l (* (* (* k_m k_m) t) t)))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 3.4e-111) {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
} else {
tmp = (l / t) * (l / (((k_m * k_m) * t) * t));
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (k_m <= 3.4d-111) then
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l
else
tmp = (l / t) * (l / (((k_m * k_m) * t) * t))
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 3.4e-111) {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
} else {
tmp = (l / t) * (l / (((k_m * k_m) * t) * t));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 3.4e-111: tmp = (l / (((t * k_m) * t) * (t * k_m))) * l else: tmp = (l / t) * (l / (((k_m * k_m) * t) * t)) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 3.4e-111) tmp = Float64(Float64(l / Float64(Float64(Float64(t * k_m) * t) * Float64(t * k_m))) * l); else tmp = Float64(Float64(l / t) * Float64(l / Float64(Float64(Float64(k_m * k_m) * t) * t))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 3.4e-111) tmp = (l / (((t * k_m) * t) * (t * k_m))) * l; else tmp = (l / t) * (l / (((k_m * k_m) * t) * t)); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 3.4e-111], N[(N[(l / N[(N[(N[(t * k$95$m), $MachinePrecision] * t), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision], N[(N[(l / t), $MachinePrecision] * N[(l / N[(N[(N[(k$95$m * k$95$m), $MachinePrecision] * t), $MachinePrecision] * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 3.4 \cdot 10^{-111}:\\
\;\;\;\;\frac{\ell}{\left(\left(t \cdot k\_m\right) \cdot t\right) \cdot \left(t \cdot k\_m\right)} \cdot \ell\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{t} \cdot \frac{\ell}{\left(\left(k\_m \cdot k\_m\right) \cdot t\right) \cdot t}\\
\end{array}
\end{array}
if k < 3.39999999999999997e-111Initial program 52.5%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6452.9
Applied rewrites52.9%
Applied rewrites65.5%
Applied rewrites70.1%
if 3.39999999999999997e-111 < k Initial program 51.1%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6449.4
Applied rewrites49.4%
Applied rewrites55.4%
Final simplification64.8%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= t 3e+146) (* (/ l (* t k_m)) (/ l (* (* t t) k_m))) (* (/ l (* (* (* t k_m) t) (* t k_m))) l)))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
real(8) :: tmp
if (t <= 3d+146) then
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m))
else
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double tmp;
if (t <= 3e+146) {
tmp = (l / (t * k_m)) * (l / ((t * t) * k_m));
} else {
tmp = (l / (((t * k_m) * t) * (t * k_m))) * l;
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if t <= 3e+146: tmp = (l / (t * k_m)) * (l / ((t * t) * k_m)) else: tmp = (l / (((t * k_m) * t) * (t * k_m))) * l return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (t <= 3e+146) tmp = Float64(Float64(l / Float64(t * k_m)) * Float64(l / Float64(Float64(t * t) * k_m))); else tmp = Float64(Float64(l / Float64(Float64(Float64(t * k_m) * t) * Float64(t * k_m))) * l); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (t <= 3e+146) tmp = (l / (t * k_m)) * (l / ((t * t) * k_m)); else tmp = (l / (((t * k_m) * t) * (t * k_m))) * l; end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[t, 3e+146], N[(N[(l / N[(t * k$95$m), $MachinePrecision]), $MachinePrecision] * N[(l / N[(N[(t * t), $MachinePrecision] * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[(N[(N[(t * k$95$m), $MachinePrecision] * t), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;t \leq 3 \cdot 10^{+146}:\\
\;\;\;\;\frac{\ell}{t \cdot k\_m} \cdot \frac{\ell}{\left(t \cdot t\right) \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{\left(\left(t \cdot k\_m\right) \cdot t\right) \cdot \left(t \cdot k\_m\right)} \cdot \ell\\
\end{array}
\end{array}
if t < 3.00000000000000002e146Initial program 51.8%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6451.9
Applied rewrites51.9%
Applied rewrites61.0%
Applied rewrites63.6%
if 3.00000000000000002e146 < t Initial program 53.6%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6450.0
Applied rewrites50.0%
Applied rewrites58.8%
Applied rewrites62.0%
Final simplification63.4%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (* (/ l (* (* (* t k_m) t) (* t k_m))) l))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return (l / (((t * k_m) * t) * (t * k_m))) * l;
}
k_m = abs(k)
real(8) function code(t, l, k_m)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k_m
code = (l / (((t * k_m) * t) * (t * k_m))) * l
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return (l / (((t * k_m) * t) * (t * k_m))) * l;
}
k_m = math.fabs(k) def code(t, l, k_m): return (l / (((t * k_m) * t) * (t * k_m))) * l
k_m = abs(k) function code(t, l, k_m) return Float64(Float64(l / Float64(Float64(Float64(t * k_m) * t) * Float64(t * k_m))) * l) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = (l / (((t * k_m) * t) * (t * k_m))) * l; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(N[(l / N[(N[(N[(t * k$95$m), $MachinePrecision] * t), $MachinePrecision] * N[(t * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * l), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
\frac{\ell}{\left(\left(t \cdot k\_m\right) \cdot t\right) \cdot \left(t \cdot k\_m\right)} \cdot \ell
\end{array}
Initial program 52.0%
Taylor expanded in k around 0
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
cube-multN/A
unpow2N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
lower-*.f6451.6
Applied rewrites51.6%
Applied rewrites60.7%
Applied rewrites63.7%
Final simplification63.7%
herbie shell --seed 2024240
(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))))