
(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 17 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 7e-5)
(* (/ (* (/ (/ l (* k_m k_m)) k_m) 2.0) t) (/ (* l (cos k_m)) k_m))
(/
(/ l (/ k_m (cos k_m)))
(/ (* t (+ 0.5 (* -0.5 (cos (* k_m 2.0))))) (/ 2.0 (/ k_m l))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 7e-5) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * cos(k_m)) / k_m);
} else {
tmp = (l / (k_m / cos(k_m))) / ((t * (0.5 + (-0.5 * cos((k_m * 2.0))))) / (2.0 / (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 (k_m <= 7d-5) then
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0d0) / t) * ((l * cos(k_m)) / k_m)
else
tmp = (l / (k_m / cos(k_m))) / ((t * (0.5d0 + ((-0.5d0) * cos((k_m * 2.0d0))))) / (2.0d0 / (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 (k_m <= 7e-5) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * Math.cos(k_m)) / k_m);
} else {
tmp = (l / (k_m / Math.cos(k_m))) / ((t * (0.5 + (-0.5 * Math.cos((k_m * 2.0))))) / (2.0 / (k_m / l)));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 7e-5: tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * math.cos(k_m)) / k_m) else: tmp = (l / (k_m / math.cos(k_m))) / ((t * (0.5 + (-0.5 * math.cos((k_m * 2.0))))) / (2.0 / (k_m / l))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 7e-5) tmp = Float64(Float64(Float64(Float64(Float64(l / Float64(k_m * k_m)) / k_m) * 2.0) / t) * Float64(Float64(l * cos(k_m)) / k_m)); else tmp = Float64(Float64(l / Float64(k_m / cos(k_m))) / Float64(Float64(t * Float64(0.5 + Float64(-0.5 * cos(Float64(k_m * 2.0))))) / Float64(2.0 / Float64(k_m / l)))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 7e-5) tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * cos(k_m)) / k_m); else tmp = (l / (k_m / cos(k_m))) / ((t * (0.5 + (-0.5 * cos((k_m * 2.0))))) / (2.0 / (k_m / l))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 7e-5], N[(N[(N[(N[(N[(l / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] * 2.0), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[(k$95$m / N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(t * N[(0.5 + N[(-0.5 * N[Cos[N[(k$95$m * 2.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 / N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 7 \cdot 10^{-5}:\\
\;\;\;\;\frac{\frac{\frac{\ell}{k\_m \cdot k\_m}}{k\_m} \cdot 2}{t} \cdot \frac{\ell \cdot \cos k\_m}{k\_m}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\ell}{\frac{k\_m}{\cos k\_m}}}{\frac{t \cdot \left(0.5 + -0.5 \cdot \cos \left(k\_m \cdot 2\right)\right)}{\frac{2}{\frac{k\_m}{\ell}}}}\\
\end{array}
\end{array}
if k < 6.9999999999999994e-5Initial program 36.7%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6476.5%
Simplified76.5%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr77.1%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6479.3%
Applied egg-rr79.3%
Taylor expanded in k around 0
*-commutativeN/A
associate-/r*N/A
associate-*l/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow3N/A
unpow2N/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6479.2%
Simplified79.2%
if 6.9999999999999994e-5 < k Initial program 23.9%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6465.1%
Simplified65.1%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr89.6%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6499.1%
Applied egg-rr99.1%
*-commutativeN/A
frac-timesN/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
associate-/l*N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
cos-lowering-cos.f64N/A
clear-numN/A
frac-timesN/A
associate-*l/N/A
clear-numN/A
Applied egg-rr99.2%
Final simplification83.1%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (/ (* l (cos k_m)) k_m)))
(if (<= k_m 7e-5)
(* (/ (* (/ (/ l (* k_m k_m)) k_m) 2.0) t) t_1)
(* t_1 (/ 2.0 (/ (* t (+ 0.5 (* -0.5 (cos (* k_m 2.0))))) (/ l k_m)))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = (l * cos(k_m)) / k_m;
double tmp;
if (k_m <= 7e-5) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * t_1;
} else {
tmp = t_1 * (2.0 / ((t * (0.5 + (-0.5 * cos((k_m * 2.0))))) / (l / k_m)));
}
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) :: t_1
real(8) :: tmp
t_1 = (l * cos(k_m)) / k_m
if (k_m <= 7d-5) then
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0d0) / t) * t_1
else
tmp = t_1 * (2.0d0 / ((t * (0.5d0 + ((-0.5d0) * cos((k_m * 2.0d0))))) / (l / k_m)))
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double t_1 = (l * Math.cos(k_m)) / k_m;
double tmp;
if (k_m <= 7e-5) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * t_1;
} else {
tmp = t_1 * (2.0 / ((t * (0.5 + (-0.5 * Math.cos((k_m * 2.0))))) / (l / k_m)));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): t_1 = (l * math.cos(k_m)) / k_m tmp = 0 if k_m <= 7e-5: tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * t_1 else: tmp = t_1 * (2.0 / ((t * (0.5 + (-0.5 * math.cos((k_m * 2.0))))) / (l / k_m))) return tmp
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(Float64(l * cos(k_m)) / k_m) tmp = 0.0 if (k_m <= 7e-5) tmp = Float64(Float64(Float64(Float64(Float64(l / Float64(k_m * k_m)) / k_m) * 2.0) / t) * t_1); else tmp = Float64(t_1 * Float64(2.0 / Float64(Float64(t * Float64(0.5 + Float64(-0.5 * cos(Float64(k_m * 2.0))))) / Float64(l / k_m)))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) t_1 = (l * cos(k_m)) / k_m; tmp = 0.0; if (k_m <= 7e-5) tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * t_1; else tmp = t_1 * (2.0 / ((t * (0.5 + (-0.5 * cos((k_m * 2.0))))) / (l / k_m))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[(l * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision]}, If[LessEqual[k$95$m, 7e-5], N[(N[(N[(N[(N[(l / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] * 2.0), $MachinePrecision] / t), $MachinePrecision] * t$95$1), $MachinePrecision], N[(t$95$1 * N[(2.0 / N[(N[(t * N[(0.5 + N[(-0.5 * N[Cos[N[(k$95$m * 2.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(l / k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := \frac{\ell \cdot \cos k\_m}{k\_m}\\
\mathbf{if}\;k\_m \leq 7 \cdot 10^{-5}:\\
\;\;\;\;\frac{\frac{\frac{\ell}{k\_m \cdot k\_m}}{k\_m} \cdot 2}{t} \cdot t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_1 \cdot \frac{2}{\frac{t \cdot \left(0.5 + -0.5 \cdot \cos \left(k\_m \cdot 2\right)\right)}{\frac{\ell}{k\_m}}}\\
\end{array}
\end{array}
if k < 6.9999999999999994e-5Initial program 36.7%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6476.5%
Simplified76.5%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr77.1%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6479.3%
Applied egg-rr79.3%
Taylor expanded in k around 0
*-commutativeN/A
associate-/r*N/A
associate-*l/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow3N/A
unpow2N/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6479.2%
Simplified79.2%
if 6.9999999999999994e-5 < k Initial program 23.9%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6465.1%
Simplified65.1%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr89.6%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6499.1%
Applied egg-rr99.1%
clear-numN/A
frac-timesN/A
metadata-evalN/A
/-lowering-/.f64N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6499.1%
Applied egg-rr99.1%
Final simplification83.1%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(let* ((t_1 (/ (* l (cos k_m)) k_m)))
(if (<= k_m 7e-5)
(* (/ (* (/ (/ l (* k_m k_m)) k_m) 2.0) t) t_1)
(* t_1 (* (/ l k_m) (/ 2.0 (* t (+ 0.5 (* -0.5 (cos (* k_m 2.0)))))))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double t_1 = (l * cos(k_m)) / k_m;
double tmp;
if (k_m <= 7e-5) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * t_1;
} else {
tmp = t_1 * ((l / k_m) * (2.0 / (t * (0.5 + (-0.5 * cos((k_m * 2.0)))))));
}
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) :: t_1
real(8) :: tmp
t_1 = (l * cos(k_m)) / k_m
if (k_m <= 7d-5) then
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0d0) / t) * t_1
else
tmp = t_1 * ((l / k_m) * (2.0d0 / (t * (0.5d0 + ((-0.5d0) * cos((k_m * 2.0d0)))))))
end if
code = tmp
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
double t_1 = (l * Math.cos(k_m)) / k_m;
double tmp;
if (k_m <= 7e-5) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * t_1;
} else {
tmp = t_1 * ((l / k_m) * (2.0 / (t * (0.5 + (-0.5 * Math.cos((k_m * 2.0)))))));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): t_1 = (l * math.cos(k_m)) / k_m tmp = 0 if k_m <= 7e-5: tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * t_1 else: tmp = t_1 * ((l / k_m) * (2.0 / (t * (0.5 + (-0.5 * math.cos((k_m * 2.0))))))) return tmp
k_m = abs(k) function code(t, l, k_m) t_1 = Float64(Float64(l * cos(k_m)) / k_m) tmp = 0.0 if (k_m <= 7e-5) tmp = Float64(Float64(Float64(Float64(Float64(l / Float64(k_m * k_m)) / k_m) * 2.0) / t) * t_1); else tmp = Float64(t_1 * Float64(Float64(l / k_m) * Float64(2.0 / Float64(t * Float64(0.5 + Float64(-0.5 * cos(Float64(k_m * 2.0)))))))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) t_1 = (l * cos(k_m)) / k_m; tmp = 0.0; if (k_m <= 7e-5) tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * t_1; else tmp = t_1 * ((l / k_m) * (2.0 / (t * (0.5 + (-0.5 * cos((k_m * 2.0))))))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision]
code[t_, l_, k$95$m_] := Block[{t$95$1 = N[(N[(l * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision]}, If[LessEqual[k$95$m, 7e-5], N[(N[(N[(N[(N[(l / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] * 2.0), $MachinePrecision] / t), $MachinePrecision] * t$95$1), $MachinePrecision], N[(t$95$1 * N[(N[(l / k$95$m), $MachinePrecision] * N[(2.0 / N[(t * N[(0.5 + N[(-0.5 * N[Cos[N[(k$95$m * 2.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
t_1 := \frac{\ell \cdot \cos k\_m}{k\_m}\\
\mathbf{if}\;k\_m \leq 7 \cdot 10^{-5}:\\
\;\;\;\;\frac{\frac{\frac{\ell}{k\_m \cdot k\_m}}{k\_m} \cdot 2}{t} \cdot t\_1\\
\mathbf{else}:\\
\;\;\;\;t\_1 \cdot \left(\frac{\ell}{k\_m} \cdot \frac{2}{t \cdot \left(0.5 + -0.5 \cdot \cos \left(k\_m \cdot 2\right)\right)}\right)\\
\end{array}
\end{array}
if k < 6.9999999999999994e-5Initial program 36.7%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6476.5%
Simplified76.5%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr77.1%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6479.3%
Applied egg-rr79.3%
Taylor expanded in k around 0
*-commutativeN/A
associate-/r*N/A
associate-*l/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow3N/A
unpow2N/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6479.2%
Simplified79.2%
if 6.9999999999999994e-5 < k Initial program 23.9%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6465.1%
Simplified65.1%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr89.6%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6499.1%
Applied egg-rr99.1%
Final simplification83.1%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 7e-5)
(* (/ (* (/ (/ l (* k_m k_m)) k_m) 2.0) t) (/ (* l (cos k_m)) k_m))
(*
l
(/
(/ (cos k_m) k_m)
(/ (* t (+ 0.5 (* -0.5 (cos (* k_m 2.0))))) (/ 2.0 (/ k_m l)))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 7e-5) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * cos(k_m)) / k_m);
} else {
tmp = l * ((cos(k_m) / k_m) / ((t * (0.5 + (-0.5 * cos((k_m * 2.0))))) / (2.0 / (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 (k_m <= 7d-5) then
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0d0) / t) * ((l * cos(k_m)) / k_m)
else
tmp = l * ((cos(k_m) / k_m) / ((t * (0.5d0 + ((-0.5d0) * cos((k_m * 2.0d0))))) / (2.0d0 / (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 (k_m <= 7e-5) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * Math.cos(k_m)) / k_m);
} else {
tmp = l * ((Math.cos(k_m) / k_m) / ((t * (0.5 + (-0.5 * Math.cos((k_m * 2.0))))) / (2.0 / (k_m / l))));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 7e-5: tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * math.cos(k_m)) / k_m) else: tmp = l * ((math.cos(k_m) / k_m) / ((t * (0.5 + (-0.5 * math.cos((k_m * 2.0))))) / (2.0 / (k_m / l)))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 7e-5) tmp = Float64(Float64(Float64(Float64(Float64(l / Float64(k_m * k_m)) / k_m) * 2.0) / t) * Float64(Float64(l * cos(k_m)) / k_m)); else tmp = Float64(l * Float64(Float64(cos(k_m) / k_m) / Float64(Float64(t * Float64(0.5 + Float64(-0.5 * cos(Float64(k_m * 2.0))))) / Float64(2.0 / Float64(k_m / l))))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 7e-5) tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * cos(k_m)) / k_m); else tmp = l * ((cos(k_m) / k_m) / ((t * (0.5 + (-0.5 * cos((k_m * 2.0))))) / (2.0 / (k_m / l)))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 7e-5], N[(N[(N[(N[(N[(l / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] * 2.0), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], N[(l * N[(N[(N[Cos[k$95$m], $MachinePrecision] / k$95$m), $MachinePrecision] / N[(N[(t * N[(0.5 + N[(-0.5 * N[Cos[N[(k$95$m * 2.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 / N[(k$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 7 \cdot 10^{-5}:\\
\;\;\;\;\frac{\frac{\frac{\ell}{k\_m \cdot k\_m}}{k\_m} \cdot 2}{t} \cdot \frac{\ell \cdot \cos k\_m}{k\_m}\\
\mathbf{else}:\\
\;\;\;\;\ell \cdot \frac{\frac{\cos k\_m}{k\_m}}{\frac{t \cdot \left(0.5 + -0.5 \cdot \cos \left(k\_m \cdot 2\right)\right)}{\frac{2}{\frac{k\_m}{\ell}}}}\\
\end{array}
\end{array}
if k < 6.9999999999999994e-5Initial program 36.7%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6476.5%
Simplified76.5%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr77.1%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6479.3%
Applied egg-rr79.3%
Taylor expanded in k around 0
*-commutativeN/A
associate-/r*N/A
associate-*l/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow3N/A
unpow2N/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6479.2%
Simplified79.2%
if 6.9999999999999994e-5 < k Initial program 23.9%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6465.1%
Simplified65.1%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr89.6%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6499.1%
Applied egg-rr99.1%
*-commutativeN/A
associate-/l*N/A
associate-*l*N/A
*-lowering-*.f64N/A
frac-timesN/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
cos-lowering-cos.f64N/A
clear-numN/A
frac-timesN/A
associate-*l/N/A
Applied egg-rr93.5%
Final simplification82.0%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 2.5e+109)
(*
(/ (* l (cos k_m)) k_m)
(*
(/ l k_m)
(/ (* (/ 1.0 t) (+ 2.0 (* (* k_m k_m) 0.6666666666666666))) (* k_m k_m))))
(*
(/ l k_m)
(* (/ l k_m) (/ 2.0 (* t (+ 0.5 (* -0.5 (cos (* k_m 2.0))))))))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 2.5e+109) {
tmp = ((l * cos(k_m)) / k_m) * ((l / k_m) * (((1.0 / t) * (2.0 + ((k_m * k_m) * 0.6666666666666666))) / (k_m * k_m)));
} else {
tmp = (l / k_m) * ((l / k_m) * (2.0 / (t * (0.5 + (-0.5 * cos((k_m * 2.0)))))));
}
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 <= 2.5d+109) then
tmp = ((l * cos(k_m)) / k_m) * ((l / k_m) * (((1.0d0 / t) * (2.0d0 + ((k_m * k_m) * 0.6666666666666666d0))) / (k_m * k_m)))
else
tmp = (l / k_m) * ((l / k_m) * (2.0d0 / (t * (0.5d0 + ((-0.5d0) * cos((k_m * 2.0d0)))))))
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 <= 2.5e+109) {
tmp = ((l * Math.cos(k_m)) / k_m) * ((l / k_m) * (((1.0 / t) * (2.0 + ((k_m * k_m) * 0.6666666666666666))) / (k_m * k_m)));
} else {
tmp = (l / k_m) * ((l / k_m) * (2.0 / (t * (0.5 + (-0.5 * Math.cos((k_m * 2.0)))))));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 2.5e+109: tmp = ((l * math.cos(k_m)) / k_m) * ((l / k_m) * (((1.0 / t) * (2.0 + ((k_m * k_m) * 0.6666666666666666))) / (k_m * k_m))) else: tmp = (l / k_m) * ((l / k_m) * (2.0 / (t * (0.5 + (-0.5 * math.cos((k_m * 2.0))))))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 2.5e+109) tmp = Float64(Float64(Float64(l * cos(k_m)) / k_m) * Float64(Float64(l / k_m) * Float64(Float64(Float64(1.0 / t) * Float64(2.0 + Float64(Float64(k_m * k_m) * 0.6666666666666666))) / Float64(k_m * k_m)))); else tmp = Float64(Float64(l / k_m) * Float64(Float64(l / k_m) * Float64(2.0 / Float64(t * Float64(0.5 + Float64(-0.5 * cos(Float64(k_m * 2.0)))))))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 2.5e+109) tmp = ((l * cos(k_m)) / k_m) * ((l / k_m) * (((1.0 / t) * (2.0 + ((k_m * k_m) * 0.6666666666666666))) / (k_m * k_m))); else tmp = (l / k_m) * ((l / k_m) * (2.0 / (t * (0.5 + (-0.5 * cos((k_m * 2.0))))))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 2.5e+109], N[(N[(N[(l * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] * N[(N[(l / k$95$m), $MachinePrecision] * N[(N[(N[(1.0 / t), $MachinePrecision] * N[(2.0 + N[(N[(k$95$m * k$95$m), $MachinePrecision] * 0.6666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / k$95$m), $MachinePrecision] * N[(N[(l / k$95$m), $MachinePrecision] * N[(2.0 / N[(t * N[(0.5 + N[(-0.5 * N[Cos[N[(k$95$m * 2.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 2.5 \cdot 10^{+109}:\\
\;\;\;\;\frac{\ell \cdot \cos k\_m}{k\_m} \cdot \left(\frac{\ell}{k\_m} \cdot \frac{\frac{1}{t} \cdot \left(2 + \left(k\_m \cdot k\_m\right) \cdot 0.6666666666666666\right)}{k\_m \cdot k\_m}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{k\_m} \cdot \left(\frac{\ell}{k\_m} \cdot \frac{2}{t \cdot \left(0.5 + -0.5 \cdot \cos \left(k\_m \cdot 2\right)\right)}\right)\\
\end{array}
\end{array}
if k < 2.5000000000000001e109Initial program 35.1%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6476.4%
Simplified76.4%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr79.3%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6481.3%
Applied egg-rr81.3%
Taylor expanded in k around 0
*-commutativeN/A
associate-*l/N/A
associate-*r/N/A
metadata-evalN/A
associate-*r/N/A
/-lowering-/.f64N/A
+-commutativeN/A
associate-*r*N/A
*-commutativeN/A
distribute-rgt-outN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
+-lowering-+.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6467.5%
Simplified67.5%
if 2.5000000000000001e109 < k Initial program 25.9%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6456.2%
Simplified56.2%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr82.0%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6499.3%
Applied egg-rr99.3%
Taylor expanded in k around 0
Simplified51.7%
Final simplification65.8%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 3.5e+66) (* (/ (* (/ (/ l (* k_m k_m)) k_m) 2.0) t) (/ (* l (cos k_m)) k_m)) (* -0.3333333333333333 (/ (/ (* l (/ l k_m)) t) k_m))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 3.5e+66) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * cos(k_m)) / k_m);
} else {
tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m);
}
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.5d+66) then
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0d0) / t) * ((l * cos(k_m)) / k_m)
else
tmp = (-0.3333333333333333d0) * (((l * (l / k_m)) / t) / k_m)
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.5e+66) {
tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * Math.cos(k_m)) / k_m);
} else {
tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m);
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 3.5e+66: tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * math.cos(k_m)) / k_m) else: tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 3.5e+66) tmp = Float64(Float64(Float64(Float64(Float64(l / Float64(k_m * k_m)) / k_m) * 2.0) / t) * Float64(Float64(l * cos(k_m)) / k_m)); else tmp = Float64(-0.3333333333333333 * Float64(Float64(Float64(l * Float64(l / k_m)) / t) / k_m)); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 3.5e+66) tmp = ((((l / (k_m * k_m)) / k_m) * 2.0) / t) * ((l * cos(k_m)) / k_m); else tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 3.5e+66], N[(N[(N[(N[(N[(l / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] * 2.0), $MachinePrecision] / t), $MachinePrecision] * N[(N[(l * N[Cos[k$95$m], $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision], N[(-0.3333333333333333 * N[(N[(N[(l * N[(l / k$95$m), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 3.5 \cdot 10^{+66}:\\
\;\;\;\;\frac{\frac{\frac{\ell}{k\_m \cdot k\_m}}{k\_m} \cdot 2}{t} \cdot \frac{\ell \cdot \cos k\_m}{k\_m}\\
\mathbf{else}:\\
\;\;\;\;-0.3333333333333333 \cdot \frac{\frac{\ell \cdot \frac{\ell}{k\_m}}{t}}{k\_m}\\
\end{array}
\end{array}
if k < 3.4999999999999997e66Initial program 35.5%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6476.4%
Simplified76.4%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
Applied egg-rr78.6%
associate-*r*N/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6480.7%
Applied egg-rr80.7%
Taylor expanded in k around 0
*-commutativeN/A
associate-/r*N/A
associate-*l/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow3N/A
unpow2N/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6476.8%
Simplified76.8%
if 3.4999999999999997e66 < k Initial program 25.7%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified45.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified9.0%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6447.8%
Simplified47.8%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6453.0%
Applied egg-rr53.0%
*-commutativeN/A
associate-/r*N/A
associate-*l/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6453.4%
Applied egg-rr53.4%
Final simplification73.6%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 3.5e+40)
(/
(*
(/ (* l (/ l (* k_m t))) k_m)
(+ 2.0 (* k_m (* k_m -0.3333333333333333))))
(* k_m k_m))
(* -0.3333333333333333 (/ (/ (* l (/ l k_m)) t) k_m))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 3.5e+40) {
tmp = (((l * (l / (k_m * t))) / k_m) * (2.0 + (k_m * (k_m * -0.3333333333333333)))) / (k_m * k_m);
} else {
tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m);
}
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.5d+40) then
tmp = (((l * (l / (k_m * t))) / k_m) * (2.0d0 + (k_m * (k_m * (-0.3333333333333333d0))))) / (k_m * k_m)
else
tmp = (-0.3333333333333333d0) * (((l * (l / k_m)) / t) / k_m)
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.5e+40) {
tmp = (((l * (l / (k_m * t))) / k_m) * (2.0 + (k_m * (k_m * -0.3333333333333333)))) / (k_m * k_m);
} else {
tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m);
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 3.5e+40: tmp = (((l * (l / (k_m * t))) / k_m) * (2.0 + (k_m * (k_m * -0.3333333333333333)))) / (k_m * k_m) else: tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 3.5e+40) tmp = Float64(Float64(Float64(Float64(l * Float64(l / Float64(k_m * t))) / k_m) * Float64(2.0 + Float64(k_m * Float64(k_m * -0.3333333333333333)))) / Float64(k_m * k_m)); else tmp = Float64(-0.3333333333333333 * Float64(Float64(Float64(l * Float64(l / k_m)) / t) / k_m)); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 3.5e+40) tmp = (((l * (l / (k_m * t))) / k_m) * (2.0 + (k_m * (k_m * -0.3333333333333333)))) / (k_m * k_m); else tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 3.5e+40], N[(N[(N[(N[(l * N[(l / N[(k$95$m * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] * N[(2.0 + N[(k$95$m * N[(k$95$m * -0.3333333333333333), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision], N[(-0.3333333333333333 * N[(N[(N[(l * N[(l / k$95$m), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 3.5 \cdot 10^{+40}:\\
\;\;\;\;\frac{\frac{\ell \cdot \frac{\ell}{k\_m \cdot t}}{k\_m} \cdot \left(2 + k\_m \cdot \left(k\_m \cdot -0.3333333333333333\right)\right)}{k\_m \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;-0.3333333333333333 \cdot \frac{\frac{\ell \cdot \frac{\ell}{k\_m}}{t}}{k\_m}\\
\end{array}
\end{array}
if k < 3.4999999999999999e40Initial program 36.2%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6476.5%
Simplified76.5%
Taylor expanded in k around 0
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
distribute-rgt-out--N/A
metadata-evalN/A
associate-*l*N/A
metadata-evalN/A
*-commutativeN/A
metadata-evalN/A
pow-sqrN/A
Simplified53.1%
times-fracN/A
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
+-lowering-+.f64N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f6466.5%
Applied egg-rr66.5%
if 3.4999999999999999e40 < k Initial program 23.7%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified43.0%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified7.7%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6447.2%
Simplified47.2%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6451.6%
Applied egg-rr51.6%
*-commutativeN/A
associate-/r*N/A
associate-*l/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6451.9%
Applied egg-rr51.9%
Final simplification64.1%
k_m = (fabs.f64 k)
(FPCore (t l k_m)
:precision binary64
(if (<= k_m 8.2e+41)
(*
(/ (* l (/ l (* k_m t))) k_m)
(/ (+ 2.0 (* k_m (* k_m -0.3333333333333333))) (* k_m k_m)))
(* -0.3333333333333333 (/ (/ (* l (/ l k_m)) t) k_m))))k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 8.2e+41) {
tmp = ((l * (l / (k_m * t))) / k_m) * ((2.0 + (k_m * (k_m * -0.3333333333333333))) / (k_m * k_m));
} else {
tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m);
}
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 <= 8.2d+41) then
tmp = ((l * (l / (k_m * t))) / k_m) * ((2.0d0 + (k_m * (k_m * (-0.3333333333333333d0)))) / (k_m * k_m))
else
tmp = (-0.3333333333333333d0) * (((l * (l / k_m)) / t) / k_m)
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 <= 8.2e+41) {
tmp = ((l * (l / (k_m * t))) / k_m) * ((2.0 + (k_m * (k_m * -0.3333333333333333))) / (k_m * k_m));
} else {
tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m);
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 8.2e+41: tmp = ((l * (l / (k_m * t))) / k_m) * ((2.0 + (k_m * (k_m * -0.3333333333333333))) / (k_m * k_m)) else: tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 8.2e+41) tmp = Float64(Float64(Float64(l * Float64(l / Float64(k_m * t))) / k_m) * Float64(Float64(2.0 + Float64(k_m * Float64(k_m * -0.3333333333333333))) / Float64(k_m * k_m))); else tmp = Float64(-0.3333333333333333 * Float64(Float64(Float64(l * Float64(l / k_m)) / t) / k_m)); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 8.2e+41) tmp = ((l * (l / (k_m * t))) / k_m) * ((2.0 + (k_m * (k_m * -0.3333333333333333))) / (k_m * k_m)); else tmp = -0.3333333333333333 * (((l * (l / k_m)) / t) / k_m); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 8.2e+41], N[(N[(N[(l * N[(l / N[(k$95$m * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision] * N[(N[(2.0 + N[(k$95$m * N[(k$95$m * -0.3333333333333333), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(-0.3333333333333333 * N[(N[(N[(l * N[(l / k$95$m), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 8.2 \cdot 10^{+41}:\\
\;\;\;\;\frac{\ell \cdot \frac{\ell}{k\_m \cdot t}}{k\_m} \cdot \frac{2 + k\_m \cdot \left(k\_m \cdot -0.3333333333333333\right)}{k\_m \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;-0.3333333333333333 \cdot \frac{\frac{\ell \cdot \frac{\ell}{k\_m}}{t}}{k\_m}\\
\end{array}
\end{array}
if k < 8.2000000000000007e41Initial program 36.0%
Taylor expanded in t around 0
associate-*r/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
unpow2N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
cos-lowering-cos.f64N/A
*-commutativeN/A
unpow2N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
pow-lowering-pow.f64N/A
sin-lowering-sin.f6476.2%
Simplified76.2%
Taylor expanded in k around 0
+-commutativeN/A
*-commutativeN/A
associate-*r*N/A
distribute-rgt-out--N/A
metadata-evalN/A
associate-*l*N/A
metadata-evalN/A
*-commutativeN/A
metadata-evalN/A
pow-sqrN/A
Simplified52.9%
*-commutativeN/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
+-lowering-+.f64N/A
associate-*l*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6466.3%
Applied egg-rr66.3%
if 8.2000000000000007e41 < k Initial program 24.3%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified44.1%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified7.9%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6448.3%
Simplified48.3%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6452.8%
Applied egg-rr52.8%
*-commutativeN/A
associate-/r*N/A
associate-*l/N/A
/-lowering-/.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6453.2%
Applied egg-rr53.2%
Final simplification64.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 600000000000.0) (/ 2.0 (/ (/ (* t (* k_m (* k_m (* k_m k_m)))) l) l)) (* -0.3333333333333333 (/ (/ l k_m) (/ k_m (/ l t))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 600000000000.0) {
tmp = 2.0 / (((t * (k_m * (k_m * (k_m * k_m)))) / l) / l);
} else {
tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / 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 <= 600000000000.0d0) then
tmp = 2.0d0 / (((t * (k_m * (k_m * (k_m * k_m)))) / l) / l)
else
tmp = (-0.3333333333333333d0) * ((l / k_m) / (k_m / (l / 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 <= 600000000000.0) {
tmp = 2.0 / (((t * (k_m * (k_m * (k_m * k_m)))) / l) / l);
} else {
tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t)));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 600000000000.0: tmp = 2.0 / (((t * (k_m * (k_m * (k_m * k_m)))) / l) / l) else: tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 600000000000.0) tmp = Float64(2.0 / Float64(Float64(Float64(t * Float64(k_m * Float64(k_m * Float64(k_m * k_m)))) / l) / l)); else tmp = Float64(-0.3333333333333333 * Float64(Float64(l / k_m) / Float64(k_m / Float64(l / t)))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 600000000000.0) tmp = 2.0 / (((t * (k_m * (k_m * (k_m * k_m)))) / l) / l); else tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 600000000000.0], N[(2.0 / N[(N[(N[(t * N[(k$95$m * N[(k$95$m * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(-0.3333333333333333 * N[(N[(l / k$95$m), $MachinePrecision] / N[(k$95$m / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 600000000000:\\
\;\;\;\;\frac{2}{\frac{\frac{t \cdot \left(k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot k\_m\right)\right)\right)}{\ell}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;-0.3333333333333333 \cdot \frac{\frac{\ell}{k\_m}}{\frac{k\_m}{\frac{\ell}{t}}}\\
\end{array}
\end{array}
if k < 6e11Initial program 36.8%
Taylor expanded in k around 0
associate-/l*N/A
*-lowering-*.f64N/A
metadata-evalN/A
pow-sqrN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6463.6%
Simplified63.6%
associate-*r/N/A
associate-/r*N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f6472.1%
Applied egg-rr72.1%
if 6e11 < k Initial program 22.9%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified41.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified7.0%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6446.3%
Simplified46.3%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6450.4%
Applied egg-rr50.4%
associate-*r/N/A
associate-/l/N/A
associate-/r*N/A
associate-/l*N/A
times-fracN/A
associate-/r*N/A
*-commutativeN/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
associate-/l*N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f6450.2%
Applied egg-rr50.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 600000000000.0) (/ 2.0 (/ (/ (* k_m (* k_m (* k_m k_m))) (/ l t)) l)) (* -0.3333333333333333 (/ (/ l k_m) (/ k_m (/ l t))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 600000000000.0) {
tmp = 2.0 / (((k_m * (k_m * (k_m * k_m))) / (l / t)) / l);
} else {
tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / 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 <= 600000000000.0d0) then
tmp = 2.0d0 / (((k_m * (k_m * (k_m * k_m))) / (l / t)) / l)
else
tmp = (-0.3333333333333333d0) * ((l / k_m) / (k_m / (l / 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 <= 600000000000.0) {
tmp = 2.0 / (((k_m * (k_m * (k_m * k_m))) / (l / t)) / l);
} else {
tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t)));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 600000000000.0: tmp = 2.0 / (((k_m * (k_m * (k_m * k_m))) / (l / t)) / l) else: tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 600000000000.0) tmp = Float64(2.0 / Float64(Float64(Float64(k_m * Float64(k_m * Float64(k_m * k_m))) / Float64(l / t)) / l)); else tmp = Float64(-0.3333333333333333 * Float64(Float64(l / k_m) / Float64(k_m / Float64(l / t)))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 600000000000.0) tmp = 2.0 / (((k_m * (k_m * (k_m * k_m))) / (l / t)) / l); else tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 600000000000.0], N[(2.0 / N[(N[(N[(k$95$m * N[(k$95$m * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(l / t), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision], N[(-0.3333333333333333 * N[(N[(l / k$95$m), $MachinePrecision] / N[(k$95$m / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 600000000000:\\
\;\;\;\;\frac{2}{\frac{\frac{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot k\_m\right)\right)}{\frac{\ell}{t}}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;-0.3333333333333333 \cdot \frac{\frac{\ell}{k\_m}}{\frac{k\_m}{\frac{\ell}{t}}}\\
\end{array}
\end{array}
if k < 6e11Initial program 36.8%
Taylor expanded in k around 0
associate-/l*N/A
*-lowering-*.f64N/A
metadata-evalN/A
pow-sqrN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6463.6%
Simplified63.6%
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6472.0%
Applied egg-rr72.0%
if 6e11 < k Initial program 22.9%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified41.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified7.0%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6446.3%
Simplified46.3%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6450.4%
Applied egg-rr50.4%
associate-*r/N/A
associate-/l/N/A
associate-/r*N/A
associate-/l*N/A
times-fracN/A
associate-/r*N/A
*-commutativeN/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
associate-/l*N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f6450.2%
Applied egg-rr50.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 600000000000.0) (/ 2.0 (/ (/ (* k_m (* k_m (* k_m k_m))) l) (/ l t))) (* -0.3333333333333333 (/ (/ l k_m) (/ k_m (/ l t))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 600000000000.0) {
tmp = 2.0 / (((k_m * (k_m * (k_m * k_m))) / l) / (l / t));
} else {
tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / 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 <= 600000000000.0d0) then
tmp = 2.0d0 / (((k_m * (k_m * (k_m * k_m))) / l) / (l / t))
else
tmp = (-0.3333333333333333d0) * ((l / k_m) / (k_m / (l / 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 <= 600000000000.0) {
tmp = 2.0 / (((k_m * (k_m * (k_m * k_m))) / l) / (l / t));
} else {
tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t)));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 600000000000.0: tmp = 2.0 / (((k_m * (k_m * (k_m * k_m))) / l) / (l / t)) else: tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 600000000000.0) tmp = Float64(2.0 / Float64(Float64(Float64(k_m * Float64(k_m * Float64(k_m * k_m))) / l) / Float64(l / t))); else tmp = Float64(-0.3333333333333333 * Float64(Float64(l / k_m) / Float64(k_m / Float64(l / t)))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 600000000000.0) tmp = 2.0 / (((k_m * (k_m * (k_m * k_m))) / l) / (l / t)); else tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 600000000000.0], N[(2.0 / N[(N[(N[(k$95$m * N[(k$95$m * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision] / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(-0.3333333333333333 * N[(N[(l / k$95$m), $MachinePrecision] / N[(k$95$m / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 600000000000:\\
\;\;\;\;\frac{2}{\frac{\frac{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot k\_m\right)\right)}{\ell}}{\frac{\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;-0.3333333333333333 \cdot \frac{\frac{\ell}{k\_m}}{\frac{k\_m}{\frac{\ell}{t}}}\\
\end{array}
\end{array}
if k < 6e11Initial program 36.8%
Taylor expanded in k around 0
associate-/l*N/A
*-lowering-*.f64N/A
metadata-evalN/A
pow-sqrN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6463.6%
Simplified63.6%
associate-*r/N/A
times-fracN/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6471.5%
Applied egg-rr71.5%
if 6e11 < k Initial program 22.9%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified41.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified7.0%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6446.3%
Simplified46.3%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6450.4%
Applied egg-rr50.4%
associate-*r/N/A
associate-/l/N/A
associate-/r*N/A
associate-/l*N/A
times-fracN/A
associate-/r*N/A
*-commutativeN/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
associate-/l*N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f6450.2%
Applied egg-rr50.2%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 600000000000.0) (* l (/ (/ 2.0 (* k_m (* k_m (* k_m k_m)))) (/ t l))) (* -0.3333333333333333 (/ (/ l k_m) (/ k_m (/ l t))))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 600000000000.0) {
tmp = l * ((2.0 / (k_m * (k_m * (k_m * k_m)))) / (t / l));
} else {
tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / 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 <= 600000000000.0d0) then
tmp = l * ((2.0d0 / (k_m * (k_m * (k_m * k_m)))) / (t / l))
else
tmp = (-0.3333333333333333d0) * ((l / k_m) / (k_m / (l / 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 <= 600000000000.0) {
tmp = l * ((2.0 / (k_m * (k_m * (k_m * k_m)))) / (t / l));
} else {
tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t)));
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 600000000000.0: tmp = l * ((2.0 / (k_m * (k_m * (k_m * k_m)))) / (t / l)) else: tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 600000000000.0) tmp = Float64(l * Float64(Float64(2.0 / Float64(k_m * Float64(k_m * Float64(k_m * k_m)))) / Float64(t / l))); else tmp = Float64(-0.3333333333333333 * Float64(Float64(l / k_m) / Float64(k_m / Float64(l / t)))); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 600000000000.0) tmp = l * ((2.0 / (k_m * (k_m * (k_m * k_m)))) / (t / l)); else tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 600000000000.0], N[(l * N[(N[(2.0 / N[(k$95$m * N[(k$95$m * N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(-0.3333333333333333 * N[(N[(l / k$95$m), $MachinePrecision] / N[(k$95$m / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 600000000000:\\
\;\;\;\;\ell \cdot \frac{\frac{2}{k\_m \cdot \left(k\_m \cdot \left(k\_m \cdot k\_m\right)\right)}}{\frac{t}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;-0.3333333333333333 \cdot \frac{\frac{\ell}{k\_m}}{\frac{k\_m}{\frac{\ell}{t}}}\\
\end{array}
\end{array}
if k < 6e11Initial program 36.8%
Taylor expanded in k around 0
associate-/l*N/A
*-lowering-*.f64N/A
metadata-evalN/A
pow-sqrN/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f6463.6%
Simplified63.6%
associate-/r*N/A
associate-/r*N/A
associate-/r/N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
associate-*r*N/A
*-commutativeN/A
*-lowering-*.f64N/A
associate-*r*N/A
*-lowering-*.f64N/A
*-lowering-*.f64N/A
/-lowering-/.f6471.3%
Applied egg-rr71.3%
if 6e11 < k Initial program 22.9%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified41.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified7.0%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6446.3%
Simplified46.3%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6450.4%
Applied egg-rr50.4%
associate-*r/N/A
associate-/l/N/A
associate-/r*N/A
associate-/l*N/A
times-fracN/A
associate-/r*N/A
*-commutativeN/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
associate-/l*N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f6450.2%
Applied egg-rr50.2%
Final simplification67.3%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (if (<= k_m 7.2e-144) (/ (* (/ l (/ t l)) 0.3333333333333333) (- 0.0 (* k_m k_m))) (* -0.3333333333333333 (/ (* l (/ l (* k_m t))) k_m))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
double tmp;
if (k_m <= 7.2e-144) {
tmp = ((l / (t / l)) * 0.3333333333333333) / (0.0 - (k_m * k_m));
} else {
tmp = -0.3333333333333333 * ((l * (l / (k_m * t))) / k_m);
}
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 <= 7.2d-144) then
tmp = ((l / (t / l)) * 0.3333333333333333d0) / (0.0d0 - (k_m * k_m))
else
tmp = (-0.3333333333333333d0) * ((l * (l / (k_m * t))) / k_m)
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 <= 7.2e-144) {
tmp = ((l / (t / l)) * 0.3333333333333333) / (0.0 - (k_m * k_m));
} else {
tmp = -0.3333333333333333 * ((l * (l / (k_m * t))) / k_m);
}
return tmp;
}
k_m = math.fabs(k) def code(t, l, k_m): tmp = 0 if k_m <= 7.2e-144: tmp = ((l / (t / l)) * 0.3333333333333333) / (0.0 - (k_m * k_m)) else: tmp = -0.3333333333333333 * ((l * (l / (k_m * t))) / k_m) return tmp
k_m = abs(k) function code(t, l, k_m) tmp = 0.0 if (k_m <= 7.2e-144) tmp = Float64(Float64(Float64(l / Float64(t / l)) * 0.3333333333333333) / Float64(0.0 - Float64(k_m * k_m))); else tmp = Float64(-0.3333333333333333 * Float64(Float64(l * Float64(l / Float64(k_m * t))) / k_m)); end return tmp end
k_m = abs(k); function tmp_2 = code(t, l, k_m) tmp = 0.0; if (k_m <= 7.2e-144) tmp = ((l / (t / l)) * 0.3333333333333333) / (0.0 - (k_m * k_m)); else tmp = -0.3333333333333333 * ((l * (l / (k_m * t))) / k_m); end tmp_2 = tmp; end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := If[LessEqual[k$95$m, 7.2e-144], N[(N[(N[(l / N[(t / l), $MachinePrecision]), $MachinePrecision] * 0.3333333333333333), $MachinePrecision] / N[(0.0 - N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(-0.3333333333333333 * N[(N[(l * N[(l / N[(k$95$m * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
k_m = \left|k\right|
\\
\begin{array}{l}
\mathbf{if}\;k\_m \leq 7.2 \cdot 10^{-144}:\\
\;\;\;\;\frac{\frac{\ell}{\frac{t}{\ell}} \cdot 0.3333333333333333}{0 - k\_m \cdot k\_m}\\
\mathbf{else}:\\
\;\;\;\;-0.3333333333333333 \cdot \frac{\ell \cdot \frac{\ell}{k\_m \cdot t}}{k\_m}\\
\end{array}
\end{array}
if k < 7.2000000000000001e-144Initial program 36.8%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified51.5%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified31.9%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6418.8%
Simplified18.8%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6420.1%
Applied egg-rr20.1%
associate-*r/N/A
associate-*r/N/A
associate-/l/N/A
associate-/l*N/A
*-commutativeN/A
clear-numN/A
associate-/r*N/A
frac-2negN/A
/-lowering-/.f64N/A
Applied egg-rr50.2%
if 7.2000000000000001e-144 < k Initial program 27.5%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified38.4%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified15.6%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6432.5%
Simplified32.5%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6435.1%
Applied egg-rr35.1%
frac-2negN/A
distribute-frac-negN/A
neg-lowering-neg.f64N/A
/-lowering-/.f64N/A
neg-sub0N/A
--lowering--.f64N/A
*-lowering-*.f6436.5%
Applied egg-rr36.5%
Final simplification45.9%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (/ (* (/ l (/ t l)) 0.3333333333333333) (- 0.0 (* k_m k_m))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return ((l / (t / l)) * 0.3333333333333333) / (0.0 - (k_m * k_m));
}
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 / l)) * 0.3333333333333333d0) / (0.0d0 - (k_m * k_m))
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return ((l / (t / l)) * 0.3333333333333333) / (0.0 - (k_m * k_m));
}
k_m = math.fabs(k) def code(t, l, k_m): return ((l / (t / l)) * 0.3333333333333333) / (0.0 - (k_m * k_m))
k_m = abs(k) function code(t, l, k_m) return Float64(Float64(Float64(l / Float64(t / l)) * 0.3333333333333333) / Float64(0.0 - Float64(k_m * k_m))) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = ((l / (t / l)) * 0.3333333333333333) / (0.0 - (k_m * k_m)); end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(N[(N[(l / N[(t / l), $MachinePrecision]), $MachinePrecision] * 0.3333333333333333), $MachinePrecision] / N[(0.0 - N[(k$95$m * k$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
\frac{\frac{\ell}{\frac{t}{\ell}} \cdot 0.3333333333333333}{0 - k\_m \cdot k\_m}
\end{array}
Initial program 34.2%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified47.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified27.2%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.7%
Simplified22.7%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6424.4%
Applied egg-rr24.4%
associate-*r/N/A
associate-*r/N/A
associate-/l/N/A
associate-/l*N/A
*-commutativeN/A
clear-numN/A
associate-/r*N/A
frac-2negN/A
/-lowering-/.f64N/A
Applied egg-rr45.6%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (* -0.3333333333333333 (/ (/ l k_m) (/ k_m (/ l t)))))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return -0.3333333333333333 * ((l / k_m) / (k_m / (l / t)));
}
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 = (-0.3333333333333333d0) * ((l / k_m) / (k_m / (l / t)))
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return -0.3333333333333333 * ((l / k_m) / (k_m / (l / t)));
}
k_m = math.fabs(k) def code(t, l, k_m): return -0.3333333333333333 * ((l / k_m) / (k_m / (l / t)))
k_m = abs(k) function code(t, l, k_m) return Float64(-0.3333333333333333 * Float64(Float64(l / k_m) / Float64(k_m / Float64(l / t)))) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = -0.3333333333333333 * ((l / k_m) / (k_m / (l / t))); end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(-0.3333333333333333 * N[(N[(l / k$95$m), $MachinePrecision] / N[(k$95$m / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
-0.3333333333333333 \cdot \frac{\frac{\ell}{k\_m}}{\frac{k\_m}{\frac{\ell}{t}}}
\end{array}
Initial program 34.2%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified47.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified27.2%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.7%
Simplified22.7%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6424.4%
Applied egg-rr24.4%
associate-*r/N/A
associate-/l/N/A
associate-/r*N/A
associate-/l*N/A
times-fracN/A
associate-/r*N/A
*-commutativeN/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f64N/A
associate-/l*N/A
clear-numN/A
un-div-invN/A
/-lowering-/.f64N/A
/-lowering-/.f6424.5%
Applied egg-rr24.5%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (* -0.3333333333333333 (/ (* (/ l k_m) (/ l t)) k_m)))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return -0.3333333333333333 * (((l / k_m) * (l / t)) / k_m);
}
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 = (-0.3333333333333333d0) * (((l / k_m) * (l / t)) / k_m)
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return -0.3333333333333333 * (((l / k_m) * (l / t)) / k_m);
}
k_m = math.fabs(k) def code(t, l, k_m): return -0.3333333333333333 * (((l / k_m) * (l / t)) / k_m)
k_m = abs(k) function code(t, l, k_m) return Float64(-0.3333333333333333 * Float64(Float64(Float64(l / k_m) * Float64(l / t)) / k_m)) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = -0.3333333333333333 * (((l / k_m) * (l / t)) / k_m); end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(-0.3333333333333333 * N[(N[(N[(l / k$95$m), $MachinePrecision] * N[(l / t), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
-0.3333333333333333 \cdot \frac{\frac{\ell}{k\_m} \cdot \frac{\ell}{t}}{k\_m}
\end{array}
Initial program 34.2%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified47.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified27.2%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.7%
Simplified22.7%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6424.4%
Applied egg-rr24.4%
associate-*r/N/A
*-commutativeN/A
times-fracN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
/-lowering-/.f6424.5%
Applied egg-rr24.5%
Final simplification24.5%
k_m = (fabs.f64 k) (FPCore (t l k_m) :precision binary64 (* -0.3333333333333333 (/ (* l (/ l (* k_m t))) k_m)))
k_m = fabs(k);
double code(double t, double l, double k_m) {
return -0.3333333333333333 * ((l * (l / (k_m * t))) / k_m);
}
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 = (-0.3333333333333333d0) * ((l * (l / (k_m * t))) / k_m)
end function
k_m = Math.abs(k);
public static double code(double t, double l, double k_m) {
return -0.3333333333333333 * ((l * (l / (k_m * t))) / k_m);
}
k_m = math.fabs(k) def code(t, l, k_m): return -0.3333333333333333 * ((l * (l / (k_m * t))) / k_m)
k_m = abs(k) function code(t, l, k_m) return Float64(-0.3333333333333333 * Float64(Float64(l * Float64(l / Float64(k_m * t))) / k_m)) end
k_m = abs(k); function tmp = code(t, l, k_m) tmp = -0.3333333333333333 * ((l * (l / (k_m * t))) / k_m); end
k_m = N[Abs[k], $MachinePrecision] code[t_, l_, k$95$m_] := N[(-0.3333333333333333 * N[(N[(l * N[(l / N[(k$95$m * t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / k$95$m), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
k_m = \left|k\right|
\\
-0.3333333333333333 \cdot \frac{\ell \cdot \frac{\ell}{k\_m \cdot t}}{k\_m}
\end{array}
Initial program 34.2%
associate-/r*N/A
/-lowering-/.f64N/A
Simplified47.8%
Taylor expanded in k around 0
*-commutativeN/A
associate-/l*N/A
associate-*r*N/A
*-commutativeN/A
/-lowering-/.f64N/A
Simplified27.2%
Taylor expanded in k around inf
associate-*r/N/A
*-commutativeN/A
associate-/r*N/A
associate-*r/N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
unpow2N/A
*-lowering-*.f64N/A
unpow2N/A
*-lowering-*.f6422.7%
Simplified22.7%
*-commutativeN/A
associate-/l*N/A
*-lowering-*.f64N/A
associate-/r*N/A
/-lowering-/.f64N/A
associate-/l*N/A
associate-/l*N/A
associate-/r*N/A
*-lowering-*.f64N/A
/-lowering-/.f64N/A
*-commutativeN/A
*-lowering-*.f6424.4%
Applied egg-rr24.4%
herbie shell --seed 2024152
(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))))