
(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 20 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}
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 4.2e-6)
(/ 2.0 (* (* (* (tan k) (sin k)) (pow l -1.0)) (* (* (/ k l) t_m) k)))
(/
2.0
(*
(- (+ 1.0 (pow (/ k t_m) 2.0)) -1.0)
(* (* (tan k) t_m) (* (/ t_m l) (* (/ (sin k) l) t_m))))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 4.2e-6) {
tmp = 2.0 / (((tan(k) * sin(k)) * pow(l, -1.0)) * (((k / l) * t_m) * k));
} else {
tmp = 2.0 / (((1.0 + pow((k / t_m), 2.0)) - -1.0) * ((tan(k) * t_m) * ((t_m / l) * ((sin(k) / l) * t_m))));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 4.2d-6) then
tmp = 2.0d0 / (((tan(k) * sin(k)) * (l ** (-1.0d0))) * (((k / l) * t_m) * k))
else
tmp = 2.0d0 / (((1.0d0 + ((k / t_m) ** 2.0d0)) - (-1.0d0)) * ((tan(k) * t_m) * ((t_m / l) * ((sin(k) / l) * t_m))))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 4.2e-6) {
tmp = 2.0 / (((Math.tan(k) * Math.sin(k)) * Math.pow(l, -1.0)) * (((k / l) * t_m) * k));
} else {
tmp = 2.0 / (((1.0 + Math.pow((k / t_m), 2.0)) - -1.0) * ((Math.tan(k) * t_m) * ((t_m / l) * ((Math.sin(k) / l) * t_m))));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if t_m <= 4.2e-6: tmp = 2.0 / (((math.tan(k) * math.sin(k)) * math.pow(l, -1.0)) * (((k / l) * t_m) * k)) else: tmp = 2.0 / (((1.0 + math.pow((k / t_m), 2.0)) - -1.0) * ((math.tan(k) * t_m) * ((t_m / l) * ((math.sin(k) / l) * t_m)))) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 4.2e-6) tmp = Float64(2.0 / Float64(Float64(Float64(tan(k) * sin(k)) * (l ^ -1.0)) * Float64(Float64(Float64(k / l) * t_m) * k))); else tmp = Float64(2.0 / Float64(Float64(Float64(1.0 + (Float64(k / t_m) ^ 2.0)) - -1.0) * Float64(Float64(tan(k) * t_m) * Float64(Float64(t_m / l) * Float64(Float64(sin(k) / l) * t_m))))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (t_m <= 4.2e-6) tmp = 2.0 / (((tan(k) * sin(k)) * (l ^ -1.0)) * (((k / l) * t_m) * k)); else tmp = 2.0 / (((1.0 + ((k / t_m) ^ 2.0)) - -1.0) * ((tan(k) * t_m) * ((t_m / l) * ((sin(k) / l) * t_m)))); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 4.2e-6], N[(2.0 / N[(N[(N[(N[Tan[k], $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Power[l, -1.0], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(k / l), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(1.0 + N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision] * N[(N[(N[Tan[k], $MachinePrecision] * t$95$m), $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision] * t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_m \leq 4.2 \cdot 10^{-6}:\\
\;\;\;\;\frac{2}{\left(\left(\tan k \cdot \sin k\right) \cdot {\ell}^{-1}\right) \cdot \left(\left(\frac{k}{\ell} \cdot t\_m\right) \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(1 + {\left(\frac{k}{t\_m}\right)}^{2}\right) - -1\right) \cdot \left(\left(\tan k \cdot t\_m\right) \cdot \left(\frac{t\_m}{\ell} \cdot \left(\frac{\sin k}{\ell} \cdot t\_m\right)\right)\right)}\\
\end{array}
\end{array}
if t < 4.1999999999999996e-6Initial program 53.6%
Taylor expanded in t around 0
associate-*r*N/A
times-fracN/A
*-commutativeN/A
associate-*r/N/A
lower-*.f64N/A
associate-*r/N/A
*-commutativeN/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
*-commutativeN/A
associate-/l*N/A
lower-*.f64N/A
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
lower-/.f64N/A
Applied rewrites73.6%
Applied rewrites83.4%
Applied rewrites83.4%
if 4.1999999999999996e-6 < t Initial program 58.0%
lift-*.f64N/A
lift-/.f64N/A
associate-*l/N/A
lift-*.f64N/A
times-fracN/A
lift-pow.f64N/A
cube-multN/A
associate-/l*N/A
associate-*l*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-/.f64N/A
lower-*.f64N/A
lower-/.f6473.1
Applied rewrites73.1%
lift-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
lower-*.f64N/A
lift-*.f64N/A
*-commutativeN/A
lift-/.f64N/A
lift-*.f64N/A
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
lower-/.f64N/A
lower-*.f6487.3
Applied rewrites87.3%
Final simplification84.5%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<=
(/
2.0
(*
(* (* (/ (pow t_m 3.0) (* l l)) (sin k)) (tan k))
(- (+ 1.0 (pow (/ k t_m) 2.0)) -1.0)))
1e+247)
(/ 2.0 (/ (* (* (* (* k 2.0) t_m) k) (* t_m t_m)) (* l l)))
(/ 2.0 (* (* (* (/ t_m l) t_m) (/ t_m l)) (* (* k k) 2.0))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if ((2.0 / ((((pow(t_m, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t_m), 2.0)) - -1.0))) <= 1e+247) {
tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l));
} else {
tmp = 2.0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if ((2.0d0 / (((((t_m ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t_m) ** 2.0d0)) - (-1.0d0)))) <= 1d+247) then
tmp = 2.0d0 / (((((k * 2.0d0) * t_m) * k) * (t_m * t_m)) / (l * l))
else
tmp = 2.0d0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0d0))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if ((2.0 / ((((Math.pow(t_m, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t_m), 2.0)) - -1.0))) <= 1e+247) {
tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l));
} else {
tmp = 2.0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if (2.0 / ((((math.pow(t_m, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t_m), 2.0)) - -1.0))) <= 1e+247: tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l)) else: tmp = 2.0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t_m ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t_m) ^ 2.0)) - -1.0))) <= 1e+247) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * 2.0) * t_m) * k) * Float64(t_m * t_m)) / Float64(l * l))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(t_m / l) * t_m) * Float64(t_m / l)) * Float64(Float64(k * k) * 2.0))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if ((2.0 / (((((t_m ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t_m) ^ 2.0)) - -1.0))) <= 1e+247) tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l)); else tmp = 2.0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[N[(2.0 / N[(N[(N[(N[(N[Power[t$95$m, 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$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1e+247], N[(2.0 / N[(N[(N[(N[(N[(k * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision] * N[(t$95$m * t$95$m), $MachinePrecision]), $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(t$95$m / l), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t\_m}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t\_m}\right)}^{2}\right) - -1\right)} \leq 10^{+247}:\\
\;\;\;\;\frac{2}{\frac{\left(\left(\left(k \cdot 2\right) \cdot t\_m\right) \cdot k\right) \cdot \left(t\_m \cdot t\_m\right)}{\ell \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{t\_m}{\ell} \cdot t\_m\right) \cdot \frac{t\_m}{\ell}\right) \cdot \left(\left(k \cdot k\right) \cdot 2\right)}\\
\end{array}
\end{array}
if (/.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t #s(literal 3 binary64)) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 k t) #s(literal 2 binary64))) #s(literal 1 binary64)))) < 9.99999999999999952e246Initial program 81.6%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6462.8
Applied rewrites62.8%
Applied rewrites62.0%
Applied rewrites62.9%
Applied rewrites71.8%
if 9.99999999999999952e246 < (/.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t #s(literal 3 binary64)) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 k t) #s(literal 2 binary64))) #s(literal 1 binary64)))) Initial program 27.6%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6445.0
Applied rewrites45.0%
Applied rewrites42.1%
Applied rewrites57.4%
Final simplification64.7%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<=
(/
2.0
(*
(* (* (/ (pow t_m 3.0) (* l l)) (sin k)) (tan k))
(- (+ 1.0 (pow (/ k t_m) 2.0)) -1.0)))
1e+247)
(/ 2.0 (/ (* (* (* (* k 2.0) t_m) k) (* t_m t_m)) (* l l)))
(/ 2.0 (* (* (* (/ (/ t_m l) l) t_m) t_m) (* (* k k) 2.0))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if ((2.0 / ((((pow(t_m, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t_m), 2.0)) - -1.0))) <= 1e+247) {
tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l));
} else {
tmp = 2.0 / (((((t_m / l) / l) * t_m) * t_m) * ((k * k) * 2.0));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if ((2.0d0 / (((((t_m ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t_m) ** 2.0d0)) - (-1.0d0)))) <= 1d+247) then
tmp = 2.0d0 / (((((k * 2.0d0) * t_m) * k) * (t_m * t_m)) / (l * l))
else
tmp = 2.0d0 / (((((t_m / l) / l) * t_m) * t_m) * ((k * k) * 2.0d0))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if ((2.0 / ((((Math.pow(t_m, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t_m), 2.0)) - -1.0))) <= 1e+247) {
tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l));
} else {
tmp = 2.0 / (((((t_m / l) / l) * t_m) * t_m) * ((k * k) * 2.0));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if (2.0 / ((((math.pow(t_m, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t_m), 2.0)) - -1.0))) <= 1e+247: tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l)) else: tmp = 2.0 / (((((t_m / l) / l) * t_m) * t_m) * ((k * k) * 2.0)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t_m ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t_m) ^ 2.0)) - -1.0))) <= 1e+247) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * 2.0) * t_m) * k) * Float64(t_m * t_m)) / Float64(l * l))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(t_m / l) / l) * t_m) * t_m) * Float64(Float64(k * k) * 2.0))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if ((2.0 / (((((t_m ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t_m) ^ 2.0)) - -1.0))) <= 1e+247) tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l)); else tmp = 2.0 / (((((t_m / l) / l) * t_m) * t_m) * ((k * k) * 2.0)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[N[(2.0 / N[(N[(N[(N[(N[Power[t$95$m, 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$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1e+247], N[(2.0 / N[(N[(N[(N[(N[(k * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision] * N[(t$95$m * t$95$m), $MachinePrecision]), $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(t$95$m / l), $MachinePrecision] / l), $MachinePrecision] * t$95$m), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t\_m}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t\_m}\right)}^{2}\right) - -1\right)} \leq 10^{+247}:\\
\;\;\;\;\frac{2}{\frac{\left(\left(\left(k \cdot 2\right) \cdot t\_m\right) \cdot k\right) \cdot \left(t\_m \cdot t\_m\right)}{\ell \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{\frac{t\_m}{\ell}}{\ell} \cdot t\_m\right) \cdot t\_m\right) \cdot \left(\left(k \cdot k\right) \cdot 2\right)}\\
\end{array}
\end{array}
if (/.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t #s(literal 3 binary64)) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 k t) #s(literal 2 binary64))) #s(literal 1 binary64)))) < 9.99999999999999952e246Initial program 81.6%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6462.8
Applied rewrites62.8%
Applied rewrites62.0%
Applied rewrites62.9%
Applied rewrites71.8%
if 9.99999999999999952e246 < (/.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t #s(literal 3 binary64)) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 k t) #s(literal 2 binary64))) #s(literal 1 binary64)))) Initial program 27.6%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6445.0
Applied rewrites45.0%
Applied rewrites42.1%
Applied rewrites56.6%
Final simplification64.3%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<=
(*
(* (* (/ (pow t_m 3.0) (* l l)) (sin k)) (tan k))
(- (+ 1.0 (pow (/ k t_m) 2.0)) -1.0))
INFINITY)
(/ 2.0 (* (* (/ (* t_m t_m) l) (/ (* k 2.0) l)) (* k t_m)))
(/ 2.0 (* (* (* (/ t_m l) t_m) (/ t_m l)) (* (* k k) 2.0))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (((((pow(t_m, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t_m), 2.0)) - -1.0)) <= ((double) INFINITY)) {
tmp = 2.0 / ((((t_m * t_m) / l) * ((k * 2.0) / l)) * (k * t_m));
} else {
tmp = 2.0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0));
}
return t_s * tmp;
}
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (((((Math.pow(t_m, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t_m), 2.0)) - -1.0)) <= Double.POSITIVE_INFINITY) {
tmp = 2.0 / ((((t_m * t_m) / l) * ((k * 2.0) / l)) * (k * t_m));
} else {
tmp = 2.0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if ((((math.pow(t_m, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t_m), 2.0)) - -1.0)) <= math.inf: tmp = 2.0 / ((((t_m * t_m) / l) * ((k * 2.0) / l)) * (k * t_m)) else: tmp = 2.0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (Float64(Float64(Float64(Float64((t_m ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t_m) ^ 2.0)) - -1.0)) <= Inf) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(t_m * t_m) / l) * Float64(Float64(k * 2.0) / l)) * Float64(k * t_m))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(t_m / l) * t_m) * Float64(t_m / l)) * Float64(Float64(k * k) * 2.0))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if ((((((t_m ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t_m) ^ 2.0)) - -1.0)) <= Inf) tmp = 2.0 / ((((t_m * t_m) / l) * ((k * 2.0) / l)) * (k * t_m)); else tmp = 2.0 / ((((t_m / l) * t_m) * (t_m / l)) * ((k * k) * 2.0)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[N[(N[(N[(N[(N[Power[t$95$m, 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$95$m), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] - -1.0), $MachinePrecision]), $MachinePrecision], Infinity], N[(2.0 / N[(N[(N[(N[(t$95$m * t$95$m), $MachinePrecision] / l), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(k * t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(t$95$m / l), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;\left(\left(\frac{{t\_m}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t\_m}\right)}^{2}\right) - -1\right) \leq \infty:\\
\;\;\;\;\frac{2}{\left(\frac{t\_m \cdot t\_m}{\ell} \cdot \frac{k \cdot 2}{\ell}\right) \cdot \left(k \cdot t\_m\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{t\_m}{\ell} \cdot t\_m\right) \cdot \frac{t\_m}{\ell}\right) \cdot \left(\left(k \cdot k\right) \cdot 2\right)}\\
\end{array}
\end{array}
if (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t #s(literal 3 binary64)) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 k t) #s(literal 2 binary64))) #s(literal 1 binary64))) < +inf.0Initial program 85.1%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6468.6
Applied rewrites68.6%
Applied rewrites68.0%
Applied rewrites81.1%
Applied rewrites80.5%
if +inf.0 < (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t #s(literal 3 binary64)) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (/.f64 k t) #s(literal 2 binary64))) #s(literal 1 binary64))) Initial program 0.0%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6427.5
Applied rewrites27.5%
Applied rewrites23.5%
Applied rewrites44.9%
Final simplification67.8%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 4.2e-6)
(/ 2.0 (* (* (* (tan k) (sin k)) (pow l -1.0)) (* (* (/ k l) t_m) k)))
(/
2.0
(*
(* (* (+ (pow (/ k t_m) 2.0) 2.0) (tan k)) t_m)
(/ (* (* (/ (sin k) l) t_m) t_m) l))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 4.2e-6) {
tmp = 2.0 / (((tan(k) * sin(k)) * pow(l, -1.0)) * (((k / l) * t_m) * k));
} else {
tmp = 2.0 / ((((pow((k / t_m), 2.0) + 2.0) * tan(k)) * t_m) * ((((sin(k) / l) * t_m) * t_m) / l));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 4.2d-6) then
tmp = 2.0d0 / (((tan(k) * sin(k)) * (l ** (-1.0d0))) * (((k / l) * t_m) * k))
else
tmp = 2.0d0 / ((((((k / t_m) ** 2.0d0) + 2.0d0) * tan(k)) * t_m) * ((((sin(k) / l) * t_m) * t_m) / l))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 4.2e-6) {
tmp = 2.0 / (((Math.tan(k) * Math.sin(k)) * Math.pow(l, -1.0)) * (((k / l) * t_m) * k));
} else {
tmp = 2.0 / ((((Math.pow((k / t_m), 2.0) + 2.0) * Math.tan(k)) * t_m) * ((((Math.sin(k) / l) * t_m) * t_m) / l));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if t_m <= 4.2e-6: tmp = 2.0 / (((math.tan(k) * math.sin(k)) * math.pow(l, -1.0)) * (((k / l) * t_m) * k)) else: tmp = 2.0 / ((((math.pow((k / t_m), 2.0) + 2.0) * math.tan(k)) * t_m) * ((((math.sin(k) / l) * t_m) * t_m) / l)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 4.2e-6) tmp = Float64(2.0 / Float64(Float64(Float64(tan(k) * sin(k)) * (l ^ -1.0)) * Float64(Float64(Float64(k / l) * t_m) * k))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64((Float64(k / t_m) ^ 2.0) + 2.0) * tan(k)) * t_m) * Float64(Float64(Float64(Float64(sin(k) / l) * t_m) * t_m) / l))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (t_m <= 4.2e-6) tmp = 2.0 / (((tan(k) * sin(k)) * (l ^ -1.0)) * (((k / l) * t_m) * k)); else tmp = 2.0 / ((((((k / t_m) ^ 2.0) + 2.0) * tan(k)) * t_m) * ((((sin(k) / l) * t_m) * t_m) / l)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 4.2e-6], N[(2.0 / N[(N[(N[(N[Tan[k], $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Power[l, -1.0], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(k / l), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision] + 2.0), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(N[(N[(N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision] * t$95$m), $MachinePrecision] * t$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_m \leq 4.2 \cdot 10^{-6}:\\
\;\;\;\;\frac{2}{\left(\left(\tan k \cdot \sin k\right) \cdot {\ell}^{-1}\right) \cdot \left(\left(\frac{k}{\ell} \cdot t\_m\right) \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left({\left(\frac{k}{t\_m}\right)}^{2} + 2\right) \cdot \tan k\right) \cdot t\_m\right) \cdot \frac{\left(\frac{\sin k}{\ell} \cdot t\_m\right) \cdot t\_m}{\ell}}\\
\end{array}
\end{array}
if t < 4.1999999999999996e-6Initial program 53.6%
Taylor expanded in t around 0
associate-*r*N/A
times-fracN/A
*-commutativeN/A
associate-*r/N/A
lower-*.f64N/A
associate-*r/N/A
*-commutativeN/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
*-commutativeN/A
associate-/l*N/A
lower-*.f64N/A
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
lower-/.f64N/A
Applied rewrites73.6%
Applied rewrites83.4%
Applied rewrites83.4%
if 4.1999999999999996e-6 < t Initial program 58.0%
lift-/.f64N/A
lift-pow.f64N/A
pow-to-expN/A
lift-*.f64N/A
pow2N/A
pow-to-expN/A
div-expN/A
lower-exp.f64N/A
lower--.f64N/A
lower-*.f64N/A
lower-log.f64N/A
lower-*.f64N/A
lower-log.f6441.8
Applied rewrites41.8%
Applied rewrites87.4%
lift-*.f64N/A
lift-/.f64N/A
associate-*r/N/A
lower-/.f64N/A
lower-*.f6487.4
Applied rewrites87.4%
Final simplification84.5%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 4.2e-6)
(/ 2.0 (* (* (* (tan k) (sin k)) (pow l -1.0)) (* (* (/ k l) t_m) k)))
(/
2.0
(*
(* (* (+ (pow (/ k t_m) 2.0) 2.0) (tan k)) t_m)
(* (/ t_m l) (* (/ (sin k) l) t_m)))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 4.2e-6) {
tmp = 2.0 / (((tan(k) * sin(k)) * pow(l, -1.0)) * (((k / l) * t_m) * k));
} else {
tmp = 2.0 / ((((pow((k / t_m), 2.0) + 2.0) * tan(k)) * t_m) * ((t_m / l) * ((sin(k) / l) * t_m)));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 4.2d-6) then
tmp = 2.0d0 / (((tan(k) * sin(k)) * (l ** (-1.0d0))) * (((k / l) * t_m) * k))
else
tmp = 2.0d0 / ((((((k / t_m) ** 2.0d0) + 2.0d0) * tan(k)) * t_m) * ((t_m / l) * ((sin(k) / l) * t_m)))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 4.2e-6) {
tmp = 2.0 / (((Math.tan(k) * Math.sin(k)) * Math.pow(l, -1.0)) * (((k / l) * t_m) * k));
} else {
tmp = 2.0 / ((((Math.pow((k / t_m), 2.0) + 2.0) * Math.tan(k)) * t_m) * ((t_m / l) * ((Math.sin(k) / l) * t_m)));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if t_m <= 4.2e-6: tmp = 2.0 / (((math.tan(k) * math.sin(k)) * math.pow(l, -1.0)) * (((k / l) * t_m) * k)) else: tmp = 2.0 / ((((math.pow((k / t_m), 2.0) + 2.0) * math.tan(k)) * t_m) * ((t_m / l) * ((math.sin(k) / l) * t_m))) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 4.2e-6) tmp = Float64(2.0 / Float64(Float64(Float64(tan(k) * sin(k)) * (l ^ -1.0)) * Float64(Float64(Float64(k / l) * t_m) * k))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64((Float64(k / t_m) ^ 2.0) + 2.0) * tan(k)) * t_m) * Float64(Float64(t_m / l) * Float64(Float64(sin(k) / l) * t_m)))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (t_m <= 4.2e-6) tmp = 2.0 / (((tan(k) * sin(k)) * (l ^ -1.0)) * (((k / l) * t_m) * k)); else tmp = 2.0 / ((((((k / t_m) ^ 2.0) + 2.0) * tan(k)) * t_m) * ((t_m / l) * ((sin(k) / l) * t_m))); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 4.2e-6], N[(2.0 / N[(N[(N[(N[Tan[k], $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Power[l, -1.0], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(k / l), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision] + 2.0), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision] * t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_m \leq 4.2 \cdot 10^{-6}:\\
\;\;\;\;\frac{2}{\left(\left(\tan k \cdot \sin k\right) \cdot {\ell}^{-1}\right) \cdot \left(\left(\frac{k}{\ell} \cdot t\_m\right) \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left({\left(\frac{k}{t\_m}\right)}^{2} + 2\right) \cdot \tan k\right) \cdot t\_m\right) \cdot \left(\frac{t\_m}{\ell} \cdot \left(\frac{\sin k}{\ell} \cdot t\_m\right)\right)}\\
\end{array}
\end{array}
if t < 4.1999999999999996e-6Initial program 53.6%
Taylor expanded in t around 0
associate-*r*N/A
times-fracN/A
*-commutativeN/A
associate-*r/N/A
lower-*.f64N/A
associate-*r/N/A
*-commutativeN/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
*-commutativeN/A
associate-/l*N/A
lower-*.f64N/A
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
lower-/.f64N/A
Applied rewrites73.6%
Applied rewrites83.4%
Applied rewrites83.4%
if 4.1999999999999996e-6 < t Initial program 58.0%
lift-/.f64N/A
lift-pow.f64N/A
pow-to-expN/A
lift-*.f64N/A
pow2N/A
pow-to-expN/A
div-expN/A
lower-exp.f64N/A
lower--.f64N/A
lower-*.f64N/A
lower-log.f64N/A
lower-*.f64N/A
lower-log.f6441.8
Applied rewrites41.8%
Applied rewrites87.4%
Final simplification84.5%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 4.2e-6)
(/ 2.0 (* (* (* (tan k) (sin k)) (pow l -1.0)) (* (* (/ k l) t_m) k)))
(/
2.0
(*
(*
(* (+ (pow (/ k t_m) 2.0) 2.0) (tan k))
(* (/ t_m l) (* (/ (sin k) l) t_m)))
t_m)))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 4.2e-6) {
tmp = 2.0 / (((tan(k) * sin(k)) * pow(l, -1.0)) * (((k / l) * t_m) * k));
} else {
tmp = 2.0 / ((((pow((k / t_m), 2.0) + 2.0) * tan(k)) * ((t_m / l) * ((sin(k) / l) * t_m))) * t_m);
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 4.2d-6) then
tmp = 2.0d0 / (((tan(k) * sin(k)) * (l ** (-1.0d0))) * (((k / l) * t_m) * k))
else
tmp = 2.0d0 / ((((((k / t_m) ** 2.0d0) + 2.0d0) * tan(k)) * ((t_m / l) * ((sin(k) / l) * t_m))) * t_m)
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 4.2e-6) {
tmp = 2.0 / (((Math.tan(k) * Math.sin(k)) * Math.pow(l, -1.0)) * (((k / l) * t_m) * k));
} else {
tmp = 2.0 / ((((Math.pow((k / t_m), 2.0) + 2.0) * Math.tan(k)) * ((t_m / l) * ((Math.sin(k) / l) * t_m))) * t_m);
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if t_m <= 4.2e-6: tmp = 2.0 / (((math.tan(k) * math.sin(k)) * math.pow(l, -1.0)) * (((k / l) * t_m) * k)) else: tmp = 2.0 / ((((math.pow((k / t_m), 2.0) + 2.0) * math.tan(k)) * ((t_m / l) * ((math.sin(k) / l) * t_m))) * t_m) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 4.2e-6) tmp = Float64(2.0 / Float64(Float64(Float64(tan(k) * sin(k)) * (l ^ -1.0)) * Float64(Float64(Float64(k / l) * t_m) * k))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64((Float64(k / t_m) ^ 2.0) + 2.0) * tan(k)) * Float64(Float64(t_m / l) * Float64(Float64(sin(k) / l) * t_m))) * t_m)); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (t_m <= 4.2e-6) tmp = 2.0 / (((tan(k) * sin(k)) * (l ^ -1.0)) * (((k / l) * t_m) * k)); else tmp = 2.0 / ((((((k / t_m) ^ 2.0) + 2.0) * tan(k)) * ((t_m / l) * ((sin(k) / l) * t_m))) * t_m); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 4.2e-6], N[(2.0 / N[(N[(N[(N[Tan[k], $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Power[l, -1.0], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(k / l), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[Power[N[(k / t$95$m), $MachinePrecision], 2.0], $MachinePrecision] + 2.0), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] * N[(N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision] * t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * t$95$m), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_m \leq 4.2 \cdot 10^{-6}:\\
\;\;\;\;\frac{2}{\left(\left(\tan k \cdot \sin k\right) \cdot {\ell}^{-1}\right) \cdot \left(\left(\frac{k}{\ell} \cdot t\_m\right) \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left({\left(\frac{k}{t\_m}\right)}^{2} + 2\right) \cdot \tan k\right) \cdot \left(\frac{t\_m}{\ell} \cdot \left(\frac{\sin k}{\ell} \cdot t\_m\right)\right)\right) \cdot t\_m}\\
\end{array}
\end{array}
if t < 4.1999999999999996e-6Initial program 53.6%
Taylor expanded in t around 0
associate-*r*N/A
times-fracN/A
*-commutativeN/A
associate-*r/N/A
lower-*.f64N/A
associate-*r/N/A
*-commutativeN/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
*-commutativeN/A
associate-/l*N/A
lower-*.f64N/A
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
lower-/.f64N/A
Applied rewrites73.6%
Applied rewrites83.4%
Applied rewrites83.4%
if 4.1999999999999996e-6 < t Initial program 58.0%
lift-/.f64N/A
lift-pow.f64N/A
pow-to-expN/A
lift-*.f64N/A
pow2N/A
pow-to-expN/A
div-expN/A
lower-exp.f64N/A
lower--.f64N/A
lower-*.f64N/A
lower-log.f64N/A
lower-*.f64N/A
lower-log.f6441.8
Applied rewrites41.8%
Applied rewrites87.3%
Final simplification84.5%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 4.8e-18)
(/ 2.0 (* (/ (* k t_m) (/ l t_m)) (/ (* k 2.0) (/ l t_m))))
(/ 2.0 (/ (* (* (tan k) (sin k)) (* (* (/ k l) t_m) k)) l)))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 4.8e-18) {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
} else {
tmp = 2.0 / (((tan(k) * sin(k)) * (((k / l) * t_m) * k)) / l);
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 4.8d-18) then
tmp = 2.0d0 / (((k * t_m) / (l / t_m)) * ((k * 2.0d0) / (l / t_m)))
else
tmp = 2.0d0 / (((tan(k) * sin(k)) * (((k / l) * t_m) * k)) / l)
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 4.8e-18) {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
} else {
tmp = 2.0 / (((Math.tan(k) * Math.sin(k)) * (((k / l) * t_m) * k)) / l);
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 4.8e-18: tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))) else: tmp = 2.0 / (((math.tan(k) * math.sin(k)) * (((k / l) * t_m) * k)) / l) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 4.8e-18) tmp = Float64(2.0 / Float64(Float64(Float64(k * t_m) / Float64(l / t_m)) * Float64(Float64(k * 2.0) / Float64(l / t_m)))); else tmp = Float64(2.0 / Float64(Float64(Float64(tan(k) * sin(k)) * Float64(Float64(Float64(k / l) * t_m) * k)) / l)); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 4.8e-18) tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))); else tmp = 2.0 / (((tan(k) * sin(k)) * (((k / l) * t_m) * k)) / l); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 4.8e-18], N[(2.0 / N[(N[(N[(k * t$95$m), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[Tan[k], $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(k / l), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 4.8 \cdot 10^{-18}:\\
\;\;\;\;\frac{2}{\frac{k \cdot t\_m}{\frac{\ell}{t\_m}} \cdot \frac{k \cdot 2}{\frac{\ell}{t\_m}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\tan k \cdot \sin k\right) \cdot \left(\left(\frac{k}{\ell} \cdot t\_m\right) \cdot k\right)}{\ell}}\\
\end{array}
\end{array}
if k < 4.79999999999999988e-18Initial program 56.3%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6455.2
Applied rewrites55.2%
Applied rewrites52.9%
Applied rewrites77.4%
if 4.79999999999999988e-18 < k Initial program 50.7%
Taylor expanded in t around 0
associate-*r*N/A
times-fracN/A
*-commutativeN/A
associate-*r/N/A
lower-*.f64N/A
associate-*r/N/A
*-commutativeN/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
*-commutativeN/A
associate-/l*N/A
lower-*.f64N/A
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
lower-/.f64N/A
Applied rewrites72.2%
Applied rewrites85.3%
Applied rewrites85.3%
Final simplification79.5%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 4.8e-18)
(/ 2.0 (* (/ (* k t_m) (/ l t_m)) (/ (* k 2.0) (/ l t_m))))
(/ 2.0 (* (* (/ (sin k) l) (tan k)) (* (* (/ k l) t_m) k))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 4.8e-18) {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
} else {
tmp = 2.0 / (((sin(k) / l) * tan(k)) * (((k / l) * t_m) * k));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 4.8d-18) then
tmp = 2.0d0 / (((k * t_m) / (l / t_m)) * ((k * 2.0d0) / (l / t_m)))
else
tmp = 2.0d0 / (((sin(k) / l) * tan(k)) * (((k / l) * t_m) * k))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 4.8e-18) {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
} else {
tmp = 2.0 / (((Math.sin(k) / l) * Math.tan(k)) * (((k / l) * t_m) * k));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 4.8e-18: tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))) else: tmp = 2.0 / (((math.sin(k) / l) * math.tan(k)) * (((k / l) * t_m) * k)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 4.8e-18) tmp = Float64(2.0 / Float64(Float64(Float64(k * t_m) / Float64(l / t_m)) * Float64(Float64(k * 2.0) / Float64(l / t_m)))); else tmp = Float64(2.0 / Float64(Float64(Float64(sin(k) / l) * tan(k)) * Float64(Float64(Float64(k / l) * t_m) * k))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 4.8e-18) tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))); else tmp = 2.0 / (((sin(k) / l) * tan(k)) * (((k / l) * t_m) * k)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 4.8e-18], N[(2.0 / N[(N[(N[(k * t$95$m), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(N[(k / l), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 4.8 \cdot 10^{-18}:\\
\;\;\;\;\frac{2}{\frac{k \cdot t\_m}{\frac{\ell}{t\_m}} \cdot \frac{k \cdot 2}{\frac{\ell}{t\_m}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\frac{\sin k}{\ell} \cdot \tan k\right) \cdot \left(\left(\frac{k}{\ell} \cdot t\_m\right) \cdot k\right)}\\
\end{array}
\end{array}
if k < 4.79999999999999988e-18Initial program 56.3%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6455.2
Applied rewrites55.2%
Applied rewrites52.9%
Applied rewrites77.4%
if 4.79999999999999988e-18 < k Initial program 50.7%
Taylor expanded in t around 0
associate-*r*N/A
times-fracN/A
*-commutativeN/A
associate-*r/N/A
lower-*.f64N/A
associate-*r/N/A
*-commutativeN/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
*-commutativeN/A
associate-/l*N/A
lower-*.f64N/A
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
lower-/.f64N/A
Applied rewrites72.2%
Applied rewrites85.3%
Applied rewrites85.2%
Final simplification79.4%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 3.3e-18)
(/ 2.0 (* (/ (* k t_m) (/ l t_m)) (/ (* k 2.0) (/ l t_m))))
(/ 2.0 (* (* (* (/ (/ t_m l) l) k) (* (tan k) (sin k))) k)))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.3e-18) {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
} else {
tmp = 2.0 / (((((t_m / l) / l) * k) * (tan(k) * sin(k))) * k);
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.3d-18) then
tmp = 2.0d0 / (((k * t_m) / (l / t_m)) * ((k * 2.0d0) / (l / t_m)))
else
tmp = 2.0d0 / (((((t_m / l) / l) * k) * (tan(k) * sin(k))) * k)
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.3e-18) {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
} else {
tmp = 2.0 / (((((t_m / l) / l) * k) * (Math.tan(k) * Math.sin(k))) * k);
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 3.3e-18: tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))) else: tmp = 2.0 / (((((t_m / l) / l) * k) * (math.tan(k) * math.sin(k))) * k) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 3.3e-18) tmp = Float64(2.0 / Float64(Float64(Float64(k * t_m) / Float64(l / t_m)) * Float64(Float64(k * 2.0) / Float64(l / t_m)))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(t_m / l) / l) * k) * Float64(tan(k) * sin(k))) * k)); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 3.3e-18) tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))); else tmp = 2.0 / (((((t_m / l) / l) * k) * (tan(k) * sin(k))) * k); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 3.3e-18], N[(2.0 / N[(N[(N[(k * t$95$m), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(t$95$m / l), $MachinePrecision] / l), $MachinePrecision] * k), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 3.3 \cdot 10^{-18}:\\
\;\;\;\;\frac{2}{\frac{k \cdot t\_m}{\frac{\ell}{t\_m}} \cdot \frac{k \cdot 2}{\frac{\ell}{t\_m}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{\frac{t\_m}{\ell}}{\ell} \cdot k\right) \cdot \left(\tan k \cdot \sin k\right)\right) \cdot k}\\
\end{array}
\end{array}
if k < 3.3000000000000002e-18Initial program 56.3%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6455.2
Applied rewrites55.2%
Applied rewrites52.9%
Applied rewrites77.4%
if 3.3000000000000002e-18 < k Initial program 50.7%
Taylor expanded in t around 0
associate-*r*N/A
times-fracN/A
*-commutativeN/A
associate-*r/N/A
lower-*.f64N/A
associate-*r/N/A
*-commutativeN/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
*-commutativeN/A
associate-/l*N/A
lower-*.f64N/A
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
lower-/.f64N/A
Applied rewrites72.2%
Applied rewrites85.3%
Applied rewrites68.8%
Final simplification75.2%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= t_m 6e-35)
(/ 2.0 (* (/ (pow k 4.0) l) (/ t_m l)))
(/ 2.0 (* (/ (* k t_m) (/ l t_m)) (/ (* k 2.0) (/ l t_m)))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 6e-35) {
tmp = 2.0 / ((pow(k, 4.0) / l) * (t_m / l));
} else {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t_m <= 6d-35) then
tmp = 2.0d0 / (((k ** 4.0d0) / l) * (t_m / l))
else
tmp = 2.0d0 / (((k * t_m) / (l / t_m)) * ((k * 2.0d0) / (l / t_m)))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (t_m <= 6e-35) {
tmp = 2.0 / ((Math.pow(k, 4.0) / l) * (t_m / l));
} else {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if t_m <= 6e-35: tmp = 2.0 / ((math.pow(k, 4.0) / l) * (t_m / l)) else: tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (t_m <= 6e-35) tmp = Float64(2.0 / Float64(Float64((k ^ 4.0) / l) * Float64(t_m / l))); else tmp = Float64(2.0 / Float64(Float64(Float64(k * t_m) / Float64(l / t_m)) * Float64(Float64(k * 2.0) / Float64(l / t_m)))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (t_m <= 6e-35) tmp = 2.0 / (((k ^ 4.0) / l) * (t_m / l)); else tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[t$95$m, 6e-35], N[(2.0 / N[(N[(N[Power[k, 4.0], $MachinePrecision] / l), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(k * t$95$m), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;t\_m \leq 6 \cdot 10^{-35}:\\
\;\;\;\;\frac{2}{\frac{{k}^{4}}{\ell} \cdot \frac{t\_m}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{k \cdot t\_m}{\frac{\ell}{t\_m}} \cdot \frac{k \cdot 2}{\frac{\ell}{t\_m}}}\\
\end{array}
\end{array}
if t < 5.99999999999999978e-35Initial program 53.1%
Taylor expanded in t around 0
associate-*r*N/A
times-fracN/A
*-commutativeN/A
associate-*r/N/A
lower-*.f64N/A
associate-*r/N/A
*-commutativeN/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
*-commutativeN/A
associate-/l*N/A
lower-*.f64N/A
lower-/.f64N/A
unpow2N/A
lower-*.f64N/A
lower-/.f64N/A
Applied rewrites73.2%
Taylor expanded in k around 0
Applied rewrites61.6%
if 5.99999999999999978e-35 < t Initial program 58.8%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6450.8
Applied rewrites50.8%
Applied rewrites47.7%
Applied rewrites78.6%
Final simplification66.7%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 2e-5)
(/ 2.0 (* (/ (* k t_m) (/ l t_m)) (/ (* k 2.0) (/ l t_m))))
(/ 2.0 (* (* (* (* (* k k) 2.0) t_m) (/ (/ t_m l) l)) t_m)))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 2e-5) {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * ((t_m / l) / l)) * t_m);
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 2d-5) then
tmp = 2.0d0 / (((k * t_m) / (l / t_m)) * ((k * 2.0d0) / (l / t_m)))
else
tmp = 2.0d0 / (((((k * k) * 2.0d0) * t_m) * ((t_m / l) / l)) * t_m)
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 2e-5) {
tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m)));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * ((t_m / l) / l)) * t_m);
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 2e-5: tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))) else: tmp = 2.0 / (((((k * k) * 2.0) * t_m) * ((t_m / l) / l)) * t_m) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 2e-5) tmp = Float64(2.0 / Float64(Float64(Float64(k * t_m) / Float64(l / t_m)) * Float64(Float64(k * 2.0) / Float64(l / t_m)))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * k) * 2.0) * t_m) * Float64(Float64(t_m / l) / l)) * t_m)); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 2e-5) tmp = 2.0 / (((k * t_m) / (l / t_m)) * ((k * 2.0) / (l / t_m))); else tmp = 2.0 / (((((k * k) * 2.0) * t_m) * ((t_m / l) / l)) * t_m); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 2e-5], N[(2.0 / N[(N[(N[(k * t$95$m), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(N[(t$95$m / l), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * t$95$m), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 2 \cdot 10^{-5}:\\
\;\;\;\;\frac{2}{\frac{k \cdot t\_m}{\frac{\ell}{t\_m}} \cdot \frac{k \cdot 2}{\frac{\ell}{t\_m}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left(k \cdot k\right) \cdot 2\right) \cdot t\_m\right) \cdot \frac{\frac{t\_m}{\ell}}{\ell}\right) \cdot t\_m}\\
\end{array}
\end{array}
if k < 2.00000000000000016e-5Initial program 56.7%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6455.2
Applied rewrites55.2%
Applied rewrites52.9%
Applied rewrites77.2%
if 2.00000000000000016e-5 < k Initial program 49.2%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6450.2
Applied rewrites50.2%
Applied rewrites49.8%
Applied rewrites56.3%
Final simplification71.9%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 3.2e-161)
(/ 2.0 (* (* (/ (* k t_m) (/ l t_m)) t_m) (/ (* k 2.0) l)))
(/ 2.0 (* (* (* (* (* k k) 2.0) t_m) (/ t_m l)) (/ t_m l))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.2e-161) {
tmp = 2.0 / ((((k * t_m) / (l / t_m)) * t_m) * ((k * 2.0) / l));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.2d-161) then
tmp = 2.0d0 / ((((k * t_m) / (l / t_m)) * t_m) * ((k * 2.0d0) / l))
else
tmp = 2.0d0 / (((((k * k) * 2.0d0) * t_m) * (t_m / l)) * (t_m / l))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.2e-161) {
tmp = 2.0 / ((((k * t_m) / (l / t_m)) * t_m) * ((k * 2.0) / l));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 3.2e-161: tmp = 2.0 / ((((k * t_m) / (l / t_m)) * t_m) * ((k * 2.0) / l)) else: tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 3.2e-161) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(k * t_m) / Float64(l / t_m)) * t_m) * Float64(Float64(k * 2.0) / l))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * k) * 2.0) * t_m) * Float64(t_m / l)) * Float64(t_m / l))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 3.2e-161) tmp = 2.0 / ((((k * t_m) / (l / t_m)) * t_m) * ((k * 2.0) / l)); else tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 3.2e-161], N[(2.0 / N[(N[(N[(N[(k * t$95$m), $MachinePrecision] / N[(l / t$95$m), $MachinePrecision]), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 3.2 \cdot 10^{-161}:\\
\;\;\;\;\frac{2}{\left(\frac{k \cdot t\_m}{\frac{\ell}{t\_m}} \cdot t\_m\right) \cdot \frac{k \cdot 2}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left(k \cdot k\right) \cdot 2\right) \cdot t\_m\right) \cdot \frac{t\_m}{\ell}\right) \cdot \frac{t\_m}{\ell}}\\
\end{array}
\end{array}
if k < 3.19999999999999985e-161Initial program 56.2%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6452.2
Applied rewrites52.2%
Applied rewrites49.4%
Applied rewrites69.8%
Applied rewrites72.2%
if 3.19999999999999985e-161 < k Initial program 52.7%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6456.6
Applied rewrites56.6%
Applied rewrites56.2%
Applied rewrites70.0%
Final simplification71.3%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 3.15e-161)
(/ 2.0 (* (* (* t_m t_m) (/ (* k t_m) l)) (/ (* k 2.0) l)))
(/ 2.0 (* (* (* (* (* k k) 2.0) t_m) (/ t_m l)) (/ t_m l))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.15e-161) {
tmp = 2.0 / (((t_m * t_m) * ((k * t_m) / l)) * ((k * 2.0) / l));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.15d-161) then
tmp = 2.0d0 / (((t_m * t_m) * ((k * t_m) / l)) * ((k * 2.0d0) / l))
else
tmp = 2.0d0 / (((((k * k) * 2.0d0) * t_m) * (t_m / l)) * (t_m / l))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.15e-161) {
tmp = 2.0 / (((t_m * t_m) * ((k * t_m) / l)) * ((k * 2.0) / l));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 3.15e-161: tmp = 2.0 / (((t_m * t_m) * ((k * t_m) / l)) * ((k * 2.0) / l)) else: tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 3.15e-161) tmp = Float64(2.0 / Float64(Float64(Float64(t_m * t_m) * Float64(Float64(k * t_m) / l)) * Float64(Float64(k * 2.0) / l))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * k) * 2.0) * t_m) * Float64(t_m / l)) * Float64(t_m / l))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 3.15e-161) tmp = 2.0 / (((t_m * t_m) * ((k * t_m) / l)) * ((k * 2.0) / l)); else tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 3.15e-161], N[(2.0 / N[(N[(N[(t$95$m * t$95$m), $MachinePrecision] * N[(N[(k * t$95$m), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 3.15 \cdot 10^{-161}:\\
\;\;\;\;\frac{2}{\left(\left(t\_m \cdot t\_m\right) \cdot \frac{k \cdot t\_m}{\ell}\right) \cdot \frac{k \cdot 2}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left(k \cdot k\right) \cdot 2\right) \cdot t\_m\right) \cdot \frac{t\_m}{\ell}\right) \cdot \frac{t\_m}{\ell}}\\
\end{array}
\end{array}
if k < 3.1500000000000001e-161Initial program 56.2%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6452.2
Applied rewrites52.2%
Applied rewrites49.4%
Applied rewrites69.8%
Applied rewrites70.3%
if 3.1500000000000001e-161 < k Initial program 52.7%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6456.6
Applied rewrites56.6%
Applied rewrites56.2%
Applied rewrites70.0%
Final simplification70.1%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 3.2e-161)
(/ 2.0 (* (* (* (* k t_m) t_m) (/ t_m l)) (/ (* k 2.0) l)))
(/ 2.0 (* (* (* (* (* k k) 2.0) t_m) (/ t_m l)) (/ t_m l))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.2e-161) {
tmp = 2.0 / ((((k * t_m) * t_m) * (t_m / l)) * ((k * 2.0) / l));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.2d-161) then
tmp = 2.0d0 / ((((k * t_m) * t_m) * (t_m / l)) * ((k * 2.0d0) / l))
else
tmp = 2.0d0 / (((((k * k) * 2.0d0) * t_m) * (t_m / l)) * (t_m / l))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.2e-161) {
tmp = 2.0 / ((((k * t_m) * t_m) * (t_m / l)) * ((k * 2.0) / l));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 3.2e-161: tmp = 2.0 / ((((k * t_m) * t_m) * (t_m / l)) * ((k * 2.0) / l)) else: tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 3.2e-161) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(k * t_m) * t_m) * Float64(t_m / l)) * Float64(Float64(k * 2.0) / l))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * k) * 2.0) * t_m) * Float64(t_m / l)) * Float64(t_m / l))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 3.2e-161) tmp = 2.0 / ((((k * t_m) * t_m) * (t_m / l)) * ((k * 2.0) / l)); else tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 3.2e-161], N[(2.0 / N[(N[(N[(N[(k * t$95$m), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 3.2 \cdot 10^{-161}:\\
\;\;\;\;\frac{2}{\left(\left(\left(k \cdot t\_m\right) \cdot t\_m\right) \cdot \frac{t\_m}{\ell}\right) \cdot \frac{k \cdot 2}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left(k \cdot k\right) \cdot 2\right) \cdot t\_m\right) \cdot \frac{t\_m}{\ell}\right) \cdot \frac{t\_m}{\ell}}\\
\end{array}
\end{array}
if k < 3.19999999999999985e-161Initial program 56.2%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6452.2
Applied rewrites52.2%
Applied rewrites49.4%
Applied rewrites69.8%
Applied rewrites71.0%
if 3.19999999999999985e-161 < k Initial program 52.7%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6456.6
Applied rewrites56.6%
Applied rewrites56.2%
Applied rewrites70.0%
Final simplification70.6%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 3.15e-161)
(/ 2.0 (* (* (/ (* t_m t_m) l) (/ (* k 2.0) l)) (* k t_m)))
(/ 2.0 (* (* (* (* (* k k) 2.0) t_m) (/ t_m l)) (/ t_m l))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.15e-161) {
tmp = 2.0 / ((((t_m * t_m) / l) * ((k * 2.0) / l)) * (k * t_m));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.15d-161) then
tmp = 2.0d0 / ((((t_m * t_m) / l) * ((k * 2.0d0) / l)) * (k * t_m))
else
tmp = 2.0d0 / (((((k * k) * 2.0d0) * t_m) * (t_m / l)) * (t_m / l))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.15e-161) {
tmp = 2.0 / ((((t_m * t_m) / l) * ((k * 2.0) / l)) * (k * t_m));
} else {
tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 3.15e-161: tmp = 2.0 / ((((t_m * t_m) / l) * ((k * 2.0) / l)) * (k * t_m)) else: tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 3.15e-161) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(t_m * t_m) / l) * Float64(Float64(k * 2.0) / l)) * Float64(k * t_m))); else tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * k) * 2.0) * t_m) * Float64(t_m / l)) * Float64(t_m / l))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 3.15e-161) tmp = 2.0 / ((((t_m * t_m) / l) * ((k * 2.0) / l)) * (k * t_m)); else tmp = 2.0 / (((((k * k) * 2.0) * t_m) * (t_m / l)) * (t_m / l)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 3.15e-161], N[(2.0 / N[(N[(N[(N[(t$95$m * t$95$m), $MachinePrecision] / l), $MachinePrecision] * N[(N[(k * 2.0), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(k * t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 3.15 \cdot 10^{-161}:\\
\;\;\;\;\frac{2}{\left(\frac{t\_m \cdot t\_m}{\ell} \cdot \frac{k \cdot 2}{\ell}\right) \cdot \left(k \cdot t\_m\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left(k \cdot k\right) \cdot 2\right) \cdot t\_m\right) \cdot \frac{t\_m}{\ell}\right) \cdot \frac{t\_m}{\ell}}\\
\end{array}
\end{array}
if k < 3.1500000000000001e-161Initial program 56.2%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6452.2
Applied rewrites52.2%
Applied rewrites49.4%
Applied rewrites69.8%
Applied rewrites67.8%
if 3.1500000000000001e-161 < k Initial program 52.7%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6456.6
Applied rewrites56.6%
Applied rewrites56.2%
Applied rewrites70.0%
Final simplification68.7%
t\_m = (fabs.f64 t)
t\_s = (copysign.f64 #s(literal 1 binary64) t)
(FPCore (t_s t_m l k)
:precision binary64
(*
t_s
(if (<= k 3.5e-161)
(/ 2.0 (/ (* (* (* (* k 2.0) t_m) k) (* t_m t_m)) (* l l)))
(/ 2.0 (* (/ t_m (* l l)) (* (* (* (* k k) 2.0) t_m) t_m))))))t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.5e-161) {
tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l));
} else {
tmp = 2.0 / ((t_m / (l * l)) * ((((k * k) * 2.0) * t_m) * t_m));
}
return t_s * tmp;
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 3.5d-161) then
tmp = 2.0d0 / (((((k * 2.0d0) * t_m) * k) * (t_m * t_m)) / (l * l))
else
tmp = 2.0d0 / ((t_m / (l * l)) * ((((k * k) * 2.0d0) * t_m) * t_m))
end if
code = t_s * tmp
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
double tmp;
if (k <= 3.5e-161) {
tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l));
} else {
tmp = 2.0 / ((t_m / (l * l)) * ((((k * k) * 2.0) * t_m) * t_m));
}
return t_s * tmp;
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): tmp = 0 if k <= 3.5e-161: tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l)) else: tmp = 2.0 / ((t_m / (l * l)) * ((((k * k) * 2.0) * t_m) * t_m)) return t_s * tmp
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) tmp = 0.0 if (k <= 3.5e-161) tmp = Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * 2.0) * t_m) * k) * Float64(t_m * t_m)) / Float64(l * l))); else tmp = Float64(2.0 / Float64(Float64(t_m / Float64(l * l)) * Float64(Float64(Float64(Float64(k * k) * 2.0) * t_m) * t_m))); end return Float64(t_s * tmp) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp_2 = code(t_s, t_m, l, k) tmp = 0.0; if (k <= 3.5e-161) tmp = 2.0 / (((((k * 2.0) * t_m) * k) * (t_m * t_m)) / (l * l)); else tmp = 2.0 / ((t_m / (l * l)) * ((((k * k) * 2.0) * t_m) * t_m)); end tmp_2 = t_s * tmp; end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * If[LessEqual[k, 3.5e-161], N[(2.0 / N[(N[(N[(N[(N[(k * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * k), $MachinePrecision] * N[(t$95$m * t$95$m), $MachinePrecision]), $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t$95$m / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[(N[(N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \begin{array}{l}
\mathbf{if}\;k \leq 3.5 \cdot 10^{-161}:\\
\;\;\;\;\frac{2}{\frac{\left(\left(\left(k \cdot 2\right) \cdot t\_m\right) \cdot k\right) \cdot \left(t\_m \cdot t\_m\right)}{\ell \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t\_m}{\ell \cdot \ell} \cdot \left(\left(\left(\left(k \cdot k\right) \cdot 2\right) \cdot t\_m\right) \cdot t\_m\right)}\\
\end{array}
\end{array}
if k < 3.5000000000000002e-161Initial program 56.2%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6452.2
Applied rewrites52.2%
Applied rewrites49.4%
Applied rewrites48.9%
Applied rewrites56.5%
if 3.5000000000000002e-161 < k Initial program 52.7%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6456.6
Applied rewrites56.6%
Applied rewrites56.2%
Applied rewrites63.1%
Applied rewrites60.8%
Final simplification58.2%
t\_m = (fabs.f64 t) t\_s = (copysign.f64 #s(literal 1 binary64) t) (FPCore (t_s t_m l k) :precision binary64 (* t_s (/ 2.0 (* (/ t_m (* l l)) (* (* (* (* k k) 2.0) t_m) t_m)))))
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((t_m / (l * l)) * ((((k * k) * 2.0) * t_m) * t_m)));
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
code = t_s * (2.0d0 / ((t_m / (l * l)) * ((((k * k) * 2.0d0) * t_m) * t_m)))
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((t_m / (l * l)) * ((((k * k) * 2.0) * t_m) * t_m)));
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): return t_s * (2.0 / ((t_m / (l * l)) * ((((k * k) * 2.0) * t_m) * t_m)))
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) return Float64(t_s * Float64(2.0 / Float64(Float64(t_m / Float64(l * l)) * Float64(Float64(Float64(Float64(k * k) * 2.0) * t_m) * t_m)))) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k) tmp = t_s * (2.0 / ((t_m / (l * l)) * ((((k * k) * 2.0) * t_m) * t_m))); end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(2.0 / N[(N[(t$95$m / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[(N[(N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] * t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \frac{2}{\frac{t\_m}{\ell \cdot \ell} \cdot \left(\left(\left(\left(k \cdot k\right) \cdot 2\right) \cdot t\_m\right) \cdot t\_m\right)}
\end{array}
Initial program 54.8%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6454.0
Applied rewrites54.0%
Applied rewrites52.2%
Applied rewrites67.1%
Applied rewrites55.3%
Final simplification55.3%
t\_m = (fabs.f64 t) t\_s = (copysign.f64 #s(literal 1 binary64) t) (FPCore (t_s t_m l k) :precision binary64 (* t_s (/ 2.0 (* (/ (* (* (* k k) 2.0) t_m) (* l l)) (* t_m t_m)))))
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / (((((k * k) * 2.0) * t_m) / (l * l)) * (t_m * t_m)));
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
code = t_s * (2.0d0 / (((((k * k) * 2.0d0) * t_m) / (l * l)) * (t_m * t_m)))
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / (((((k * k) * 2.0) * t_m) / (l * l)) * (t_m * t_m)));
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): return t_s * (2.0 / (((((k * k) * 2.0) * t_m) / (l * l)) * (t_m * t_m)))
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) return Float64(t_s * Float64(2.0 / Float64(Float64(Float64(Float64(Float64(k * k) * 2.0) * t_m) / Float64(l * l)) * Float64(t_m * t_m)))) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k) tmp = t_s * (2.0 / (((((k * k) * 2.0) * t_m) / (l * l)) * (t_m * t_m))); end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(2.0 / N[(N[(N[(N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision] * t$95$m), $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[(t$95$m * t$95$m), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \frac{2}{\frac{\left(\left(k \cdot k\right) \cdot 2\right) \cdot t\_m}{\ell \cdot \ell} \cdot \left(t\_m \cdot t\_m\right)}
\end{array}
Initial program 54.8%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6454.0
Applied rewrites54.0%
Applied rewrites52.2%
Applied rewrites67.1%
Applied rewrites52.7%
Final simplification52.7%
t\_m = (fabs.f64 t) t\_s = (copysign.f64 #s(literal 1 binary64) t) (FPCore (t_s t_m l k) :precision binary64 (* t_s (/ 2.0 (* (* (/ (* t_m t_m) (* l l)) t_m) (* (* k k) 2.0)))))
t\_m = fabs(t);
t\_s = copysign(1.0, t);
double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((((t_m * t_m) / (l * l)) * t_m) * ((k * k) * 2.0)));
}
t\_m = abs(t)
t\_s = copysign(1.0d0, t)
real(8) function code(t_s, t_m, l, k)
real(8), intent (in) :: t_s
real(8), intent (in) :: t_m
real(8), intent (in) :: l
real(8), intent (in) :: k
code = t_s * (2.0d0 / ((((t_m * t_m) / (l * l)) * t_m) * ((k * k) * 2.0d0)))
end function
t\_m = Math.abs(t);
t\_s = Math.copySign(1.0, t);
public static double code(double t_s, double t_m, double l, double k) {
return t_s * (2.0 / ((((t_m * t_m) / (l * l)) * t_m) * ((k * k) * 2.0)));
}
t\_m = math.fabs(t) t\_s = math.copysign(1.0, t) def code(t_s, t_m, l, k): return t_s * (2.0 / ((((t_m * t_m) / (l * l)) * t_m) * ((k * k) * 2.0)))
t\_m = abs(t) t\_s = copysign(1.0, t) function code(t_s, t_m, l, k) return Float64(t_s * Float64(2.0 / Float64(Float64(Float64(Float64(t_m * t_m) / Float64(l * l)) * t_m) * Float64(Float64(k * k) * 2.0)))) end
t\_m = abs(t); t\_s = sign(t) * abs(1.0); function tmp = code(t_s, t_m, l, k) tmp = t_s * (2.0 / ((((t_m * t_m) / (l * l)) * t_m) * ((k * k) * 2.0))); end
t\_m = N[Abs[t], $MachinePrecision]
t\_s = N[With[{TMP1 = Abs[1.0], TMP2 = Sign[t]}, TMP1 * If[TMP2 == 0, 1, TMP2]], $MachinePrecision]
code[t$95$s_, t$95$m_, l_, k_] := N[(t$95$s * N[(2.0 / N[(N[(N[(N[(t$95$m * t$95$m), $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * t$95$m), $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
t\_m = \left|t\right|
\\
t\_s = \mathsf{copysign}\left(1, t\right)
\\
t\_s \cdot \frac{2}{\left(\frac{t\_m \cdot t\_m}{\ell \cdot \ell} \cdot t\_m\right) \cdot \left(\left(k \cdot k\right) \cdot 2\right)}
\end{array}
Initial program 54.8%
Taylor expanded in k around 0
associate-/l*N/A
associate-*r*N/A
lower-*.f64N/A
lower-*.f64N/A
unpow2N/A
lower-*.f64N/A
unpow2N/A
associate-/r*N/A
lower-/.f64N/A
lower-/.f64N/A
lower-pow.f6454.0
Applied rewrites54.0%
Applied rewrites52.2%
Final simplification52.2%
herbie shell --seed 2024250
(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))))